diff -r 8f4806a1a64d -r 3174d4803cd5 latex/slides.tex --- a/latex/slides.tex Mon Jan 31 17:59:35 2011 +0530 +++ b/latex/slides.tex Sun Feb 06 17:57:03 2011 +0530 @@ -1,16 +1,25 @@ -\documentclass[english]{beamer} - -% generated by Docutils -\usepackage{fixltx2e} % LaTeX patches, \textsubscript -\usepackage{cmap} % fix search and cut-and-paste in PDF -\usepackage{babel} +\documentclass{beamer} +\usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} +\usepackage{fixltx2e} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{float} +\usepackage{wrapfig} +\usepackage{soul} +\usepackage{textcomp} +\usepackage{marvosym} +\usepackage{wasysym} +\usepackage{latexsym} +\usepackage{amssymb} +\usepackage{hyperref} +\tolerance=1000 +\usepackage[english]{babel} \usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} \usepackage{listings} -\usepackage{amsmath} \lstset{ language=TeX, - basicstyle=\small\ttfamily, + basicstyle=\ttfamily\bfseries, commentstyle=\ttfamily\color{blue}, stringstyle=\ttfamily\color{orange}, showstringspaces=false, @@ -18,11 +27,7 @@ postbreak = \space\dots } -\usepackage{ifthen} -\usepackage{longtable} -\usepackage{array} -\setlength{\extrarowheight}{2pt} -\newlength{\DUtablewidth} % internal use in tables +\newcommand{\typ}[1]{\lstinline{#1}} \mode { @@ -66,20 +71,45 @@ \section{Introduction} \begin{frame} - \frametitle{\LaTeX~- Introduction} + \frametitle{{\LaTeX} - Introduction} \begin{itemize} \item Typesetting program + \begin{itemize} + \item What is typesetting? + \end{itemize} \item Excellently Typeset Documents - specially Math - \item Anything from one page articles to books. - \item Based on \TeX - \item Pronounced ``Lah-tech'' or ``Lay-tech'' + \item Anything from one page articles to huge books + \item Pronounced \emph{Lah-tech} or \emph{Lay-tech} \end{itemize} \end{frame} \begin{frame} - \frametitle{This Course} + \frametitle{Why \LaTeX?} \begin{itemize} - \item Look at Sample document - \texttt{sample.pdf} + \item Excellent visual quality! + \item Handles the typesetting; Lets you focus on content + \item Makes writing math extremely simple + \item It is a standard -- widely used in Scientific community + \end{itemize} + \begin{block}{} + \[\tilde{N}_{\mathbf{x}}\times \mathbf{r}(\mathbf{x}) f_{1k}(\mathbf{x},t) - \frac{1}{2} \tilde{N} \tilde{N}:\mathbf{BB}^{T}P(\mathbf{x},t) = -m_{k}f_{1k}(\mathbf{x},t) + 2 \mathop{\mathbf{\aa}}_{j=1}^{K} f_{1j}(\mathbf{x},t)m_{j}P_{k|j} \] + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Course Outline} + \begin{itemize} + \item Look at Sample document - \typ{sample.pdf} + \begin{itemize} + \item Title, Author, Date + \item Abstract + \item Sections \& Subsections + \item Appendix + \item References/Bibliography + \item Tables + \item Figures + \item Math + \end{itemize} \item The document will be produced by the end of the course. \item First Hour - Basic Structure \item Second Hour - Text, Tables, Figures, References @@ -87,50 +117,9 @@ \end{itemize} \end{frame} - -\begin{frame} - \frametitle{A Look at the Sample Document} +\begin{frame}[fragile]{{\LaTeX}{is awesome} \begin{itemize} - \item Title, Author, Date - \item Abstract - \item Sections - \item Subsections - \item Appendix - \item References/Bibliography - \item Tables - \item Figures - \item Math - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{The source \& compilation} - Write the following code into the file \texttt{draft.tex}. - \begin{lstlisting} - \documentclass{article} - \begin{document} - SciPy is open-source software for mathematics, - science, and engineering. - \end{document} - \end{lstlisting} - To compile the document, do the following in your terminal: - \begin{lstlisting}[language=bash] - $ pdflatex draft.tex - \end{lstlisting} - This produces the output file \texttt{draft.pdf} %%$ - Note: \texttt{latex} command is often used to get \texttt{dvi} - output. Throughout this course, we shall use \texttt{pdflatex} to - compile our documents to \texttt{pdf} output. -\end{frame} - -\section{Structure of the Document} - -\begin{frame}[fragile] - \frametitle{\lstinline+documentclass+} - \begin{itemize} - \item \LaTeX~typesets based on \lstinline{documentclass} - \item Defines structure and formatting of a document - \item \LaTeX~is a document based mark-up + \item {\LaTeX} is a document based mark-up \item Mark-up --- a system of annotating text, adding extra information to specify structure and presentation of text \item Document based markup $\rightarrow$ you don't have to worry @@ -140,71 +129,107 @@ \end{frame} \begin{frame}[fragile] - \frametitle{Environments and Commands} - \lstinline{document} is an environment, present in every document. + \frametitle{Typesetting a minimal document} + \begin{itemize} + \item Write the sample code code into the file \typ{draft.tex}\\ + {\tiny See \typ{hg} rev0 of draft} + \item To compile, (in terminal) \\ + \begin{lstlisting}[language=bash] + $ pdflatex draft.tex + \end{lstlisting} %%$ + \item This produces the output file \typ{draft.pdf} + \item \alert{Note:} \typ{latex} vs. \typ{pdflatex} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Commands \& Environments} + \begin{itemize} + \item {\LaTeX} is case sensitive + \item Commands begin with a \typ{\\} + \item Environments have a \typ{\\begin} and \typ{\\end} + \item Any content after the \typ{\\end\{document\}} is ignored + \end{itemize} +\end{frame} + +\newline \\ +\newpage + + +\begin{frame}[fragile] + \frametitle{Comments \& Special Characters} \begin{itemize} - \item Environments + \item Anything that follows a \typ{\%} symbol till end of the line + is a comment + \item Special characters (\typ{\~ \# \$ \^ \& \_ \{ \}}) are escaped by a + \typ{\\} + \item \typ{\\} symbol is inserted using \typ{\\textbackslash} + command + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Spacing} + \begin{itemize} + \item \typ{\\\\} inserts a new line in the output + \item An empty line marks the beginning of a new paragraph + \item Multiple spaces (or empty lines) are equivalent to a single + space (or empty line) + \end{itemize} +\end{frame} + +\section{Adding Structure} + +\begin{frame}[fragile] + \frametitle{\typ{documentclass}} + \begin{itemize} + \item Used to select the \emph{class} of our document + \item Some available classes - \typ{article}, \typ{proc}, + \typ{report}, \typ{book}, \typ{slides}, \typ{letter}. + \item For example: + \typ{\\documentclass\[12pt,a4paper,draft\]\{report\}}\\ + The parameters within \typ{\[ \]} are optional. \begin{itemize} - \item \lstinline{\begin} and \lstinline{\end} define the beginning - and end of an environment - \item All the content of the document is placed inside the - \lstinline{document} environment + \item \typ{12pt} -- sets the font size of main font and others are + relatively, adjusted. \typ{10pt} is the default. + \item \typ{a4paper} -- specify paper size + \item \typ{draft} -- marks hyphenation and justification problems in + typesetting with a square in the margin \end{itemize} - \item Commands - \begin{itemize} - \item All commands begin with \textbackslash - \item They are case-sensitive - \item Only alpha caracthers; other characters terminate commands - \end{itemize} + \end{itemize} \end{frame} - \begin{frame}[fragile] \frametitle{Top Matter} - Let's add the Title, Author's name and the date to the document. + Let's add the title, author's name and the date. \begin{itemize} - \item Add title, author and date. Compile. Nothing changes. + \item Add title, author and date. + \item Compile. + \item Nothing changes. \end{itemize} - \begin{lstlisting} - \title{A Glimpse at Scipy} - \author{FOSSEE} - \date{June 2010} - \end{lstlisting} - \tiny{See \texttt{hg} rev1 of draft.} + {\tiny See \typ{hg} rev1 of draft.} \end{frame} \begin{frame}[fragile] \frametitle{Top Matter \ldots} \begin{itemize} \item \lstinline{\maketitle} command inserts the top-matter. - \item Compile again. + \item Add the command to the document \& compile again. \item If no date is specified, today's date is automatically inserted. \end{itemize} - \begin{lstlisting} - \begin{document} - \maketitle - SciPy is open-source software for mathematics, science, and engineering. - \end{document} - \end{lstlisting} - \tiny{See \texttt{hg} rev2 of draft.} + \tiny{See \typ{hg} rev2 of draft.} \end{frame} \begin{frame}[fragile] \frametitle{Abstract} \begin{itemize} - \item The abstract environment is placed at the location where it's - put in the source. + \item \typ{\\abstract} environment inserts abstract. + \item Place it at the location where you want your abstract. \end{itemize} - \begin{lstlisting} - \begin{abstract} - This document shows a glimpse of the features of Scipy that will - be explored during this course. - \end{abstract} - \end{lstlisting} - \tiny See rev3 of \texttt{hg} + \tiny See rev3 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -213,14 +238,9 @@ \item \lstinline{\section}, \lstinline{\subsection} \lstinline{\subsubsection} \item Auto numbered sections! - \item \* to prevent numbering of a section + \item \typ{*} to prevent numbering of a section \end{itemize} - \begin{lstlisting} - \section{A Glimpse of Scipy functions} - \subsection{Matrix Operations} - \subsubsection{Inverse} - \end{lstlisting} - \tiny See rev4 of \texttt{hg} + \tiny See rev4 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -242,21 +262,19 @@ \begin{lstlisting} \setcounter{secnumdepth}{3} \end{lstlisting} - \tiny See rev5 of \texttt{hg} + \tiny See rev5 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Appendices} \begin{itemize} - \item Anything following the \lstinline{\appendix} command is added - to the Appendix. + \item \lstinline{\appendix} command indicates the beginning of + Appendices. + \item Any content after \lstinline{\appendix}, will be added to the + appendix + \item Use sectioning commands to add sections \end{itemize} - \begin{lstlisting} - \appendix - - \section{Plotting using Pylab} - \end{lstlisting} - \tiny See rev7 of \texttt{hg} + \tiny See rev7 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -271,19 +289,17 @@ \item Re-compile. \item Any numbered section/block automatically appears \end{itemize} - \tiny See rev8 of \texttt{hg} + \tiny See rev8 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{TOC \ldots} \begin{itemize} - \item To add un-numbered sections, use \lstinline{\addcontentsline} + \item Un-numbered sections are added to TOC using + \lstinline{\addcontentsline} + \item For instance, \lstinline+\addcontentsline{toc}{section}{Intro}+ \end{itemize} - \begin{lstlisting} - \section*{Introduction} - \addcontentsline{toc}{section}{Intro} - \end{lstlisting} - \tiny See rev9 of \texttt{hg} + \tiny See rev9 of \typ{hg} \end{frame} \begin{frame} @@ -293,74 +309,35 @@ \section{Typesetting Text} \begin{frame}[fragile] - \frametitle{Line breaks, Paragraphs} - \begin{itemize} - \item Add the text of second paragraph in the introduction section. - \item Compile. - \item An empty line starts a new para - \item New paragraphs are indented - \item Multiple spaces or empty lines are considered as one - \item To start a new line \lstinline{\\} or \lstinline{\newline} - \end{itemize} - \tiny See rev10 of \texttt{hg} -\end{frame} - -\begin{frame}[fragile] \frametitle{Quotation Marks} \begin{itemize} - \item The quotation marks around Sigh Pie are not formatted properly \item Use \`~ (accent) for left quote \item Use \'~ (apostrophe) for right quote \item For double quotes, use them twice \end{itemize} - \begin{center} - \`~\`~Sigh Pie\'~\'~ - \end{center} - \tiny See rev11 of \texttt{hg} + \tiny See rev11 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Fonts - Emphasis, Fixed width, \ldots} \begin{itemize} \item \lstinline{\emph} gives emphasized or italic text - \item \LaTeX environments can be nested - \item Let's add sub-package names as text, before learning to - typeset tables - \item Note multiple spacing won't work + \item \typ{flushleft} to have text left aligned + \item \typ{flushright}, \typ{center} \end{itemize} - \begin{lstlisting} - Subpackage - Description\\ - cluster - Clustering algorithms\\ - constants - Physical and mathematical constants\\ - fftpack - Fast Fourier Transform routines\\ - \end{lstlisting} - \begin{center} - \hspace{1in}\vdots - \end{center} - \tiny See rev12 of \texttt{hg} + \tiny See rev12 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Fonts - Emphasis, Fixed width, \ldots} \begin{itemize} - \item Use \lstinline{\texttt} for sub-packages names - fixed width - \item \lstinline{\textbf} for bold face - \item \lstinline{-} can be replaced with \lstinline{--} or - \lstinline{---} for better formatting + \item \lstinline{\texttt} gives fixed width font + \item \lstinline{\textbf} bold face font + \item \lstinline{--} en dash (--); \lstinline{---} em dash (---). \end{itemize} - \begin{lstlisting} - \textbf{Subpackage} --- \textbf{Description}\\ - \texttt{cluster} --- Clustering algorithms\\ - \texttt{constants} --- Physical and mathematical constants\\ - \texttt{fftpack} --- Fast Fourier Transform routines\\ - \end{lstlisting} - \begin{center} - \hspace{1in}\vdots - \end{center} - \tiny See rev13 of \texttt{hg} + \tiny See rev13 of \typ{hg} \end{frame} -\subsection{Lists} \begin{frame}[fragile] \frametitle{Lists} \begin{itemize} @@ -368,66 +345,26 @@ \item \lstinline{itemize} environment gives un-numbered lists \item Each item in the list is specified using \lstinline{\item} \item Nested lists are also easily handled, as expected - \item Example on next slide \end{itemize} - \tiny See rev14 of \texttt{hg} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Lists \ldots} - \begin{lstlisting} - \begin{enumerate} - \item Plotting - \item Matrix Operations - \begin{itemize} - \item Inverse - \end{itemize} - \item Solving Equations - \begin{itemize} - \item System of Linear equations - \end{itemize} - \item Integration - \begin{itemize} - \item Quadrature - \item ODEs - \end{itemize} - \end{enumerate} - \end{lstlisting} + \tiny See rev14 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Footnotes} \begin{itemize} - \item Add footnote for \lstinline{pylab} - \item It's easily done using \lstinline{\footnote} command + \item \typ{\\footnote} command adds a footnote \end{itemize} - \begin{lstlisting} - Plotting \footnote{using \texttt{pylab} - see Appendix A} - \end{lstlisting} - \begin{itemize} - \item We have just written down the name of the appendix - \item But if another section is added before it, the reference has - to be changed - \item \LaTeX provides labels and references - \end{itemize} - \tiny See rev15 of \texttt{hg} + \tiny See rev15 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Labels and References} \begin{itemize} - \item First add a label to the section that we wish to refer to - \item \lstinline+\label{labelname}+ - \item Change footnote to use the reference - \item \lstinline+\ref{labelname}+ + \item \lstinline+\label{labelname}+ is used to label an element + \item \lstinline+\ref{labelname}+ is used to refer to that element \item Compile twice \end{itemize} - \begin{lstlisting} - \section{Plotting using Pylab}\label{mpl} - - Plotting \footnote{using \texttt{pylab} - see Appendix \ref{mpl}} - \end{lstlisting} - \tiny See rev15 of \texttt{hg} + \tiny See rev15 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -435,59 +372,32 @@ \begin{itemize} \item Instead of using \lstinline{\texttt} we could use \lstinline{\verbatim} - \item \lstinline{listings} is a powerful package + \item \lstinline+\lstinline{listings}+ is a powerful package \item \lstinline+\usepackage{listings}+ needs to be added - \item Tell \LaTeX the language, you are going to use + \item Tell {\LaTeX} the language to be used, using \typ{\\lstset} \end{itemize} - \begin{lstlisting} - \usepackage{listings} - \lstset{language=Python, - basicstyle=\ttfamily\bfseries, - showstringspaces=false} - \end{lstlisting} - \tiny See rev16 of \texttt{hg} + \tiny See rev16 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Including code} \begin{itemize} - \item Use \lstinline{lstlisting} for a block of code - \item \lstinline+\lstinline+ for inline code - \item Let's add the code to Appendix + \item Use \lstinline+\lstlisting+ for a block of code + \item \typ{\\lstinline} for inline code \end{itemize} - \begin{lstlisting} - \begin{lstlisting.} - In []: x = linspace(0, 2*pi, 50) - In []: plot(x, sin(x)) - In []: title('Sine Curve between 0 and $\pi$') - In []: legend(['sin(x)']) - \end{lstlisting.} - \end{lstlisting} - \tiny See rev16 of \texttt{hg} + \tiny See rev16 of \typ{hg} \end{frame} \section{Figures, Tables \& Floats} \begin{frame}[fragile] \frametitle{Figures} \begin{itemize} - \item Let's add the figure in the Appendix + \item The \typ{graphicx} package allows us to insert graphics \item \lstinline+\usepackage{graphicx}+ \item To add a graphic, use \lstinline{\includegraphics} command - \item We give the relative path to the \lstinline+.png+ image + \item Use relative path to the image \end{itemize} - \begin{lstlisting} - \usepackage{graphicx} - - \begin{figure}[h!] - \begin{center} - \includegraphics[scale=0.4]{../sine.png} - \end{center} - \caption{Sine Curve} - \label{fig:sin} - \end{figure} - \end{lstlisting} - - \tiny See rev17 of \texttt{hg} + \tiny See rev17 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -538,14 +448,12 @@ \item To place the image in the center we enclose it in the \lstinline+center+ environment \item We can label images too - \item label shoule be added after the caption command + \item label should be added after the caption command \item Figures are auto numbered \end{itemize} - \tiny See rev17 of \texttt{hg} + \tiny See rev17 of \typ{hg} \end{frame} -\subsection{Tables} - \begin{frame}[frame] \frametitle{Tables} \begin{itemize} @@ -583,32 +491,14 @@ \item each row is separated by newline \lstinline{\\} \item \lstinline+\hline+ give a horizontal line between two rows \end{itemize} - \tiny See rev18 of \texttt{hg} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\lstinline+tabular+ \ldots} - \begin{lstlisting} - \begin{table} - \caption{Sub-packages available in Scipy} - \label{subpkg} - \begin{tabular}{|l|l|} - \hline - \textbf{Subpackage} & \textbf{Description}\\ - \texttt{constants} & Physical and mathematical constants\\ - \hline - \texttt{fftpack} & Fast Fourier Transform routines\\ - \hline - \end{tabular} - \end{table} - \end{lstlisting} + \tiny See rev18 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{List of Tables, Figures} \begin{itemize} - \item \lstinline+listoftables+ - \item \lstinline+listoffigures+ + \item \lstinline+\listoftables+ -- to add a list of tables + \item \lstinline+\listoffigures+ -- to add a list of figures \end{itemize} \end{frame} @@ -617,8 +507,8 @@ \begin{frame}[fragile] \frametitle{Math in \LaTeX} \begin{itemize} - \item Math is enclosed in a pair of \lstinline{$} signs o - \lstinline+\( \)+ %$ + \item Math is enclosed in a pair of \lstinline{$} signs of %%$ + \lstinline+\( \)+ \item Used for typesetting inline Math. \item \lstinline+\usepackage{amsmath}+ \item Let's now move on to matrices. @@ -632,25 +522,7 @@ \item It works similar to ta tabular environment \item \lstinline+&+ for demarcating columns \item \lstinline+\\+ for demwarcating rows - \end{itemize} - \begin{lstlisting} - Let $\mathbf{A}$ be the matrix - \( - \begin{bmatrix} - 1 &3 &5\\ - 2 &5 &1\\ - 2 &3 &8 - \end{bmatrix} - \) - \end{lstlisting} - \tiny See rev19 of \texttt{hg} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Matrices \ldots} - \begin{itemize} - \item There are 5 other matrix environments - \end{itemize} + \item Other matrix environments \begin{table} \center \begin{tabular}{c|c} @@ -661,15 +533,16 @@ \lstinline+Vmatrix+ & \lstinline+||+ \end{tabular} \end{table} + \end{itemize} + \tiny See rev19 of \typ{hg} \end{frame} \begin{frame}[fragile] \frametitle{Superscripts \& Subscripts} \begin{itemize} \item \lstinline+^+ for superscripts - \item To have multiple characters as sub/superscript, enclose in - \lstinline+{ }+ \item \lstinline+_+ for subscripts + \item Enclose multiple characters in \lstinline+{ }+ \end{itemize} \end{frame} @@ -687,20 +560,16 @@ \begin{frame}[fragile] \frametitle{\lstinline+displayed+ math} \begin{itemize} - \item The equation in Determinants section is different. - \item It is a displayed equation. + \item Display equations are the other type of displaying math \item \LaTeX~ or \lstinline+amsmath+ has a number of environments for ``displaying'' equations, with minor differences. \item In general, enclose math in \lstinline+\[+ and \lstinline+\]+ to get displayed math. - \item \lstinline+\begin*{equation}+ is equivalent to this. + \item \lstinline+\begin{equation*}+ is equivalent to this. \item Use \lstinline+\begin{equation}+ to get numbered equations. %%\end{equation} \end{itemize} - \begin{lstlisting} - \[ \left|\mathbf{A}\right|=\sum_{j}\left(-1\right)^{i+j}a_{ij}\mathbf{M}_{ij} \] - \end{lstlisting} - \tiny See rev20 of \texttt{hg} + \tiny See rev20 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -714,15 +583,7 @@ indicated using \& symbol. \item Each equation is separated by a \lstinline+\newline+ command \end{itemize} - \begin{lstlisting} - \begin{eqnarray*} - x^3 - 2x^2 - \frac{1}{2}x + 1 = 0\\ - x^2(x-2) - \frac{1}{2}(x-2) = 0\\ - (x-2)(x^2 - \frac{1}{2}) = 0\\ - (x-2)(x - \frac{1}{\sqrt{2}})(x + \frac{1}{\sqrt{2}}) = 0 - \end{eqnarray*} - \end{lstlisting} - \tiny See rev21, 22 of \texttt{hg} + \tiny See rev21, 22 of \typ{hg} \end{frame} \begin{frame}[fragile] @@ -787,18 +648,7 @@ \lstinline+bibitem+ \item You will need to compile twice. \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Bibliography} - \begin{lstlisting} - \begin{thebibliography}{9} - \bibitem{scipy} - Eric Jones and Travis Oliphant and Pearu Peterson and others, - \emph{SciPy: Open source scientific tools for Python}, 2001 -- , - \url{http://www.scipy.org/} - \end{lstlisting} - \tiny See rev23 of \texttt{hg} + \tiny See rev23 of \typ{hg} \end{frame} \section{Presentations - Beamer} @@ -835,5 +685,13 @@ \end{itemize} \end{frame} +\begin{frame}[fragile] + \frametitle{} + \begin{center} + \Huge{Thank You!} + \end{center} +\end{frame} + + \end{document}