Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Generated by Sphinx.
- \def\sphinxdocclass{puthesis}
- \documentclass[letterpaper,12pt,english,lof,lot]{puthesis}
- \usepackage[utf8]{inputenc}
- \DeclareUnicodeCharacter{00A0}{\nobreakspace}
- \usepackage{cmap}
- \usepackage{babel}
- \usepackage{longtable}
- \usepackage{multirow}
- \input{preamble._tex}
- \usepackage{sphinx}
- \title{The Sphinx Thesis Resource (sphinxtr)}
- \date{November 19, 2013}
- \release{0.1}
- \author{Jeff Terrace}
- \newcommand{\sphinxlogo}{}
- \renewcommand{\releasename}{Release}
- \makeindex
- \makeatletter
- \def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
- \let\PYG@ul=\relax \let\PYG@tc=\relax%
- \let\PYG@bc=\relax \let\PYG@ff=\relax}
- \def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
- \def\PYG@toks#1+{\ifx\relax#1\empty\else%
- \PYG@tok{#1}\expandafter\PYG@toks\fi}
- \def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
- \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
- \def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
- \expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
- \expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
- \expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
- \expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
- \expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
- \expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
- \expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
- \expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@cs\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\colorbox[rgb]{1.00,0.94,0.94}{\strut ##1}}}
- \expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
- \expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
- \expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.20,0.20,0.20}{##1}}}
- \expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
- \expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
- \expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}}
- \expandafter\def\csname PYG@tok@nl\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}}
- \expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
- \expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}}
- \expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}}
- \expandafter\def\csname PYG@tok@nd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}}
- \expandafter\def\csname PYG@tok@ne\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}}
- \expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}}
- \expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
- \expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}}
- \expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}}
- \expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
- \expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}}
- \expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
- \expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}}
- \expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
- \expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}}
- \expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}}
- \expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}}
- \expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
- \expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
- \expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}}
- \expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}}
- \expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}}
- \def\PYGZbs{\char`\\}
- \def\PYGZus{\char`\_}
- \def\PYGZob{\char`\{}
- \def\PYGZcb{\char`\}}
- \def\PYGZca{\char`\^}
- \def\PYGZam{\char`\&}
- \def\PYGZlt{\char`\<}
- \def\PYGZgt{\char`\>}
- \def\PYGZsh{\char`\#}
- \def\PYGZpc{\char`\%}
- \def\PYGZdl{\char`\$}
- \def\PYGZhy{\char`\-}
- \def\PYGZsq{\char`\'}
- \def\PYGZdq{\char`\"}
- \def\PYGZti{\char`\~}
- % for compatibility with earlier versions
- \def\PYGZat{@}
- \def\PYGZlb{[}
- \def\PYGZrb{]}
- \makeatother
- \begin{document}
- \makefrontmatter
- \phantomsection\label{index_tex::doc}
- \chapter{Introduction}
- \label{ch-intro/index:introduction}\label{ch-intro/index:ch-intro}\label{ch-intro/index::doc}
- Creating a PhD thesis is typically done using LaTeX. This works really well for
- producing a PDF, but a giant PDF file is not a great way to put documents on
- the web. There are solutions that exist to turn latex source files into HTML,
- but in my experience, they tend to produce poor HTML output.
- The \href{http://sphinx.pocoo.org/}{Sphinx} project is a wonderful tool for
- creating portable documents, allowing for output to many different formats.
- Unfortunately, it has many shortcomings when trying to typeset something
- so advanced as a PhD thesis. The aim of this project is to modify Sphinx to
- support all of the needs of a thesis writer. Many of the patches are not
- appropriate for contributing directly to the upstream Sphinx repository, so
- this is instead a separate project.
- This sphinxtr output is available in several formats at:
- \href{http://jterrace.github.com/sphinxtr}{http://jterrace.github.com/sphinxtr}.
- The source code for sphinxtr can be found at:
- \href{https://github.com/jterrace/sphinxtr}{https://github.com/jterrace/sphinxtr}.
- \section{Installation}
- \label{ch-intro/index:installation}
- If you are running the \code{apt} packet manager you can install the requirements
- with the following command:
- \begin{lstlisting}[]
- sudo apt-get install python-setuptools python-virtualenv texlive-full
- \end{lstlisting}
- Otherwise you can maybe find other ways to install the following packages:
- \begin{itemize}
- \item {}
- \href{http://www.python.org/getit/}{Python 2} (preinstalled on most systems)
- \item {}
- \href{https://pypi.python.org/pypi/setuptools/1.1.6\#installation-instructions}{Setuptools}
- (look for the most up to date version)
- \item {}
- \href{http://www.virtualenv.org/en/latest/\#installation}{Virtualenv}
- \item {}
- \href{http://www.tug.org/texlive/quickinstall.html}{Tex Live}
- \end{itemize}
- Now create a virtualenv. This will help you to separate the requirements from
- this project from other Python projects you might have:
- \begin{lstlisting}[]
- virtualenv venv
- source ./venv/bin/activate
- \end{lstlisting}
- \begin{notice}{note}{Note:}
- You can get out of the virtualenv by either closing the terminal or by
- calling \code{deactivate}.
- \end{notice}
- Then install the required Python packages:
- \begin{lstlisting}[]
- pip install -r requirements.txt
- \end{lstlisting}
- \section{Building}
- \label{ch-intro/index:building}
- You need \code{make}. The following targets are supported:
- \begin{description}
- \item[{html}] \leavevmode
- Builds HTML format, separated into sections
- \item[{singlehtml}] \leavevmode
- Builds HTML format on a single page
- \item[{text}] \leavevmode
- Builds text files, separated into sections
- \item[{singletext}] \leavevmode
- Builds a single text file
- \item[{latexpdf}] \leavevmode
- Builds into latex source files and then compiles into a PDF. Requires latex.
- \end{description}
- \section{Changes}
- \label{ch-intro/index:changes}
- The following changes and additions have been made from vanilla Sphinx:
- \begin{itemize}
- \item {}
- A cross-format bibtex bibliography based on sphinx-natbib
- \item {}
- Tables that can go inside figures
- \item {}
- Changed table formatting to look pretty, like booktabs
- \item {}
- Improved alignment in table environment
- \item {}
- Added support for short captions that show up in the ``list of figures'' section
- \item {}
- Changed equation reference formatting from ``(1)'' to ``1''
- \item {}
- Full customization of latex preamble and style file
- \item {}
- Numbered figures
- \item {}
- Numbered section references
- \item {}
- A singletext output that builds into a single text file, similar to singlehtml
- \item {}
- A subfigure environment
- \end{itemize}
- \section{Documents Using sphinxtr}
- \label{ch-intro/index:documents-using-sphinxtr}\begin{itemize}
- \item {}
- \href{http://www.cs.princeton.edu/~jterrace/thesis/}{Jeff Terrace's PhD Thesis}
- \end{itemize}
- \chapter{Typography}
- \label{ch-typography/index:ch-typography}\label{ch-typography/index::doc}\label{ch-typography/index:typography}
- This chapter has typography stuff. This also shows how to have a toctree inside
- a chapter.
- \section{Headings}
- \label{ch-typography/headings::doc}\label{ch-typography/headings:headings}
- The title of this chapter, ``Typography'', is the first heading level. This
- section, ``Headings'', is the second level.
- \subsection{Third-level}
- \label{ch-typography/headings:third-level}
- The third level heading. You probably shouldn't go beyond this because it just
- looks ridiculous, but you can anyway.
- \subsubsection{Fourth-level}
- \label{ch-typography/headings:fourth-level}
- The fourth level heading.
- \paragraph{Fifth-level}
- \label{ch-typography/headings:fifth-level}
- The fifth level heading.
- \paragraph{Rubric Heading}
- A rubric heading is just a paragraph heading without document structure.
- \section{Text}
- \label{ch-typography/text:text}\label{ch-typography/text::doc}
- You can make \emph{emphasized text}.
- You can make \textbf{bold text}.
- You can make \code{fixed-width font}.
- You can make block quotes:
- \begin{quote}
- this is a block quote
- \end{quote}
- You can make code blocks:
- \begin{lstlisting}[]
- this is a regular code block
- no styling information here
- \end{lstlisting}
- You can also make code blocks and get nice per-language syntax highlighting.
- For example, the following block is some Python code:
- \begin{lstlisting}[]
- \PYG{k+kn}{import} \PYG{n+nn}{os}
- \PYG{k}{print} \PYG{n}{os}\PYG{o}{.}\PYG{n}{path}\PYG{o}{.}\PYG{n}{abspath}\PYG{p}{(}\PYG{n}{\PYGZus{}\PYGZus{}file\PYGZus{}\PYGZus{}}\PYG{p}{)}
- \end{lstlisting}
- Some convenience substitutions are defined in the epilog:
- \begin{itemize}
- \item {}
- e.g.,
- \item {}
- i.e.,
- \item {}
- et al.
- \item {}
- dash—
- \item {}
- non-breaking space -\textgreater{} \textless{}-
- \end{itemize}
- You can have inline $^{\text{superscript}}$ or $_{\text{subscript}}$ text.
- Big quotes, also known as an epigraph:
- \begin{quote}
- \emph{Your avatar can look any way you want it to, up to the limitations of your equipment. If you're ugly, you can make your avatar beautiful. If you've just gotten out of bed, your avatar can be wearing beautiful clothes and professionally applied makeup. You can look like a gorilla or a dragon, or a giant talking penis in the Metaverse. Spend five minutes walking down the street, and you will see all of these.}
- \begin{flushright}
- ---Neal Stephenson, Snow Crash
- \end{flushright}
- \end{quote}
- \chapter{Lists}
- \label{ch-lists/index::doc}\label{ch-lists/index:ch-lists}\label{ch-lists/index:lists}
- This is a few examples of different list types.
- \section{Unordered Lists}
- \label{ch-lists/index:unordered-lists}\begin{itemize}
- \item {}
- item 1
- \item {}
- item 2
- \begin{itemize}
- \item {}
- item 3
- \item {}
- item 4
- \end{itemize}
- \item {}
- item 5
- \end{itemize}
- \section{Ordered Lists}
- \label{ch-lists/index:ordered-lists}\begin{enumerate}
- \item {}
- item 1
- \item {}
- item 2
- \begin{enumerate}
- \item {}
- item 3
- \item {}
- item 4
- \end{enumerate}
- \item {}
- item 5
- \end{enumerate}
- \section{Description Lists}
- \label{ch-lists/index:description-lists}\begin{description}
- \item[{term1}] \leavevmode
- definition 1
- \item[{term2}] \leavevmode
- definition 2
- \item[{term3}] \leavevmode
- definition 3
- \end{description}
- \section{Mixed}
- \label{ch-lists/index:mixed}\begin{description}
- \item[{term}] \leavevmode
- definition
- \begin{itemize}
- \item {}
- list1
- \item {}
- list2
- \end{itemize}
- \item[{term2}] \leavevmode
- something
- \begin{enumerate}
- \item {}
- num1
- \item {}
- num2
- \begin{itemize}
- \item {}
- list1
- \item {}
- list2
- \end{itemize}
- \item {}
- num3
- \end{enumerate}
- \end{description}
- \chapter{Math}
- \label{ch-math/index::doc}\label{ch-math/index:math}\label{ch-math/index:ch-math}
- Math uses latex math syntax:
- \begin{gather}
- \begin{split}A^{''}_c =
- \sqrt[3]{
- (\frac{L^2_c}{\sum{L^2}})
- (\frac{A_c}{\sum{A}})
- (\frac{A'_c}{\sum{A'}})
- } \cdot T\end{split}\notag
- \end{gather}
- Equations can have labels which you can reference \eqref{ch-math/index-eq-cc-err-stop}.
- \phantomsection\label{ch-math/index:equation-eq-cc-err-stop}\begin{gather}
- \begin{split}\frac{log(1 + E_{current})}{log(1 + E_{max})}\end{split}\label{ch-math/index-eq-cc-err-stop}\\\begin{split}\end{split}\notag
- \end{gather}
- You can also have inline math, so if you wanted to tell someone that the
- function $x^2$ only has one place where $y=0$, you could tell them
- it was at $x=0$.
- \chapter{References and Citations}
- \label{ch-refs/index:references-and-citations}\label{ch-refs/index::doc}\label{ch-refs/index:ch-refs}
- You can reference a section by its label. This chapter is
- Chapter {\hyperref[ch-refs/index:ch-refs]{5}}.
- \section{Subsection}
- \label{ch-refs/index:sec-refs-sub1}\label{ch-refs/index:subsection}
- This subsection is Section {\hyperref[ch-refs/index:sec-refs-sub1]{5.1}}.
- \section{Citations}
- \label{ch-refs/index:citations}
- COLLADA \cite{collada} is a cool 3D file format. I wrote a paper about
- 3D stuff \cite{icmepaper}. The website we built is running \cite{open3dhub}. The bibliography is in bibtex format.
- \section{Footnotes}
- \label{ch-refs/index:footnotes}
- Reference a footnote \footnote{
- This is a footnote at the end of the page or document.
- }.
- \section{External Links}
- \label{ch-refs/index:external-links}
- You can link to a \href{http://google.com/}{website}.
- \chapter{Figures and Tables}
- \label{ch-figs/index:ch-figs}\label{ch-figs/index::doc}\label{ch-figs/index:figures-and-tables}
- \section{Vector SVG Figures}
- \label{ch-figs/index:vector-svg-figures}
- Vector figures are nicely supported. You should have a PDF file and an SVG
- file. The PDF will be used for the latex output and the SVG for the HTML
- output. The HTML output has a nice zoom feature using Colorbox.
- \begin{figure}[tbp]
- \centering
- \capstart
- \includegraphics[width=0.600\linewidth]{overview.pdf}
- \caption[Sirikata System Overview]{The Sirikata metaverse platform architecture.}\label{ch-figs/index:fig-sirikata-overview}\end{figure}
- See an example in Figure \ref{ch-figs/index:fig-sirikata-overview}. I suggest making
- figures in something like Inkscape. If you have only a vector PDF, you can use
- pdf2svg to convert (\code{brew install pdf2svg} or \code{apt-get install pdf2svg}).
- \section{Image Figures}
- \label{ch-figs/index:image-figures}
- Regular rasterized images work fine too.
- \begin{figure}[tbp]
- \centering
- \capstart
- \includegraphics[width=0.860\linewidth]{icons.png}
- \caption[Open3DHub Browsing Interface]{The Open3DHub website allows browsing of 3D meshes.}\label{ch-figs/index:fig-open3dhub-icons}\end{figure}
- A PNG example is shown in Figure \ref{ch-figs/index:fig-open3dhub-icons}.
- \section{Subfigures}
- \label{ch-figs/index:subfigures}
- The subfigure directives allow you to place multiple figures side-by-side in
- the document. Here's an example:
- \begin{figure}
- \centering
- \capstart
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_0_128.png}
- \caption[Base Mesh + 128x128 Texture (334 KB)]{Base Mesh + 128x128 Texture (334 KB)}\label{ch-figs/index:fig-cc-teddy-base}\end{subfigure}
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_25_256.png}
- \caption[Base Mesh + 25\% Stream + 256x256 Texture (568 KB)]{Base Mesh + 25\% Stream + 256x256 Texture (568 KB)}\label{ch-figs/index:fig-cc-teddy-25}\end{subfigure}
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_50_512.png}
- \caption[Base Mesh + 50\% Stream + 512x512 Texture (923 KB)]{Base Mesh + 50\% Stream + 512x512 Texture (923 KB)}\label{ch-figs/index:fig-cc-teddy-50}\end{subfigure}
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_75_1024.png}
- \caption[Base Mesh + 75\% Stream + 1024x1024 Texture (1755 KB)]{Base Mesh + 75\% Stream + 1024x1024 Texture (1755 KB)}\label{ch-figs/index:fig-cc-teddy-75}\end{subfigure}
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_100_2048.png}
- \caption[Base Mesh + 100\% Stream + 2048x2048 Texture (4385 KB)]{Base Mesh + 100\% Stream + 2048x2048 Texture (4385 KB)}\label{ch-figs/index:fig-cc-teddy-100}\end{subfigure}
- \begin{subfigure}[t]{0.30\linewidth}
- \centering
- \capstart
- \includegraphics[width=0.900\linewidth]{teddy_orig.png}
- \caption[Original Mesh (913 KB)]{Original Mesh (913 KB)}\label{ch-figs/index:fig-cc-teddy-original}\end{subfigure}
- \caption[Example Model Resolutions]{Example of a teddy bear model at different resolutions of the
- progressive format (1 draw call) and its original format (16 draw
- calls). The size in KB assumes downloading progressively, e.g.,
- \ref{ch-figs/index:fig-cc-teddy-100}`s size includes lower-resolution textures.}\phantomsection\label{ch-figs/index:fig-cc-teddy}
- \end{figure}
- You can reference the entire Figure \ref{ch-figs/index:fig-cc-teddy} or one of its
- subfigures, e.g., Figure \ref{ch-figs/index:fig-cc-teddy-original}.
- \section{Tables}
- \label{ch-figs/index:tables}
- Tables can be put inside the figtable directive which automatically numbers
- them, adds a caption, and adds a label.
- \begin{figure}[tbp]
- \capstart
- \begin{center}
- \begin{longtable}{r r r r r r r}
- \toprule
- \textsf{\relax
- Progressive
- } & \textsf{\relax
- 128
- } & \textsf{\relax
- 256
- } & \textsf{\relax
- 512
- } & \textsf{\relax
- 1024
- } & \textsf{\relax
- 2048
- }\\
- \hline\midrule
- 0\%
- &
- 0.53
- &
- 0.63
- &
- 0.81
- &
- 1.03
- &
- 1.35
- \\
- 25\%
- &
- 0.65
- &
- 0.75
- &
- 0.97
- &
- 1.16
- &
- 1.45
- \\
- 50\%
- &
- 0.74
- &
- 0.85
- &
- 1.02
- &
- 1.26
- &
- 1.58
- \\
- 75\%
- &
- 0.79
- &
- 0.95
- &
- 1.11
- &
- 1.34
- &
- 1.70
- \\
- 100\%
- &
- 0.88
- &
- 0.99
- &
- 1.20
- &
- 1.44
- &
- 1.82
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[Mean Size of Progressive Format]{Mean size of progressive format as a fraction of the
- original across all test models, shown as a function of the
- progressive stream downloaded and texture resolution.}\phantomsection\label{ch-figs/index:table-cc-file-size}
- \end{center}
- \end{figure}
- Table \ref{ch-figs/index:table-cc-file-size} has all right-aligned columns.
- \begin{figure}[tbp]
- \capstart
- \begin{center}
- \begin{longtable}{l r}
- \toprule
- \textsf{\relax
- Left Align
- } & \textsf{\relax
- Right Align
- }\\
- \hline\midrule
- Some text is left align
- &
- Followed by right-aligned
- \\
- Some more text here
- &
- And more text here
- \\
- And even more text
- &
- Also even more text here
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[Mixed Alignment Table]{This table has mixed alignment}\phantomsection\label{ch-figs/index:table-mixed-align}
- \end{center}
- \end{figure}
- Table \ref{ch-figs/index:table-mixed-align} has one column left-aligned and one
- column right-aligned.
- \begin{longtable}{r r r r r r r}
- \toprule
- \textsf{\relax
- Progressive
- } & \textsf{\relax
- 128
- } & \textsf{\relax
- 256
- } & \textsf{\relax
- 512
- } & \textsf{\relax
- 1024
- } & \textsf{\relax
- 2048
- }\\
- \hline\midrule
- 0\%
- &
- 0.53
- &
- 0.63
- &
- 0.81
- &
- 1.03
- &
- 1.35
- \\
- 25\%
- &
- 0.65
- &
- 0.75
- &
- 0.97
- &
- 1.16
- &
- 1.45
- \\
- 50\%
- &
- 0.74
- &
- 0.85
- &
- 1.02
- &
- 1.26
- &
- 1.58
- \\
- 75\%
- &
- 0.79
- &
- 0.95
- &
- 1.11
- &
- 1.34
- &
- 1.70
- \\
- 100\%
- &
- 0.88
- &
- 0.99
- &
- 1.20
- &
- 1.44
- &
- 1.82
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[Plain Table]{A table not inside a figure}\phantomsection\label{ch-figs/index:table-no-fig}
- Some people don't like tables inside figures, so you can disable it with an
- argument to the figtable directive. A table not inside a figure is shown
- in \ref{ch-figs/index:table-no-fig}. Note this only effects the latex output.
- \section{Text Wrapping Table}
- \label{ch-figs/index:text-wrapping-table}
- Text wrapping in tables work if you specify the width and either raggedleft or
- raggedright.
- \begin{figure}[tbp]
- \capstart
- \begin{center}
- \bodyspacing
- \begin{longtable}{>{\raggedleft\arraybackslash}p{0.25\linewidth} p{0.65\linewidth}}
- \toprule
- \textsf{\relax
- Column Family
- } & \textsf{\relax
- Description
- }\\
- \hline\midrule
- \textbf{Users}
- &
- Stores a list of users who have authenticated with OpenID.
- \\
- \textbf{Names}
- &
- Stores a list of the 3D models in the database with their associated metadata.
- \\
- \textbf{TempFiles}
- &
- Temporarily stores the binary file data of uploaded files until they have been processed.
- \\
- \textbf{Files}
- &
- Stores the binary file data for uploaded and verified files.
- \\
- \textbf{Sessions}
- &
- Stores HTTP session information used by the Django framework to look up session state associated with a user's browser cookie.
- \\
- \textbf{OpenIdAssocs, OpenIdNonces}
- &
- Stores OpenID authentication information for users.
- \\
- \textbf{CeleryResults}
- &
- Stores the result of application processing tasks (see Section something).
- \\
- \textbf{APIConsumers}
- &
- Stores a list of consumers of the API for use with the OAuth protocol.
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[Open3DHub Cassandra Column Families]{A list of Open3DHub's Cassandra column families and their descriptions}\phantomsection\label{ch-figs/index:fig-open3dhub-cfs}
- \end{center}
- \end{figure}
- A text wrapping table example is shown in Figure \ref{ch-figs/index:fig-open3dhub-cfs}.
- \section{CSV and List Tables}
- \label{ch-figs/index:csv-and-list-tables}
- You can use CSV Table and List table from
- \href{http://docutils.sourceforge.net/docs/ref/rst/directives.html\#tables}{docutils directives}.
- \begin{figure}[tbp]
- \capstart
- \begin{center}
- \bodyspacing
- \begin{longtable}{>{\raggedright\arraybackslash}p{0.15\linewidth} p{0.20\linewidth} p{0.30\linewidth}}
- \toprule
- \textsf{\relax
- Treat
- } & \textsf{\relax
- Quantity
- } & \textsf{\relax
- Description
- }\\
- \hline\midrule
- Albatross
- &
- 2.99
- &
- On a stick!
- \\
- Crunchy Frog
- &
- 1.49
- &
- If we took the bones out, it wouldn't be
- crunchy, now would it?
- \\
- Gannet Ripple
- &
- 1.99
- &
- On a stick!
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[CSV table]{CSV table}\phantomsection\label{ch-figs/index:table-csv}
- \end{center}
- \end{figure}
- \begin{figure}[tbp]
- \capstart
- \begin{center}
- \bodyspacing
- \begin{longtable}{>{\raggedright\arraybackslash}p{0.15\linewidth} p{0.20\linewidth} p{0.30\linewidth}}
- \toprule
- \textsf{\relax
- Treat
- } & \textsf{\relax
- Quantity
- } & \textsf{\relax
- Description
- }\\
- \hline\midrule
- Albatross
- &
- 2.99
- &
- On a stick!
- \\
- Crunchy Frog
- &
- 1.49
- &
- If we took the bones out, it wouldn't be
- crunchy, now would it?
- \\
- Gannet Ripple
- &
- 1.99
- &
- On a stick!vvv
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[List table]{List table}\phantomsection\label{ch-figs/index:table-list}
- \end{center}
- \end{figure}
- A CSV table example is shown in Figure \ref{ch-figs/index:table-csv} and List table in Figure \ref{ch-figs/index:table-list}.
- \section{Big tables}
- \label{ch-figs/index:big-tables}
- We might have a big table (Table \ref{ch-figs/index:fig-big-table}) which is
- perfectly fine in the world of HTML how can we deal within it in the
- world of latex/PDF? Can we rotate the table for PDF only?
- One way could perhaps be to let the table to span vertically over
- multiple pages as done in Table \ref{ch-figs/index:fig-big-table-vertical}?
- \bodyspacing
- \begin{longtable}{>{\raggedright\arraybackslash}p{0.12\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth} p{0.08\linewidth}}
- \toprule
- \textsf{\relax
- Cell 1
- } & \textsf{\relax
- Cell 2
- } & \textsf{\relax
- Cell long
- header
- test 3
- } & \textsf{\relax
- Cell 4
- } & \textsf{\relax
- Cell 5
- } & \textsf{\relax
- Cell 6
- } & \textsf{\relax
- Cell 7
- } & \textsf{\relax
- Cell 8
- } & \textsf{\relax
- Cell long
- text 9
- } & \textsf{\relax
- Cell 10
- } & \textsf{\relax
- Cell 11
- } & \textsf{\relax
- Cell 12
- }\\
- \hline\midrule
- Name 1
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- short
- &
- Short
- short
- short
- &
- Lorem ipsum
- dolor sit
- amet.
- \\
- Name 2
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- short
- &
- Short
- short
- short
- &
- Lorem ipsum
- dolor sit
- amet.
- \\
- Name 3
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- short
- &
- Short
- short
- short
- &
- Lorem ipsum
- dolor sit
- amet.
- \\
- Name 3
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Short
- &
- Lorem ipsum
- dolor sit
- amet,
- consectetur
- adipiscing
- elit.
- &
- Short
- short
- &
- Short
- short
- short
- &
- Lorem ipsum
- dolor sit
- amet.
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[A big table]{A big table}\phantomsection\label{ch-figs/index:fig-big-table}
- \bodyspacing
- \begin{longtable}{>{\raggedright\arraybackslash}p{0.15\linewidth} p{0.17\linewidth} p{0.17\linewidth} p{0.17\linewidth} p{0.17\linewidth} p{0.17\linewidth}}
- \toprule
- \textsf{\relax
- Cell 1
- } & \textsf{\relax
- Cell 2
- } & \textsf{\relax
- Cell 3
- } & \textsf{\relax
- Cell 4
- } & \textsf{\relax
- Cell 5
- } & \textsf{\relax
- Cell 6
- }\\
- \hline\midrule
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Short
- &
- Short
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing elit.
- &
- Lorem ipsum dolor
- sit amet,
- consectetur
- adipiscing
- elit. Pellentesque
- vitae nisl
- imperdiet.
- \\
- \hline\bottomrule
- \end{longtable}
- \caption[A big table vertical]{A big table vertical}\phantomsection\label{ch-figs/index:fig-big-table-vertical}
- \input{footer._tex}
- \renewcommand{\indexname}{Index}
- \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement