diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/latex4wp |
Initial commit
Diffstat (limited to 'info/latex4wp')
-rw-r--r-- | info/latex4wp/HOW-TO-TYPESET | 23 | ||||
-rw-r--r-- | info/latex4wp/README | 6 | ||||
-rw-r--r-- | info/latex4wp/dat2tex.sh | 28 | ||||
-rw-r--r-- | info/latex4wp/exa.sty | 118 | ||||
-rw-r--r-- | info/latex4wp/gnuplot.gp | 14 | ||||
-rw-r--r-- | info/latex4wp/gnuplot.pdf | bin | 0 -> 47724 bytes | |||
-rw-r--r-- | info/latex4wp/inkscape-tb.png | bin | 0 -> 19507 bytes | |||
-rw-r--r-- | info/latex4wp/inkscape.png | bin | 0 -> 80642 bytes | |||
-rw-r--r-- | info/latex4wp/latex4wp.pdf | bin | 0 -> 647140 bytes | |||
-rw-r--r-- | info/latex4wp/latex4wp.tex | 3339 | ||||
-rw-r--r-- | info/latex4wp/midifile.mid | bin | 0 -> 6766 bytes | |||
-rw-r--r-- | info/latex4wp/tbx.eps | 840 | ||||
-rw-r--r-- | info/latex4wp/tbx.pdf | bin | 0 -> 7277 bytes | |||
-rw-r--r-- | info/latex4wp/tbx.tex | 18 |
14 files changed, 4386 insertions, 0 deletions
diff --git a/info/latex4wp/HOW-TO-TYPESET b/info/latex4wp/HOW-TO-TYPESET new file mode 100644 index 0000000000..630377d332 --- /dev/null +++ b/info/latex4wp/HOW-TO-TYPESET @@ -0,0 +1,23 @@ +How to typeset this guide +------------------------- + +Please note that some LaTeX packages may be missing from your default +configuration. To include them, do the following (Linux/Unix): + +- download the missing package from the CTAN. For instance, let's +suppose you don't have slashbox.sty; you'll get it from +http://www.ctan.org/tex-archive/macros/latex/contrib/slashbox + +- run these commands: + +$ mkdir -p ~/texmf/tex/latex/slashbox +$ cp slashbox.sty ~/texmf/tex/latex/slashbox +$ texhash ~/texmf + +- repeat the above steps for each missing package + +- typeset the guide with pdflatex: + +$ pdflatex latex4wp.tex; pdflatex latex4wp.tex; pdflatex latex4wp.tex + +Enjoy! diff --git a/info/latex4wp/README b/info/latex4wp/README new file mode 100644 index 0000000000..618ab4e9c7 --- /dev/null +++ b/info/latex4wp/README @@ -0,0 +1,6 @@ +LaTeX4WP: A LaTeX guide specifically designed for word processor +users. + +"LaTeX for Word Processor Users" is a guide that helps converting +knowledge and techniques of word processing into the LaTeX typesetting +environment. It aims at helping WP users use LaTeX instead. diff --git a/info/latex4wp/dat2tex.sh b/info/latex4wp/dat2tex.sh new file mode 100644 index 0000000000..f7378a5197 --- /dev/null +++ b/info/latex4wp/dat2tex.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# dat2tex: converts tabular data to a tabular environment + +if [ $# != 1 ]; then + echo "Usage: $0 <datafile>" + exit 1 +fi + +# is this a cvs file? +grep ";" $1 > /dev/null +if [ $? = 0 ]; then + AWK="awk -F;" +else + AWK=awk +fi + +# ok awk, make my day +$AWK '{if (1 == FNR) { \ + printf "\\begin\{tabular\}\{"; \ + for (i = 1; i <= NF; i++) {printf "l"}; \ + printf "\}\n" + } + for (i = 1; i < NF; i++) \ + {printf $i" & "} printf $NF" \\\\ \n"} \ + END {printf "\\end\{tabular\}\n"}' $1 + +# end of dat2tex diff --git a/info/latex4wp/exa.sty b/info/latex4wp/exa.sty new file mode 100644 index 0000000000..1e1cbe5e65 --- /dev/null +++ b/info/latex4wp/exa.sty @@ -0,0 +1,118 @@ +% exa.sty +% modified after example.sty by J.Schrod, xitijsch@ddathd21.bitnet +% Guido Gonzato, guido.gonzato@univr.it + +\chardef\escape=0 +\chardef\open=1 +\chardef\close=2 +\chardef\letter=11 +\chardef\other=12 +%\chardef\active=13 % is defined in Plain already + +\chardef\uscode=\catcode`\_ % top level macro file! + +\catcode`\_=\letter + +\oddsidemargin=0pt +\evensidemargin=\oddsidemargin + +\newwrite\example_file +\def\example_name{\jobname.tmp } % <-- space! + +\newdimen\ExampleWidth + \ExampleWidth=\textwidth + \advance\ExampleWidth by \marginparwidth % stick into margins + \advance\ExampleWidth by \columnsep % between columns + \divide\ExampleWidth by 2 + +\def\ExampleSet{% + \begin{boxedminipage}[c]{0.5\textwidth}% + \hrule height\z@ + \def\markboth##1##2{}% + \def\markright##1{}% + \def\addcontentsline##1##2##3{}% + \input \example_name + \par + \hrule height\z@ + \end{boxedminipage}% + } + +\begingroup + \catcode`\^^I=\active + \gdef\@vobeytabs{\catcode`\^^I\active \let^^I\@xobeytab} + \global\let^^I=\@xobeytab% % for \write's +\endgroup +\def\@xobeytab{\space\space\space\space\space\space\space\space} + +\def\ExampleVerb{% + \begin{minipage}[c]{0.5\textwidth}% + \hrule height\z@ + \begingroup + \small + \parindent\z@ + \rightskip\@flushglue + \@makeother\"\@verbatim + \frenchspacing \@vobeyspaces \@vobeytabs + \input \example_name + \endverbatim + \endgroup + %\hrule height\z@ + \end{minipage}% + } + +\def\example{ + \par + \immediate\openout\example_file\example_name + \begingroup + \@makeother\"\let\do\@makeother \dospecials + \obeylines \obeyspaces + \@ignoretrue \copy_line + } + +\begingroup + \catcode`\|=\escape % | is temporary escape character + \catcode`\[=\open % [ and ] are temporary grouping symbols + \catcode`\]=\close + \catcode`\{=\other % these are `other' in verbatim mode + \catcode`\}=\other + \catcode`\\=|other + |gdef|end_of_example[\end{example}] +|endgroup + +\begingroup + \obeylines \gdef\copy_line#1^^M{\write_line{#1}}% +\endgroup + +\def\write_line#1{% + \def\Next{#1}% + \ifx \Next\end_of_example + \def\Next{\end{example}}% % finish example + \else + \ifx \Next\empty + \if@ignore % ignore empty lines at the beginning + \else % but write them out later + \immediate\write\example_file{\Next}% + \fi + \else + \immediate\write\example_file{\Next}% + \@ignorefalse % at least one non-empty line written + \fi + \let\Next\copy_line % next line of example + \fi + \Next + } + +\def\endexample{% + \endgroup + \immediate\closeout\example_file + \penalty \predisplaypenalty + \vskip \abovedisplayskip + % \leftline{\ExampleVerb \hskip\columnsep \ExampleSet}% + \leftline{\ExampleVerb \hfill \ExampleSet}% + \penalty \postdisplaypenalty + \vskip \belowdisplayskip + } + +\catcode`\_=\uscode + +\endinput diff --git a/info/latex4wp/gnuplot.gp b/info/latex4wp/gnuplot.gp new file mode 100644 index 0000000000..d7e8c0299c --- /dev/null +++ b/info/latex4wp/gnuplot.gp @@ -0,0 +1,14 @@ +gnuplot> set hidden +gnuplot> set isosam 50 +gnuplot> splot sin(x*x + y*y)/(x*x + y*y) +gnuplot> splot [-3:3] [-3:3] sin(x*x + y*y)/(x*x + y*y) +gnuplot> splot [-4:4] [-4:4] sin(x*x + y*y)/(x*x + y*y) +gnuplot> set title "Gnuplot 3D graph" +gnuplot> replot +gnuplot> set grid +gnuplot> replot +gnuplot> set xlabel +gnuplot> set xlabel "X" +gnuplot> set ylabel "Y" +gnuplot> set zlabel "Z" +gnuplot> replot diff --git a/info/latex4wp/gnuplot.pdf b/info/latex4wp/gnuplot.pdf Binary files differnew file mode 100644 index 0000000000..3695056958 --- /dev/null +++ b/info/latex4wp/gnuplot.pdf diff --git a/info/latex4wp/inkscape-tb.png b/info/latex4wp/inkscape-tb.png Binary files differnew file mode 100644 index 0000000000..9374455bb4 --- /dev/null +++ b/info/latex4wp/inkscape-tb.png diff --git a/info/latex4wp/inkscape.png b/info/latex4wp/inkscape.png Binary files differnew file mode 100644 index 0000000000..e2262d439e --- /dev/null +++ b/info/latex4wp/inkscape.png diff --git a/info/latex4wp/latex4wp.pdf b/info/latex4wp/latex4wp.pdf Binary files differnew file mode 100644 index 0000000000..6927036054 --- /dev/null +++ b/info/latex4wp/latex4wp.pdf diff --git a/info/latex4wp/latex4wp.tex b/info/latex4wp/latex4wp.tex new file mode 100644 index 0000000000..503962e14f --- /dev/null +++ b/info/latex4wp/latex4wp.tex @@ -0,0 +1,3339 @@ +% latex4wp.tex -*- LaTeX -*- +% +% LaTeX for Word Processor Users +% by Guido Gonzato, guido.gonzato (at) gmail.com +% +% This document was written with the Jed editor, +% http://www.jedsoft.org/jed, and the new LaTeX mode +% available from CTAN mirrors, e.g. +% http://www.ctan.org/tex-archive/support/jed +% +% Last updated: January 7, 2015 + +% debug +% \overfullrule=15pt + +\documentclass[a4paper,11pt]{article} +\usepackage[margin=3cm]{geometry} +\usepackage{color} % coloured stuff +\usepackage{ifpdf} % ps/pdf output +\ifpdf + \usepackage[pdftex]{graphicx} + \pdfcompresslevel=9 +\else + \usepackage{graphicx} +\fi +\usepackage{alltt} % like verbatim, but obeys LaTeX commands +\usepackage{dcolumn} % aligning numbers to digital position +\usepackage{url} % urls and links +\usepackage{colortbl} % colour tables +\usepackage{pifont} % dinglist +\usepackage{fancyvrb} % fancy verbatim +\usepackage{boxedminipage} % what it says +\usepackage{framed} % frames around stuff +\usepackage{rotating} % rotate stuff +\usepackage[colorlinks, + urlcolor=blue, + filecolor=magenta, + linkcolor=darkred, + hyperfootnotes=false]{hyperref} % browseable links +% \usepackage{fancyhdr} % fancy headers and footers +\usepackage{marvosym} % Euro sign and other nice characters +\usepackage[gen]{eurosym} % Euro sign +\usepackage{mflogo} % Metafont logo +\usepackage{setspace} % custom line spacing +\usepackage{tabularx} % extended tabular environment +\usepackage{exa} % local package for typesetting LaTeX examples +\usepackage{enumerate} % optional args for enumerate environment +\usepackage{wrapfig} % wrapping text around figures +\usepackage[normalem]{ulem} % underline styles - !!! NOT IN MINT +\usepackage{slashbox} % slashed box in tables - !!! NOT IN MINT +\usepackage{paralist} % paragraph lists +\usepackage[version=3]{mhchem} % chemical formulae - !!! NOT IN MINT +\usepackage{lettrine} % dropped capitals + +\urlstyle{same} % urls in default font + +% --- Definitions and new commands --- + +\def\version {1.0.10} +\def\bs {\textbackslash} +\def\unix {\textsc{Unix}} +% \def\warning {\marginpar{\Huge{\textcolor{red}{\Stopsign}}}} +\def\note {\marginpar{\Huge{\textcolor{magenta}{\Writinghand}}}} +\def\PS {\textsc{PostScript}} +\definecolor {darkred}{rgb}{0.75,0,0} + +\hyphenation{lo-cal-tex-mf land-sca-pe} + +\newcounter{fnsym} +\setcounter{fnsym}{1} +%\newcounter{tmpbaselineskip} +%\setlength{tmpbaselineskip}{\value{\baselineskip}} + +\newenvironment{margins}[2] +{ + \begin{list}{} { + \setlength{\leftmargin}{#1} + \setlength{\rightmargin}{#2} + } \item } +{\end{list}} + +\newenvironment{warn} +{ % beg def + \medskip + \begin{minipage}[t]{0.1\linewidth} + \vspace{0pt} + \textcolor{magenta}{\Huge{\Pointinghand}} + \end{minipage}% + \begin{minipage}[t]{0.88\textwidth} + \vspace{0pt} + \begin{small} + \begin{spacing}{0.97} +} +{ % end def + \end{spacing} + \end{small} + \end{minipage} + \medskip +} + +\newcommand{\package}[1] +{\textsf{#1}} + +\newcommand{\parm}[1] +{\texttt{#1}} + +\newcommand{\cmdparm}[1] +{\textit{#1}} + +\newcommand{\env}[1] +{\texttt{#1}} + +\newcommand{\cmd}[1] +{\texttt{\bs{}#1}} + +\newcommand{\cmdline}[1] +{\texttt{#1}} + +\newcommand{\menu}[1] +{\textsf{#1}} + +\newcommand{\entry}[2] +{\textsf{#1/#2}} + +\newcommand{\app}[1] +{\texttt{#1}} + +\newcommand{\file}[1] +{\texttt{#1}} + +\newcommand{\style}[1] +{\texttt{#1}} + +\newcommand{\ltx}[1] +{\texttt{#1}} + +% --- end of definitions and new commands --- +% ok, let's start + +\begin{document} + +\pagenumbering{roman} +\setlength{\parindent}{0pt} +\setlength{\parskip}{3pt} + +\title{\LaTeX{} for Word Processor Users\\version \version} + +\author{Guido Gonzato, Ph.D.\\ +\texttt{guido.gonzato@gmail.com}} + +% I want to use the dagger sign as footnote symbol +\renewcommand{\thefootnote}{\fnsymbol{footnote}} +\setcounter{footnote}{2} + +\date{\today} + +% let's put things back to normal +\renewcommand{\thefootnote}{\arabic{footnote}} +\setcounter{footnote}{1} + +\maketitle + +\begin{abstract} + + Text processing with \LaTeX{} offers several advantages over word + processing. However, beginners may find it hard to figure out how to + perform common tasks and obtain certain features. This manual + attempts to ease the transition by drawing comparisons between word + processing and \LaTeX{} typesetting. The main word processor + capabilities are listed, along with their equivalent \LaTeX{} + commands. Many examples are provided. + +\end{abstract} + +\begin{footnotesize} + \tableofcontents + \listoftables + \listoffigures +\end{footnotesize} + +% INTRODUCTION + +% \pagestyle{fancy} +\pagenumbering{arabic} + +\section{Introduction} + +First of all, let me state that this is \emph{not} a \LaTeX{} primer! +If you're reading this document, I assume that you have at least a +basic understanding of \LaTeX{} and of its basic commands. In this +guide, I'll explain how to replace a word processor effectively using +\LaTeX. + +Word processors are the `killer app' in modern office automation. +They're perceived to be easier than \LaTeX{} as they have a friendly +WYSIWYG interface, and the average secretary will learn to use them in +a relatively short time. The problem is, these beasts keep growing +slow, bloated,\footnote{once upon a time, I wrote my thesis on a 128k +RAM, Z80-based home computer. The word processor WordStar and my +thesis fit on a single CP/M-bootable 720K floppy, with lots of room to +spare!} buggy, crash-prone, expensive, virus ridden, and incompatible +with each other. Not to talk about their default output quality. + +\LaTeX{} is an excellent alternative (in some cases, it is the +\emph{only} viable alternative); but it's not much intuitive for those +accustomed to WYSIWYG. + +To sum up, sometimes you may want to use word processor-like +features---but using \LaTeX. It would be nice to know how to obtain +some effects with \LaTeX{} when you know how to get them with your +once-favourite \texttt{:-)} word processor. + +That's why I wrote this quick reference. As I said, it assumes some +basic \LaTeX{} knowledge; if it's not the case, I suggest that you go +to \url{http://www.ctan.org/starter.html} and download +\href{http://www.ctan.org/tex-archive/info/lshort/}{The (Not So) Short +Introduction to \LaTeX2e{}}. Another good primer is +\url{http://en.wikibooks.org/wiki/LaTeX/}. + +In the following sections, we shall navigate through the menus and +menu items of an imaginary word processor, finding out the +corresponding \LaTeX{} way of doing the same work. + +% ----- + +% WP WITH LATEX + +\subsection{Preliminaries} + +Many word processor features are implemented by the editor; others by +standard \LaTeX{} commands; others still are obtained using +\emph{packages}. These are sets of macros that extend \LaTeX{} +providing new commands and environments. There are lots of packages +around: the only problem is knowing where they are, what they do, and +how to install them. More about packages in +Section~\ref{sec:packages}. + +Packages and other \TeX{}-related material are available at many sites +that constitute the CTAN: the Comprehensive TeX Archive Network. I +already mentioned \url{http://www.ctan.org}; this site has a wide list +of mirrors. From now on, \href{http://www.ctan.org}{CTAN:} means `your +favourite CTAN mirror here, starting from the \TeX{} directory'. For +instance, you can get \LaTeX{} for your platform from +\href{http://www.tex.ac.uk/tex-archive/systems}{CTAN://systems} (e.g., +\url{http://www.tex.ac.uk/tex-archive/systems/}). + +To write your documents, you will need a good text editor. A better +choice for beginners is a \emph{\LaTeX{} IDE}: an editor dedicated +to writing \LaTeX{} source, with preview and many facilities. + +I suggest that you install one of the programs listed below; all of +them are Free/Open Source software. + +\begin{itemize} + + \item Texmaker (multiplatform):\\ + \url{http://www.xm1math.net/texmaker/index.html} + + \item TeXstudio (multiplatform):\\ + \url{http://texstudio.sourceforge.net/} + + \item TeXworks (multiplatform):\\ + \url{http://tug.org/texworks/} + +% \item LyX, an almost-WYSIWYG \LaTeX{} editor (multiplatform):\\ +% \url{http://www.lyx.org/} + + \item TeXShop (Mac OS X):\\ + \url{http://www.uoregon.edu/~koch/texshop/} + + \item TeXnicCenter (Windows):\\ + \url{http://www.texniccenter.org/} + +\end{itemize} + +Information about \LaTeX{} on the Mac can be found at +\url{http://www.esm.psu.edu/mac-tex/}. + +% ----- + +% EDITOR-SUPPORTED + +\subsubsection{Editor-Supported Features} + +\LaTeX{} is just a formatter: things like cut and paste, search and +replace etc. are delegated to the editor. Table~\ref{tab:editing} +summarises the main commands of popular editors for geeks: GNU +\app{emacs} and \app{vim} with their native key bindings, and +\app{jed} configured for Borland IDE key bindings. + +\begin{table}[htbp] +\begin{center} +\begin{tabular}{|lccc|} \hline +\textbf{Action} & \textbf{Emacs} & \textbf{Vim} & \textbf{Jed} \\ +\hline +command mode & \texttt{Alt-X} & \texttt{ESC} & \texttt{Alt-X} \\ +insert mode & n/a & \texttt{i a o O} & n/a \\ +line editor mode & n/a & \texttt{:} & n/a \\ +%\hline +\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}file operations}} \\ +%\hline +open file & \texttt{Ctrl-X Ctrl-F} & \texttt{:e} & \texttt{Ctrl-KE}\\ +insert file & \texttt{Ctrl-Xi} & \texttt{:r} & \texttt{Ctrl-KR}\\ +save file & \texttt{Ctrl-X Ctrl-S} & \texttt{:w} & \texttt{Ctrl-KD}\\ +save as & \texttt{Ctrl-X Ctrl-W name} & \texttt{:w name} & \texttt{Ctrl-KS}\\ +close file & \texttt{Ctrl-XK} & \texttt{:q} & \texttt{Ctrl-KQ}\\ +change buffer & \texttt{Ctrl-XB} & \texttt{bN} & \texttt{Ctrl-KN}\\ +undo & \texttt{Ctrl-XU} & \texttt{u} & \texttt{Ctrl-U}\\ +redo & \texttt{Ctrl-\^} & \texttt{Ctrl-R} & \texttt{Ctrl-G Ctrl-U}\\ +exit & \texttt{Ctrl-X Ctrl-C} & \texttt{:qa!} & \texttt{Ctrl-KX}\\ +%\hline +\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}moving around}}\\ +%\hline +word left & \texttt{Alt-B} & \texttt{b} & \texttt{Ctrl-A}\\ +word right & \texttt{Alt-F} & \texttt{w} & \texttt{Ctrl-F}\\ +start of line & \texttt{Ctrl-A} & \texttt{0} & \texttt{Ctrl-QS}\\ +end of line & \texttt{Ctrl-E} & \texttt{\$} & \texttt{Ctrl-QD}\\ +page up & \texttt{Alt-V} & \texttt{Ctrl-U} & \texttt{Ctrl-R}\\ +page down & \texttt{Ctrl-V} & \texttt{Ctrl-D} & \texttt{Ctrl-C}\\ +start of buffer & \texttt{Alt-<} & \texttt{1G} & \texttt{Ctrl-QR}\\ +end of buffer & \texttt{Alt->} & \texttt{G} & \texttt{Ctrl-QC}\\ +line n. & \texttt{Alt-G n.} & \texttt{n.G} & \texttt{Ctrl-QI}\\ +%\hline +\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}deleting}}\\ +%\hline +character left & \texttt{Ctrl-H} & \texttt{X} & \texttt{BS}\\ +character right & \texttt{Ctrl-D} & \texttt{x} & \texttt{Alt-G}\\ +word left & \texttt{Alt-DEL} & \texttt{db} & \texttt{Alt-BS}\\ +word right & \texttt{Alt-D} & \texttt{dw} &\texttt{Ctrl-T} \\ +end of line & \texttt{Ctrl-K} & \texttt{d\$} & \texttt{Ctrl-QY} \\ +line & \texttt{Ctrl-A Ctrl-K} & \texttt{dd} & \texttt{Ctrl-Y} \\ +%\hline +\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}search \& replace}}\\ +%\hline +search & \texttt{Ctrl-S text} & \texttt{/text} & \texttt{Ctrl-QS}\\ +replace & \texttt{Alt-\%} & \texttt{:s/old/new/g} & \texttt{Ctrl-QA}\\ +%\hline +\multicolumn{4}{|c|}{\textit{\rule{0pt}{0.3cm}blocks}}\\ +%\hline +start selection & \texttt{Ctrl-SPACE} & \texttt{v} & \texttt{Ctrl-KB} \\ +cut & \texttt{Ctrl-W} & \texttt{D} & \texttt{Ctrl-KY} \\ +copy & \texttt{Alt-W} & \texttt{Y} & \texttt{Ctrl-KH} \\ +paste & \texttt{Ctrl-Y} & \texttt{P} & \texttt{Ctrl-KC} \\ +\hline +\end{tabular} +\caption{Useful key bindings for Emacs, Vim, and Jed in IDE mode.} +\label{tab:editing} +\end{center} +\end{table} + +% ----- + +% ADDING PACKAGES + +\subsubsection{Adding Packages} +\label{sec:packages} + +The following information applies to \app{TeX Live}, which ships with +most GNU/Linux distributions. It may also work on MacTeX, but I have +no first-hand experience. Instructions for MiK\TeX{} (probably the +most popular implementation for Windows) will follow below. + +A large collection of \LaTeX{} packages is natively supported; for +instance, Ubuntu provides lots of \app{texlive-*} packages. Please +note the ambiguity: we're talking of \texttt{.deb} \emph{packages} +containing \LaTeX{} \emph{packages}. + +If you need to install an unsupported package, do the following. + +\begin{enumerate} + + \item create this directory structure: + + \begin{verbatim} + $ mkdir -p ~/texmf/tex/latex + \end{verbatim} + + Under this directory, new packages will be installed. + + \item get the package (typically as a zip-compressed directory) from + your favourite CTAN mirror; let's call it \app{foo.zip} + + \item unpack it in the right place: + + \begin{verbatim} + $ mkdir ~/texmf/tex/latex/foo + $ mv foo.zip ~/texmf/tex/latex/foo + $ cd ~/texmf/tex/latex/foo ; unzip foo.zip + \end{verbatim} + + \item If no \texttt{.sty} file exists, run the command + \texttt{latex foo.ins} or \texttt{latex foo.dtx} to create it; + + \item run the command \cmdline{texhash \~{}/texmf}. + +\end{enumerate} + +To add a package to MiK\TeX, create the directory +\path{\latex\newpackage} under \path{C:\localtexmf\tex\} and put the +relevant files in there. Proceed as above, then run MiKTeX Options and +click on the `Refresh now' button. Alternatively, issue the command +\cmdline{initexmf -u}. That's it! + +Once a package is installed, you make it available in your documents +adding a line under the \texttt{documentclass} declaration: + +\begin{verbatim} +\usepackage{foo} +\end{verbatim} + +% ----- + +\subsubsection{Adding the Info Page} +\label{sec:infopage} + +`Man' and `Info' pages are command-line sources of documentation for +software, widely employed in \unix{} and Linux systems. If your +\LaTeX{} distributions lacks the \file{latex2e.info} info page, do the +following: + +\begin{enumerate} + + \item download it from + \url{http://tug.ctan.org/info/latex2e-help-texinfo/latex2e.info}; + + \item run these commands: + + \begin{verbatim} + $ sudo cp latex2e.info /usr/share/info/ + $ sudo ginstall-info latex2e.info dir + \end{verbatim} + +\end{enumerate} + +Now, \cmdline{info latex} or \cmdline{info latex2e} is available. + +% ----- + +% GOLDEN RULES + +\subsection{The Golden Rules} + +Before we start, please keep this in mind: + +\begin{enumerate} + + \item get used to \emph{structuring} your documents: think in terms of + parts, chapters, sections, and so on. This holds true even if you're + not writing a scientific paper. + + \item \LaTeX{} explicitly discourages the user from messing about with + formatting parameters. Don't worry too much about the \emph{looks} + of what you're writing, concentrate on the \emph{contents}. + +\end{enumerate} + +Applying these simple rules, your printed material will magically look +professional. + +That said, this guide (which breaks the second rule somehow!) will +help you overcome the second rule. So, you will also be able to +compose unstructured material such as circulars, notices, poster, etc. + + +\bigskip +{\color{blue} \dingline{45}} + +% ----- + +% FILE + +\section{The \menu{File} Menu} + +Obviously, some entries of this menu have nothing to do with \LaTeX{}: +\entry{File}{Open}, \entry{File}{Save}, \entry{File}{Close} depend on +the editor. + +% ----- + +% FILE/NEW + +\subsection{\entry{File}{New}} +\label{sec:filenew} + +This is the \LaTeX{} equivalent of a blank page: + +\begin{Verbatim}[fontsize=\small] +\documentclass{article} +\thispagestyle{empty} % no page number +\begin{document} +% This is a comment. Write your stuff here. +\end{document} +\end{Verbatim} + +As documents written in \LaTeX{} are inherently structured, this is a +more realistic example: + +\begin{Verbatim}[fontsize=\small] +\documentclass[a4paper,12pt]{article} +\begin{document} +\title{My Document} +\author{John Smith} +\date{London, \today} +\maketitle +\begin{abstract} +This is a very short article. +\end{abstract} +\tableofcontents +\listoftables +\listoffigures +\section{First Section} +\label{sec:start} +This is the text of the section. See \cite{Gonzato} for details. +\section{End} +\label{sec:end} +This is the end of the document. Please go to Section +\ref{sec:start} to read it again. +\begin{thebibliography}{99} +\bibitem{Gonzato} Gonzato G. \textit{\LaTeX{} for Word Processor +Users}. CTAN, 2001--2015. +\end{thebibliography} +\end{document} +\end{Verbatim} + +More document templates are listed in Appendix~\ref{ap:templates}. + +% ----- + +% FILE/SAVE AS + +\subsection{\entry{File}{Save As{\ldots}}} + +The following tools are handy if you want to convert \LaTeX{} to other +formats: + +\begin{itemize} + + \item \app{\TeX4ht} is probably the best \LaTeX{} to HTML converter:\\ + \url{http://tug.org/tex4ht} + + \item \app{latex2html}, another converter to HTML:\\ + \url{http://saftsack.fs.uni-bayreuth.de/~latex2ht/},\\ + \href{http://www.ctan.org/tex-archive/support/latex2html} + {CTAN://support/latex2html} + + \item \app{latex2rtf}, a converter to Rich Text Format:\\ + \href{http://www.ctan.org/tex-archive/support/latex2rtf} + {CTAN://support/latex2rtf} + + \item \app{detex} (a command line converter) removes all \LaTeX{} tags and + outputs plain text:\\ + \url{http://www.cs.purdue.edu/homes/trinkle/detex/}, \\ + \href{http://www.ctan.org/tex-archive/support/detex} + {CTAN://support/detex/} + + +\end{itemize} + +See also Section~\ref{sec:prpreview} for details on PDF creation. + +% ----- + +% FILE/SAVE AS TEMPLATE + +\subsection{\entry{File}{Save As Template}} + +Saving a \LaTeX{} `template' would mean, as I see it, create a new +\LaTeX{} package. This is complex matter that goes beyond the scopes +of this guide. + +% ----- + +% FILE/IMPORT + +\subsection{\entry{File}{Import}} + +These tools convert from other formats to \LaTeX{}: + +\begin{itemize} + + \item \app{rtf2latex}: + \href{http://www.ctan.org/tex-archive/support/rtf2latex} + {CTAN://support/rtf2latex} + + \item \app{html2latex}: + \href{http://www.ctan.org/tex-archive/support/html2latex} + {CTAN://support/html2latex} + + \item \app{wvware} is a set of tools that convert from MS Word to + several formats including \LaTeX{}; + \url{http://wvware.sourceforge.net} + + \item the free word processor Abiword, \url{http://www.abiword.org}, + imports MS Word and can export \LaTeX. + + \item \app{txt2tex}: + \href{http://www.ctan.org/tex-archive/support/txt2tex} + {CTAN://support/txt2tex} does a fairly good job at converting plain + text files into \LaTeX. + +\end{itemize} + +Other \texttt{*2latex} converters are available at the same address. + +Another interesting extension is OOoLatex, a set of macros for +OpenOffice: \url{http://ooolatex.sourceforge.net/}. Libreoffice users +have an equivalent extension called TexMaths, +\url{http://roland65.free.fr/texmaths/}. + + +% ----- + +% FILE/PAGE SETUP + +\subsection{\entry{File}{Page Setup}} +\label{sec:pagesetup} + +The normal method for setting paper size, orientation, and margins, is +to use parameters in \cmd{documentclass}. Paper size can be +\parm{a4paper}, \parm{a5paper}, \parm{b5paper}, \parm{letterpaper}, +\parm{legalpaper}, \parm{executivepaper}; orientation is +\parm{portrait} by default, or optionally \parm{landscape}. For +example, + +\begin{Verbatim}[fontsize=\small] +\documentclass[a5paper,landscape,12pt]{article} +\end{Verbatim} + +Document-wide margins are set with the \cmd{setlength} command, which +is used to change the value of variables and counters: + +\begin{Verbatim}[fontsize=\small] +\setlength{\leftmargin}{2cm} +\setlength{\rightmargin}{2cm} +\setlength{\oddsidemargin}{2cm} +\setlength{\evensidemargin}{2cm} +\setlength{\topmargin}{-1cm} +\setlength{\textwidth}{18cm} +\setlength{\textheight}{25cm} +\end{Verbatim} + +The \package{geometry} package allows for complete control of +parameters such as paper size, margins width, and so on. +\package{geometry} has far too many options to list them all, and +you're invited to read its documentation. A fairly complete example of +its usage is shown below. In this example, some parameters are not +compatible with each other, and are there for purpose of argument +only. + +\begin{Verbatim}[fontsize=\small] +\usepackage{geometry} % top of document +... +\geometry{paperwidth=25cm} +\geometry{paperheight=35cm} +% or: \geometry{papersize={25cm,35cm}} +\geometry{width=20cm} % total width +\geometry{heigth=30cm} % total heigth +% or: \geometry{total={20cm,30cm}} +\geometry{textwidth=18cm} % width - marginpar +\geometry{textheight=25cm} % heigth - header - footer +% or: \geometry{body={18cm,25cm}} +\geometry{left=3cm} % left margin +\geometry{right=1.5cm} % right margin +% or: \geometry{hmargin={3cm,2cm}} +\geometry{top=2cm} % top margin +\geometry{bottom=3cm} % bottom margin +% or: \geometry{vmargin={2cm,3cm}} +\geometry{marginparwidth=2cm} +\geometry{head=1cm} % header space +\end{Verbatim} + +Options can also be set this way: + +\begin{Verbatim}[fontsize=\small] +\usepackage[left=3cm, right=2cm]{geometry} +\end{Verbatim} + +% ----- + +% FILE/PAGE SETUP/HEADERS AND FOOTERS + +\subsubsection{\entry{Page Setup}{Headers and Footers}} +\label{sec:headers_footers} + +The \package{fancyhdr} package provides the new command +\cmd{pagestyle\{fancy\}}. This will create a header reporting the +current section (\style{chapter} in \style{book.cls}) and subsection, +and a footer with the page number: pretty fancy indeed. Headers and +footers can obviously be customised. They are made of three parts: a +left-aligned part, a centre-aligned part, and a right-aligned part. To +set those, use the commands like in this example: + +\begin{Verbatim}[fontsize=\small] +\usepackage{fancyhdr} +... +\lhead{} % empty +\chead{Hello, world!} +\rhead{Page \thepage} % page number +\lfoot{} +\cfoot{\textbf{Hello!}} +\rfoot{} +\end{Verbatim} + +% ----- + +% FILE/PRINTER SETUP + +\subsection{\entry{File}{Printer Setup}} + +This is highly OS-dependent, and definitely outside of the scopes of +\LaTeX{}. Assuming that you're using a \unix-like system, these tips +may come in handy: + +\begin{itemize} + + \item \cmdline{lpr -P printername} prints to the specified printer; + + \item \cmdline{lpr -\# 10} prints 10 copies; + + \item \cmdline{lpr -r} removes the file after printing it + +\end{itemize} + +See below for more tips. + +% ----- + +% FILE/PRINT PREVIEW + +\subsection{\entry{File}{Print Preview}} +\label{sec:prpreview} + +When the \LaTeX{} input file is ready, you have several options: + +\begin{itemize} + + \item convert it to \file{.dvi} (\cmdline{latex file.tex}) and previewing + it with \app{xdvi}, \app{yap} or other DVI previewer; + + \item convert the \file{.dvi} to \PS{} with \app{dvips}, then use + some variant of \app{Ghostview}; + + \item producing a \file{.pdf} file with \app{dvipdf} or directly + with \app{pdflatex}. + +\end{itemize} + +In my opinion, producing a \file{.pdf} file is the best option, as it +makes for widest portability. + +While \app{dvipdf} is just a script that converts the \file{.dvi} to +\file{.ps} then to \file{.pdf}, using \app{pdflatex} is more +interesting. In fact, some packages like \package{hyperref} and +\package{url} make the resulting \file{.pdf} file browseable; see +Section~\ref{sec:hyperlink}. However, \note{} using \app{pdflatex} you +might experience problems with other packages. More details in +Section~\ref{sec:figure}. + +% ----- + +% FILE/PRINT + +\subsection{\entry{File}{Print}} + +Simply use \cmdline{lpr file.ps} from the command line, or via the +\entry{File}{Print} menu entry of your previewer. + +% ----- + +% FILE/VERSIONS + +\subsection{\entry{File}{Versions}} + +Although the \package{version} package provides basic facilities for +versioning \LaTeX{} sources, using external tools is usually a better +choice. + +There are lots of programs for revision control and collaborative +writing. While old-style geeks may want to use a single-user tool like +RCS (I do), more powerful and multi-user tools like Subversion, Git, +Mercurial etc.\ may be preferable. Some of them are integrated with +the editor. + +An introduction to \LaTeX{} and Subversion is here:\\ +\url{http://tug.org/pracjourn/2007-3/kalderon-svnmulti/}. + +% ----- + +% EDIT + +\section{The \menu{Edit} Menu} + +This menu has more to do with the editor than \LaTeX{} features. To +begin with, refer to Table~\ref{tab:editing} that shows the key +bindings for the entries \entry{Edit}{Cut}, \entry{Edit}{Copy}, +\entry{Edit}{Paste}, \entry{Edit}{Find}, and \entry{Edit}{Replace} of +some common editors. + +Selecting text is not only performed for subsequent cut and paste, but +also for applying styles to the selected text. The equivalent action +in \LaTeX{} is to enclose the text either between braces, or in an +environment. For example, to apply the bold attribute to a portion of +text you will use one of the following: + +\begin{example} +this is \textbf{bold text;}\\ +this is also +{\bfseries bold text;}\\ +\begin{bfseries} +this is bold text, too! +\end{bfseries} +\end{example} + +% ----- + +% EDIT/AUTOTEXT + +\subsection{\entry{Edit}{Autotext}} + +We call \emph{autotext} the feature that makes you type, say, `PS' to +have the word `PostScript' automatically expanded. This is an editor +feature, but there's a rough \LaTeX{} equivalent: + +\begin{Verbatim}[fontsize=\small] +\def\PS {\textsc{PostScript}} +\end{Verbatim} + +which will insert the equivalent of \verb|\textsc{PostScript}| +whenever you type \verb|\PS|. Beware, case is important. + +% ----- + +% INSERT + +\section{The \menu{Insert} Menu} +\label{sec:menu_insert} + +% ----- + +% INSERT/BREAKS + +\subsection{\entry{Insert}{Breaks}} + +\begin{itemize} + + \item a non-breakable space is set with \textasciitilde{} (tilde) + + \item to force a line break, use \cmd{linebreak} or \cmd{newline}; + see below for details + + \item to start a new paragraph use a blank line, or \cmd{\bs} (possibly + followed by an optional space, as in \cmd{\bs[1cm]}), or \cmd{par} + + \item finally, for a page break use \cmd{newpage} or \cmd{clearpage} + +\end{itemize} + +Unlike \cmd{newline}, \cmd{linebreak} stretches the line to the +margins: + +\begin{example} +I am stretched!\linebreak +But I am not.\newline +Ok, now you get it. +\end{example} + +Besides, \cmd{clearpage} differs from \cmd{newpage} in that it prints +all pending \emph{floats}, that is figures and tables. Floats will be +explained in Section~\ref{sec:figure}. + +% ----- + +% INSERT/ENUMERATED LIST + +\subsection{\entry{Insert}{Enumerated List}} + +Bulleted and enumerated lists correspond to the \env{itemize} and +\env{enumerate} environments. To customise the bullet in a list +environment, you can specify it as an argument to \cmd{item}: + +\begin{example} +\begin{itemize} + \item[*] with an asterisk; + \item[-] with a dash; + \item[.] with a dot. +\end{itemize} +\end{example} + +Another way is to redefine the style of the +\emph{counters}\footnote{each text element numbered by \LaTeX{} +(sections, lists, figures, etc.) has a counter associated with it.} +hat refer to the digits in the first- to fourth-level lists. These +counters are \cmd{labelitemi}, \cmd{labelitemii}, \cmd{labelitemiii} +and \cmd{labelitemiv} for itemised lists; \cmd{labelenumi}, +\cmd{labelenumii}, \cmd{labelenumiii} and \cmd{labelenumiv} for +enumerated lists. + +There are several styles: \cmd{arabic} for `normal' numbers, +\cmd{roman} for lower-case roman numerals (e.g., viii is 8), +\cmd{Roman} for upper-case roman numerals, \cmd{alph} and \cmd{Alph} +for lower- and upper-case letters, and \cmd{fnsymbol} that I will not +explain for now: + +\begin{example} +\begin{itemize} +\renewcommand{\labelitemi}{*} +\renewcommand{\labelitemii}{-} + \item first level, item 1 + \item first level, item 2 + \begin{itemize} + \item second level, item 1 + \item second level, item 2 + \end{itemize} + \item first level, item 3 +\end{itemize} +\end{example} + +To use, say, roman numbers and uppercase letters in enumerated lists, +do this: + +\begin{example} +\begin{enumerate} +\renewcommand{\labelenumi} + {\Alph{enumi}} +\renewcommand{\labelenumii} + {\roman{enumii}} + \item first level, item 1 + \item first level, item 2 + \begin{enumerate} + \item second level, item 1 + \item second level, item 2 + \end{enumerate} + \item first level, item 3 +\end{enumerate} +\end{example} + +Alternatively, use the \package{enumerate} package. It redefines the +\env{enumerate} environment with the ability to specify an optional +argument. Any occurrence of one of the characters \texttt{A a I i 1} +will produce the value of the counter, using (respectively) +\cmd{Alph}, \cmd{alph}, \cmd{Roman}, \cmd{roman}, or \cmd{arabic}. To +include some text, enclose it in braces: + +\begin{example} +\begin{enumerate}[{Example} I.] + \item First example.\label{item:first} + \item Second example. + \item Last example. + Go to Item~\ref{item:first}. +\end{enumerate} +\end{example} + +To change the number of an enumerated item, just redefine its counter: + +\begin{example} +\begin{enumerate} + \setcounter{enumi}{2} + \item Example 3. + \item Example 4. + \setcounter{enumi}{5} + \item Example 6. +\end{enumerate} +\end{example} + +Lists within paragraphs are implemented by the \package{paralist} +package, which provides the \env{inparaenum} environment: + +\begin{example} +I'll throw in a list of items: +\begin{inparaenum} + \item apples, + \item pears, and + \item oranges. +\end{inparaenum} +The same list can be labelled +with letters: +\begin{inparaenum} + [\itshape a) \upshape] + \item apples, \label{first} + \item pears, and + \item oranges. The first item is \ref{first}. +\end{inparaenum} +\end{example} + +As seen above, the characters \texttt{A a I i 1} can be used to modify +the counter. \package{paralist} can do much more, and I suggest that +you read its documentation. + +% Finally, to change the indentation and distance between items you do: + +% There are many counters associated with countable things like +% \cmd{section}, \cmd{page}, \cmd{table}, and so on: these have the same name +% of the environment or command that produces the number, but no leading \bs. + +% To force a counter to a given number, do something like this: + +% \begin{Verbatim}[fontsize=\small] +% \setcounter{counter_name}{value} +% \end{Verbatim} + +% For instance, to force a page number to 100 you'll do: + +% \begin{Verbatim}[fontsize=\small] +% \setcounter{page}{100} +% \end{Verbatim} + +% ----- + +% INSERT/SYMBOL + +\subsection{\entry{Insert}{Special Character}} + +First of all, let's remind that some characters have a special meaning +in \LaTeX{}. They must be entered either with a leading \bs, or using +them in math mode, or even writing special commands: see +Table~\ref{tab:characters}. + +\begin{table} +\begin{center} + \begin{tabular}{ll} + \hline + \textbf{Character} & \textbf{\LaTeX{} Sequence} \\ + \hline + \$ & \verb|\$| or \verb|\textdollar| \\ + \& & \verb|\&| \\ + \% & \verb|\%| \\ + \_ & \verb|\_| or \verb|\textunderscore| \\ + \{ & \verb|\{| or \verb|\textbraceleft| \\ + \} & \verb|\}| or \verb|\textbraceright| \\ + $<$ & \verb|$<$| or \verb|\textless| \\ + $>$ & \verb|$>$| or \verb|\textgreater| \\ + \bs & \verb|\textbackslash| \\ + \textbar & \verb|\textbar| \\ + \textbullet & \verb|\textbullet| \\ + \textdaggerdbl & \verb|\textdaggerdbl| \\ + \textdagger & \verb|\textdagger| \\ + \textparagraph & \verb|\textparagraph| \\ + \textsection & \verb|\textsection| \\ + \textcopyright & \verb|\textcopyright| \\ + \textasciicircum & \verb|\textasciicircum| \\ + \textasciitilde & \verb|\textasciitilde| or \verb|\~{}| \\ + $\sim$ & \verb|$\sim$| \\ + \textregistered & \verb|\textregistered| \\ + \texttrademark & \verb|\texttrademark| \\ + \textordfeminine & \verb|\textordfeminine| \\ + \textordmasculine & \verb|\textordmasculine| \\ + \hline + \end{tabular} + \caption{How to obtain some special characters.} + \label{tab:characters} +\end{center} +\end{table} + +Another way to enter special characters is using their ASCII code and +the \cmd{char} command. For example, you could insert the characters +\texttt{\char36 \char38 \char94 \char126} entering \cmd{char36} +\cmd{char38} \cmd{char94} \cmd{char126}. + +There are packages that provide thousands of unusual characters and +symbols. For instance, \package{pifont} provides the commands +\cmd{ding}, \cmd{dingfill}, \cmd{dingline}, and \cmd{dinglist}. The +first command produces the Dingbat character of the specified code. +The other commands are equivalent to the \cmd{fill}, \cmd{line}, and +\cmd{list} commands and environment, but use the Dingbat code given as +parameter: + +\begin{example} +\begin{dinglist}{43} + \item one + \item two + \item three +\end{dinglist} +\end{example} + +Another nice variant is this: + +\begin{example} +\begin{dingautolist}{172} + \item one + \item two + \item three +\end{dingautolist} +\end{example} + +There are far too many symbols to mention them all in this guide. +Rather, I'll point you to `The Comprehensive \LaTeX{} Symbol List' at +\href{http://www.ctan.org/tex-archive/info/symbols/comprehensive} +{CTAN://info/symbols/comprehensive}. + +% ----- + +\subsubsection{The \euro{} Sign} + +The official Euro sign is provided by the \package{eurosym} package, +which can be used in two ways: + +\begin{verbatim} +\usepackage[gen]{eurosym} +\usepackage[official]{eurosym} +\end{verbatim} + +Both provide the \cmd{euro} command, which produces \euro. The actual +shape of the symbol depends on the declaration: the \verb|[gen]| +option provides a symbol that works with all font styles; the second +declaration produces \officialeuro. Please note the difference. The +latter shape can always be obtained with \cmd{officialeuro}. + +Another package that provides the Euro sign is \package{marvosym}, +which also provides many more fine characters. You get \EUR{} with +\cmd{EUR}. + +% ----- + +% INSERT/FORMULA + +\subsection{\entry{Insert}{Formula}} + +\LaTeX{} is particularly strong at typesetting math. To insert math +symbols in the main text, you must enclose them between \texttt{\$}: + +\begin{example} +I like math: $x^n + y^n \neq +z^n \forall n \neq 2$ +is my favourite theorem. +\end{example} + +The environments \env{displaymath} and \env{equation} typeset formulae +aside from the text. The latter adds an equation number for later +reference: + +\begin{example} +Fermat's Last Theorem is +defined as: +\begin{equation} +x^n + y^n \neq z^n +\forall n \neq 2 +\label{eq:fermat} +\end{equation} +Can you prove +Eq.~\ref{eq:fermat}? +\end{example} + +% ----- + +% INSERT/FOOTNOTE + +\subsection{\entry{Insert}{Footnote}} + +The command \verb|\footnote[n]{footnote text}| is all you need; the +optional parameter \verb|[n]| modifies the footnote number. The +\verb|\footnote| command should be placed after commas, full stops, +and other punctuation signs that follow the word. + +To use a symbol or arbitrary text instead of a number, redefine the +counter associated with \cmd{footnote}: + +% can't use example, it uses minipages! +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] +\renewcommand{\thefootnote}{read me!} +This footnote\footnote +{I mean this one.} +says it all. + \end{Verbatim} +\end{minipage}% +\begin{boxedminipage}[c]{0.5\textwidth} + \renewcommand{\thempfootnote}{read me!} + This footnote\footnote + {I mean this one.} + says it all. +\end{boxedminipage} + +\medskip + +Using this method, you can get footnote numbers in roman numerals, or +replaced by nice symbols: + +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] +\renewcommand{\thefootnote} +{\Roman{footnote}} +This\footnote{The first.} +is the first footnote, +and this\footnote{The second.} +is the second. +\renewcommand{\thefootnote} +{\fnsymbol{footnote}} +The end.\footnote[8]{At last!} + \end{Verbatim} +\end{minipage}% +\begin{boxedminipage}[c]{0.5\textwidth} + \renewcommand{\thempfootnote} + {\Roman{footnote}} + This\footnote{The first.} + is the first footnote, + and this\footnote{The second.} + is the second. + \renewcommand{\thempfootnote} + {\fnsymbol{footnote}} + The end.\footnote[8]{At last!} +\end{boxedminipage} + +\medskip + +Note the \verb|\fnsymbol{footnote}| thing. It uses 9 symbols +associated with the values 1{\ldots}9 of the \texttt{footnote} +counter: \fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym} +\stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym} +\fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym} +\stepcounter{fnsym} \fnsymbol{fnsym} \stepcounter{fnsym} +\fnsymbol{fnsym} \stepcounter{fnsym} \fnsymbol{fnsym} +\stepcounter{fnsym} \fnsymbol{fnsym}. + +% gosh. How do you write the `for ()' loop in TeX? + +To make several references to the same footnote, don't write its +number explicitly. Rather, do this: + +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] +This\footnote{the first.} +\newcounter{\myfootnote} +\setcounter{\myfootnote} + {\value{footnote}} +and that\footnote{the second.} +are footnotes: please read note +\footnotemark +[\value{\myfootnote}] again. + \end{Verbatim} +\end{minipage}% +\begin{boxedminipage}[c]{0.5\textwidth} +\renewcommand{\thempfootnote}{\arabic{mpfootnote}} +This\footnote{the first.} \newcounter{myfootnote}% +\setcounter{myfootnote}{\value{mpfootnote}}% +and this\footnote{the second.} are footnotes: please read note% +\footnotemark[\value{myfootnote}] again. +% This footnote\footnote{I mean this one.} says it all. Please read +% note\footnotemark[\value{mpfootnote}] again. +\end{boxedminipage} + +\medskip + +Warning: minipages use their own counters, \texttt{mpfootnote} and +\texttt{thempfootnote}. + +% ----- + +\subsubsection{Footnotes at End of Document} + +The \package{endnotes} package lets you move all footnotes at the end +of the document. You'll have to add this line to the preamble: + +\begin{Verbatim}[fontsize=\small] +\let\footnote=\endnote +\end{Verbatim} + +and these lines as the last thing in your document: + +\begin{Verbatim}[fontsize=\small] +\newpage +\begingroup +\parindent 0pt +\parskip 2ex +\def\enotesize{\normalsize} +\theendnotes +\endgroup +\end{Verbatim} + +Other commands are available, please read the \file{endnotes.sty} +source. + +% ----- + +% INSERT/INDICES + +\subsection{\entry{Insert}{Indices}} +\label{sec:tocs} + +Generating and inserting a table of contents, list of tables, and list +of figures is a trivial task in \LaTeX. All you have to do is insert +these lines before the first \cmd{section} or \cmd{chapter} of your +document: + +\begin{Verbatim}[fontsize=\small] +\tableofcontents +\listoffigures +\listoftables +\end{Verbatim} + +% TO DO: \renewcommand{\contentsname}{Table of Contents} + +% TO DO: how to customise the table of contents. + +% The table of contents can be customised. + +% \setcounter{tocdepth}{3} + +% http://stackoverflow.com/questions/544051/how-does-one-change-the-paragraph-formatting-in-latex + + +% ----- + +% INSERT/SPACE + +\subsection{\entry{Insert}{Vertical and Horizontal Space}} +\label{sec:space} + +This entry doesn't actually exist in any word processor I am aware of. +This is in fact a limitation that \LaTeX{} fills in a very elegant +way. + +\emph{Space filling} is used to center text horizontally, vertically, +or both; this is a difficult task to perform with any word processor, +and requires a lot of trial end error. Use a combination of \cmd{null} +or \verb|~| to set fixed marks, followed by \cmd{vfill} and +\cmd{hfill} like in this example: + +\begin{example} +one \hfill two\\ +\vfill +~ \hfill three \hfill ~\\ +\vfill +four \hfill five +\null +\end{example} + +Normally, \LaTeX{} won't let you insert blank spaces at your will: two +or more are considered a single space. However, if you do want to make +your document look messy, use \verb|~| to make a non-breakable space. + +Also, use the command \cmd{hspace} like in this example: + +\begin{example} +This is a \hspace{2cm} +2-cm-wide hole. +\end{example} + +% ----- + +% INSERT/TABS + +\subsection{\entry{Insert}{Tabs}} + +The \env{tabbing} environment provides a rough equivalent to the +action of the TAB key, and it's used to align text in columns. These +are the most commonly used commands: + +\begin{center} + \begin{tabular}{ll} + \hline + \textbf{Command} & \textbf{Action} \\ + \hline + \verb|\=| & Sets a tab stop \\ + \verb|\>| & Advances to the next tab stop \\ + \verb|\+| & Sets the left margin one tab stop to the right \\ + \verb|\-| & Sets the left margin one tab stop to the left \\ + \verb|\\| & Ends a line \\ + \verb|\pushtabs| & Saves all tab stop positions \\ + \verb|\poptabs| & Restores previously saved tab stop positions \\ + \hline + \end{tabular} +\end{center} + +This example shows some of the available commands: + +\begin{example} +\begin{tabbing} +% let's set the tab positions +~ \hspace{1cm} \= ~ \hspace{2cm} \= +~ \hspace{3cm} \= \kill % discard text +Zero \> One \> Two \> Three \\ +Zero \> One \> \> Three \+ \\ % go right +Zero \> Two \> Three \- \\ % go left +Zero \> One \> Two \\ +\pushtabs % save tab positions +new tab 1{\ldots} \= new tab 2 \\ +new \> tab \\ +\poptabs % restore tab positions +Zero \> One \> Two \> Three +\end{tabbing} +\end{example} + +See also the \env{tabular} and \env{table} environments. + +% ----- + +% INSERT/CROSS REFERENCE + +\subsection{\entry{Insert}{Cross Reference}} +\label{sec:xrefs} + +The commands \cmd{label}, \cmd{ref}, and \cmd{pageref} are all you +need to insert labels in the text and do cross referencing. The +standard format of labels is the \texttt{prefix:suffix} form, where +\texttt{prefix} is one of the following: \texttt{cha} for chapters, +\texttt{eq} for equations, \texttt{fig} for figures, \texttt{sec} for +(sub)sections, and \texttt{tab} for tables. + +References to a page (section, table, figure, etc.) number can be +obtained using \cmd{label} and \cmd{ref} as in this example: + +\begin{example} +\paragraph{Example.} +\label{par:example} +This paragraph appears +in Section~\ref{par:example} +on page~\pageref{par:example}. +\end{example} + +Of course, you may use your own prefixes. For example, take this +enumerated list: + +\begin{example} +\begin{enumerate} + \item{first step: skip to + \ref{item:end} \label{item:start}} + \item{another step (unreferenced)} + \item{end: go back to + \ref{item:start} \label{item:end}} +\end{enumerate} +\end{example} + +% ----- + +% INSERT/MARGIN NOTES + +\subsection{\entry{Insert}{Margin Notes}} + +Very simple: use \verb|\marginpar{text}|. + +% ----- + +% INSERT/FRAME + +\subsection{\entry{Insert}{Text Frame}} + +A text frame is used to define a part of text that does not break +across pages. To place a text frame on a fixed position on the page, +use the \package{textpos} package, as shown in the example listed in +fig.~\ref{fig:poster} (see Appendix~\ref{ap:templates}). + +\setlength{\fboxsep}{5mm} + +\begin{center} + \begin{minipage}[c]{0.4\linewidth} + If you don't need to specify a fixed position, then use the + \env{minipage} (miniature page) environment. This text is enclosed + in a minipage{\ldots} + \end{minipage} + \begin{boxedminipage}[c]{0.4\linewidth} + {\ldots}and this is some other text enclosed in a + \env{boxedminipage} environment, provided by the package of same + name. +\end{boxedminipage} +\end{center} + +\setlength{\fboxsep}{3pt} % default + +I remind you what a \env{minipage} declaration looks like: + +\begin{verbatim} +\begin{minipage}[position]{width} +... +\end{minipage} +\end{verbatim} + +In a \env{boxedminipage}, the space between the frame and the text is +set with this command: + +\begin{verbatim} +\setlength{\fboxsep}{5mm} +\end{verbatim} + +% ----- + +% INSERT/FIGURE + +\subsection{\entry{Insert}{Figure}} +\label{sec:figure} + +(The reference guide for graphic inclusion in \LaTeX{} is `Using +Imported Graphics in \LaTeX2e', a.k.a. \texttt{epslatex.ps}.) + +A `figure' can be not only a picture, but also a portion of text, a +table, etc.\ that you put in a \env{figure} environment. This is an +example: + +\begin{figure}[htbp] + \begin{minipage}[c]{0.6\textwidth} + \begin{Verbatim}[fontsize=\small] +\begin{figure}[htbp] +% [htbp] specifies the +% preferred placement: here, top, +% bottom, or separate page. + \begin{center} + \texttt{=8-)} + \end{center} + \caption{A smiley representing + the author of this guide.} + \label{fig:mysmiley} +\end{figure} + \end{Verbatim} + \end{minipage}% + \begin{boxedminipage}[c]{0.4\textwidth} + \begin{center} + \texttt{=8-)} + \end{center} + \caption{A smiley representing the author of this guide.} + \label{fig:mysmiley} + \end{boxedminipage} +\end{figure} + +Please \note note that figures are not guaranteed to appear exactly +where you write the code! In fact, the main difference with word +processors is that figures don't have a fixed placement; they `float' +to the optimal position that \LaTeX{} finds for them. So, the text +shouldn't refer to a figure like `the figure below' or `the figure +above'; use `\verb|see fig.~\ref{fig:label}|' instead. + +Owing to this property, figures and tables are called \emph{floats}. +If you do need to position a float exactly, use the \package{here} +package that provides an optional placement argument \texttt{H} +(meaning, ``right HERE!''). + +Given a picture in Encapsulated \PS{} (\texttt{.eps}) format, you +insert it in a \LaTeX{} source file using the \package{graphicx} +package and commands like those shown in fig.~\ref{fig:gnuplot}. + +\medskip + +\begin{figure}[htbp] + \begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] +\begin{figure} +\begin{center} +\fbox{\includegraphics +[width=0.5\textwidth, angle=-90] +{gnuplot.ps}} +\caption{A Gnuplot graph.} +\label{fig:gnuplot} +\end{center} +\end{figure} + \end{Verbatim} + \end{minipage}% + \begin{minipage}[c]{0.5\textwidth} + \begin{center} + % I cheat! PDF only. + \fbox{\includegraphics[width=0.6\textwidth, angle=-90]{gnuplot.pdf}} + \caption{A Gnuplot graph.} + \label{fig:gnuplot} + \end{center} + \end{minipage} +\end{figure} + +When you typeset your document with \cmd{latex} then \app{dvips}, +graphic inclusion only works with \texttt{EPS} files; \app{pdflatex} +accepts JPG, PNG, and of course PDF files. The latter choice might be +preferable for most users. + +There are several packages that convert common graphic formats like +\file{.jpg}, \file{.gif}, \file{.png} etc. to \file{.eps} and/or +\file{.pdf}; for example, ImageMagik (\url{http://www.imagemagik.org}) +and The GIMP (\url{http://www.gimp.org}). However, these applications +produce huge \PS{} files. + +Best results are obtained using applications that wrap the bitmap, +turning it into a compact \PS{} file. You'll want to use \app{jpeg2ps} +(\url{http://www.pdflib.com/jpeg2ps/index.html}) or \app{bmeps} +(\href{http://www.ctan.org/tex-archive/support/bmeps} +{CTAN://support/bmeps}). The former is often the best choice for +wrapping \file{.jpg} files, but the latter handles more graphics +formats. + +If you wish to make both \file{.pdf} and \file{.ps} from the same +source file, include these commands: + +\begin{Verbatim}[fontsize=\small] +\usepackage{ifpdf} +... +% include the right options +\ifpdf + \usepackage[pdftex]{graphicx} + \pdfcompresslevel=9 +\else + \usepackage{graphicx} +\fi +... +% include the right graphic file +\ifpdf + \includegraphics{file.png} +\else + \includegraphics{file.eps} +\fi +\end{Verbatim} + +\begin{warn} + + If you have more than 18 figures without text between them, you'll + get the `Too many unprocessed floats' \LaTeX{} error. The quickest + way to solve this problem is to put \cmd{clearpage} after three or + four figures. + +\end{warn} + +% ----- + +\subsubsection{Wrapping Floats} + +For a magazine-like layout, use the \package{wrapfig} package: + +\begin{example} +If you meet this guy, give him some money. + +\begin{wrapfigure}[4]{l}[5pt]{2cm} +{\Huge + \texttt{=8-)} +} +\end{wrapfigure} + +The reason may not be apparent to you, +but I can assure that your money +will end up in good hands. +I say again, if you meet this guy, +give him some money: he knows how to +use it properly. OK? +\end{example} + +The parameters are the number of lines to be narrowed, the figure +placement, the overhang, and the figure width. + +% ----- + +% INSERT/SHAPES + +\subsection{\entry{Insert}{Shapes}} + +\LaTeX{} provides a \env{picture} environment whithin which you use +commands like \cmd{circle}, \cmd{oval} and so on. In my opinion, +drawing pictures without a graphical environment is just too hard, and +\env{picture} has several limitations too. It's much better to use a +couple of great programs, both free and open source: the vector +drawing program Inkscape, \url{https://inkscape.org/}, along with +Pstoedit, \url{http://www.pstoedit.net/}. + +Start Inkscape and draw any shape you wish using its tools. To insert +text rendered by \LaTeX, select \menu{Extensions/Render/LaTeX +formula...}, insert your text as in fig.~\ref{fig:ink1}, then click on +Apply. + +\begin{figure}[htbp] + \centering + \includegraphics[width=0.6\textwidth]{inkscape-tb.png} + \caption{Inserting a \LaTeX{} formula.} + \label{fig:ink1} +\end{figure} + +Your \LaTeX-rendered text will be included as a graphics object, and +you'll be able to edit it as you wish. The resulting picture can be +exported to several formats supported by \LaTeX, such as PDF, PNG, and +many others. More information here: +\url{http://www.ctan.org/tex-archive/info/svg-inkscape}. + +\begin{figure}[htbp] + \centering + \includegraphics[width=0.6\textwidth]{inkscape.png} + \caption{A \LaTeX{} object can be edited as desired.} + \label{fig:ink2} +\end{figure} + +If you wish to do real magic, then check out the following +packages/programs: + +\begin{itemize} + + \item \package{pgf} is a \TeX{} macro package for generating + graphics:\\ + \url{http://sourceforge.net/projects/pgf/} + + \item \package{GLE} (Graphics Layout Engine) is a graphics + scripting language designed for creating publication quality graphs, + plots, diagrams, figures and slides:\\ + \url{www.gle-graphics.org} + + \item Asymptote is a powerful descriptive vector graphics language + that provides a natural coordinate-based framework for technical + drawing:\\ + \url{http://asymptote.sourceforge.net/} + + \item ePiX, a collection of batch utilities for GNU/Linux and + similar platforms, creates mathematically accurate figures, plots, + and movies using easy-to-learn syntax:\\ + \url{http://mathcs.holycross.edu/~ahwang/current/ePiX.html}; + + \item \package{pstricks} is a set of macros that allow the inclusion + of PostScript drawings in \LaTeX{} documents:\\ + \url{http://tug.org/PSTricks/main.cgi/} + +\end{itemize} + +These packages let you make publication-quality \PS{} drawings in +\LaTeX. Many more are available; search the web for ``LaTeX vector +graphics''. + +Many more kinds of `shapes' can also be inserted. To whet your +appetite, please visit the \TeX{} Showcase page, +\url{http://www.tug.org/texshowcase/}. + +% ----- + +% INSERT/LINE + +\subsection{\entry{Insert}{Line}} + +Draw lines of any length and thickness with \cmd{rule}: + +\begin{example} +This is a page-wide +rule:\\ +\rule{\linewidth}{1pt} +but this one is shorter +and thicker:\\ +\rule{2cm}{2mm} +\end{example} + +Another interesting `line' is that made of dots (\cmd{dotfill}), often +used to relate things. This is how it's done: + +\begin{example} +Total price \dotfill \euro~10 +\end{example} + +% ----- + +% INSERT/HYPERLINK + +\subsection{\entry{Insert}{Hyperlink}} +\label{sec:hyperlink} + +The \package{hyperref} package lets you write URLs and other external +references. When used together with \app{dvipdf} or \app{pdflatex}, +\package{hyperref} lets you make browseable \file{.pdf} documents! For +instance, this document uses this declaration: + +\begin{Verbatim}[fontsize=\small] +\usepackage[colorlinks, + urlcolor=blue, + filecolor=magenta, + linkcolor=darkred, + hyperfootnotes=false]{hyperref} +\end{Verbatim} + +Let's see an example: + +\begin{example} +The \hypertarget{ctan}{CTAN} main site +is \url{http://www.ctan.org}, a.k.a +\href{http://www.ctan.org}{CTAN://}. + +Listen to \href{run:midifile.mid} +{this MIDI file}. + +Click \hyperlink{ctan}{here} to go +back to the top. +\end{example} + +As you can see, the \cmd{url} command typesets its contents using a +monospace font. To use the same font as the remaining text, use the +command: + +\begin{Verbatim} +\urlstyle{same} +\end{Verbatim} + +after the \cmd{hyperref} declaration. + +The \cmd{hypertarget} and \cmd{hyperlink} commands provide internal +links, just like HTML; \cmd{href} creates links to URLs or external +files. Note the \texttt{run:} parameter: you can run external programs +like multimedia players, office applications, whatever. As far as I +know, this feature only works in Adobe Reader, Okular, and Evince. + +On Linux and possibly other \unix{} variants, you'll have to instruct +your favourite PDF reader what to run when an external file is +referenced. Insert lines like the following in your \file{.mailcap} or +\file{/etc/mailcap}: + +\begin{verbatim} +audio/midi;/usr/bin/timidity %s +audio/*; xmms %s +video/*; xine -pfhq %s +\end{verbatim} + +Please read \package{hyperref}'s documentation for further examples +and possibilities. + +% ----- + +% INSERT/COMMENT + +\subsection{\entry{Insert}{Comment}} + +This is done inserting \% before each line, or by using the package +\package{comment} that provides the environment of the same name. + +% ----- + +% FORMAT + +\section{The \menu{Format} Menu} + +In general, the main format properties of a document are set with +parame\-ters in \cmd{document\-class}: default font size (10, 11, or +12pt), paper (\texttt{a4paper}, \texttt{a5paper}, \texttt{b5paper}, +\texttt{letterpaper}, \texttt{legalpaper}, \texttt{executivepaper}), +and orientation (\texttt{portrait}, \texttt{landscape}). For example, + +\begin{Verbatim}[fontsize=\small] +\documentclass[a5paper,landscape,12pt]{article} +\end{Verbatim} + +Alternative font sizes can be specified as explained in +Section~\ref{sec:extsizes}. + +% ----- + +% FORMAT/LINE SPACING + +\subsection{\entry{Format}{Line Spacing}} + +The package \package{setspace} provide the environments +\env{singlespace}, \env{onehalfspace}, and \env{double\-space}. In +addition, the environment/command \cmd{spacing}\cmdparm{\{amount\}} +will set the spacing to the specified amount: + +\begin{example} +\begin{spacing}{2.5} +These two lines \\ +are crazily spaced! +\end{spacing} +\begin{spacing}{1} +Much better, these lines\\ +have a pretty space. +\end{spacing} +\end{example} + +To apply line spacing to the whole document, use the +\cmd{linespread\{factor\}} command in the preamble. Default value of +\texttt{factor} is 1; larger values give larger line spacing (1.6 is +roughly double line spacing). + +% ----- + +% FORMAT/CHARACTER + +\subsection{\entry{Format}{Character}} + +Standard character properties are listed in +Table~\ref{tab:properties}, font sizes in Table~\ref{tab:font_sizes}. +Please note that actual font size depends on the default size defined +in \ltx{docu\-ment\-class} (10, 11, or 12 pt); see +Table~\ref{tab:font_sizes2}. + +\begin{table}[htbp] +\begin{center} +\begin{tabular}{lll} \hline +\textbf{Text attribute} & \textbf{Environment form} & \textbf{Example} \\ +\hline +\cmd{textnormal} & \verb|textnormal| & main document font \\ +\cmd{textrm} & \verb|rmfamily| & \textrm{roman} \\ +\cmd{textit} & \verb|itshape| & \textit{italics} \\ +\cmd{emph} & n/a & \emph{emphasis} \\ +\cmd{textmd} & \verb|mdseries| & \textmd{medium weight (default)} \\ +\cmd{textbf} & \verb|bfseries| & \textbf{boldface} \\ +\cmd{textup} & \verb|upshape| & \textup{upright (default)} \\ +\cmd{textsl} & \verb|slshape| & \textsl{slanted} \\ +\cmd{textsf} & \verb|sffamily| & \textsf{sans serif} \\ +\cmd{textsc} & \verb|scshape| & \textsc{small caps} \\ +\cmd{texttt} & \verb|ttfamily| & \texttt{typewriter} \\ +\cmd{underline} & \verb|underline| & \underline{underline} \\ +\cmd{textsuperscript} & n/a & this is \textsuperscript{superscript} \\ +\cmd{mathrm} & n/a & $\mathrm{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathbf} & n/a & $\mathbf{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathsf} & n/a & $\mathsf{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathtt} & n/a & $\mathtt{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathit} & n/a & $\mathit{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathnormal} & n/a & $\mathnormal{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\cmd{mathcal} & n/a & $\mathcal{x^n + y^n \neq z^n \forall n \neq 2}$ \\ +\hline +\end{tabular} +\caption{Font attributes.} +\label{tab:properties} +\end{center} +\end{table} + +Please note the difference between italics and emphasised text. +\textit{For example, this portion of text is typeset in italics, and +\emph{these words} are emphasised in upright}. As you can see, +\cmd{emph} is a \emph{logical} rather than typographic command. + +Also, please note that subscript is normally used in math mode only. +The trick to use it in normal text is: + +\begin{example} +this is +$_{\mbox{\footnotesize{subscript}}}$ +\end{example} + +\begin{table}[ht] +\begin{center} +\begin{tabular}{ll} \hline +\textbf{Font size} & \textbf{Example} \\ +\hline +\verb|tiny| & \tiny{sample text} \\ +\verb|scriptsize| & \scriptsize{sample text} \\ +\verb|footnotesize| & \footnotesize{sample text} \\ +\verb|small| & \small{sample text} \\ +\verb|normalsize| & \normalsize{sample text} \\ +\verb|large| & \large{sample text} \\ +\verb|Large| & \Large{sample text} \\ +\verb|LARGE| & \LARGE{sample text} \\ +\verb|huge| & \huge{sample text} \\ +\verb|Huge| & \Huge{sample text} \\ +\hline +\end{tabular} +\caption{Font sizes} +\label{tab:font_sizes} +\end{center} +\end{table} + +\begin{table}[ht] +\begin{center} + \begin{tabular}{llll} + \hline + Default font size & 10pt & 11pt & 12pt \\ + \hline + \ltx{tiny} & 5 & 6 & 6 \\ + \ltx{scriptsize} & 7 & 8 & 8 \\ + \ltx{footnotesize} & 8 & 9 & 10 \\ + \ltx{small} & 9 & 10 & 10.95 \\ + \ltx{normalsize} & 10 & 10.95 & 12 \\ + \ltx{large} & 12 & 12 & 14.4 \\ + \ltx{Large} & 14.4 & 14.4 & 17.28 \\ + \ltx{LARGE} & 17.2 & 17.28 & 20.74 \\ + \ltx{huge} & 20.7 & 20.74 & 24.88 \\ + \ltx{Huge} & 24.8 & 24.88 & 24.88 \\ + \hline + \end{tabular} + \caption{Actual font size in pt} + \label{tab:font_sizes2} +\end{center} +\end{table} + +% ----- + +\subsubsection{Superscript and Subscript in Chemical Formulae} + +Most chemical formulae could be entered as math formulae, using +\verb|^| and \verb|_| to obtain superscript and subscript. The +\env{mhchem} package provides a simpler command, though. Digits are +printed as subscripts by default, as superscript when preceded by +\verb|^|. Formulae must be enclosed in the \cmd{ce} command: + +\begin{example} +\ce{H2O + CO2 -> H2CO3}\\ +\ce{CaCO3 -> Ca^2+ + CO3^2-}\\ +\ce{CO3^2- + H2CO3 -> 2 HCO3^-}\\ +\ce{CaCO3 + H2CO3 -> Ca^2+ + 2HCO3^-} +\end{example} + +% ----- + +\subsubsection{Underline styles} + +Normally, \uline{underline} is not used. It's just a relic of the old +teletype era, and it doesn't look really good. If you still want to +use underline, the \package{ulem} package provides some fancy styles: + +\begin{example} +\uline{important} +\uuline{urgent} +\uwave{boat} +\sout{wrong} +\xout{removed} +\end{example} + +Beware: \package{ulem} redefines the \cmd{emph} command, which will be +replaced by underline. To avoid this behaviour, use this declaration: + +\begin{verbatim} +\usepackage[normalem]{ulem} +\end{verbatim} + + +% ----- + +% FORMAT/CHARACTER SIZE + +\subsubsection{\entry{Format}{Character Size}} +\label{sec:extsizes} + +If the standard font sizes aren't enough for you, the package +\package{extsizes} may be handy. It provides `extended' versions of +the standard document classes, with support for sizes 8--12, 14, 17, +and 20 pt. + +For example, let's suppose you want to typeset an article using a 17 +pt font. You'll use this document preamble: + +\begin{Verbatim}[fontsize=\small] +\documentclass[17pt]{extarticle} +\end{Verbatim} + +Another way to get big fonts is to use the package \package{type1cm}, +which provides commands like the following: + +\begin{Verbatim}[fontsize=\small] +\fontsize{72pt}{72pt}\selectfont +No Smoking +\end{Verbatim} + +(The example above is way too large to fit on this page{\ldots}) + +Parameters are font size and baseline. Yet another approach is this: + +\begin{example} +\resizebox{!}{1cm}{1-cm tall} +\end{example} + +\lettrine{D}{ropped} capitals at the start of a paragraph can be +obtained using the \package{lettrine} package, which provides a fully +customisable \cmd{lettrine} command. This paragraph uses the default +behaviour: + +\begin{verbatim} +\lettrine{D}{ropped} capitals at the start... +\end{verbatim} + +% ----- + + +% FORMAT/FONT + +\subsubsection{\entry{Format}{Character Font}} + +\LaTeX{} uses its own fonts (Computer Modern), automatically generated +when needed by the \MF{} subsystem. This ensures portability and +yields very good results. However, many of us are accustomed to other +fonts: Times, Helvetica, Sans Serif{\ldots} + +Fortunately, \LaTeX{} can use \PS{} fonts. Try using one of the +following packages: \package{avant}, \package{avangar}, +\package{bookman}, \package{chancery}, \package{charter}, +\package{courier}, \package{helvet}, \package{helvetic}, +\package{ncntrsbk}, \package{newcent}, \package{palatcm}, +\package{palatino}, \package{pifont}, \package{times}, +\package{utopia}, \package{zapfchan}. Insert \verb|\usepackage{times}| +and enjoy the results. The only caveat is that \LaTeX{} handles maths +at its best only with Computer Modern fonts: using \PS{} fonts might +render your formulas slightly less appealing. + +The packages above set the font for the whole document. To use a \PS{} +font for a region of text only, specify the font family as in the +example below. Common font families are listed in +Table~\ref{tab:font_families}. + +\begin{warn} + Beware, some font shapes may be unavailable on some systems! +\end{warn} + +\begin{example} +This is Computer Modern Roman, +{\fontfamily{phv}\selectfont +this is Helvetica!} +\end{example} + +\begin{table} +\begin{center} + \begin{tabular}{ll} + \hline + \textmd{Family} & \textmd{Name}\\ + \hline + \texttt{cmr} & Computer Modern Roman\\ + \texttt{cmss} & + {\fontfamily{cmss}\selectfont Computer Modern Sans Serif}\\ + \texttt{cmtt} & + {\fontfamily{cmtt}\selectfont Computer Modern Typewriter}\\ + \texttt{pag} & + {\fontfamily{pag}\selectfont Avantgarde}\\ + \texttt{pbk} & + {\fontfamily{pbk}\selectfont Bookman}\\ + \texttt{phv} & + {\fontfamily{phv}\selectfont Helvetica}\\ + \texttt{pnc} & + {\fontfamily{pnc}\selectfont New Century Schoolbook}\\ + \texttt{ppl} & + {\fontfamily{ppl}\selectfont Palatino}\\ + \texttt{ptm} & + {\fontfamily{ptm}\selectfont Times}\\ + \texttt{pcr} & + {\fontfamily{pcr}\selectfont Courier}\\ + \hline + \end{tabular} + \caption{Common font families.} + \label{tab:font_families} +\end{center} +\end{table} + +\medskip + +Yet another possibility is replacing a standard \LaTeX{} font with a +\PS{} one: for example, you may want to use Avantgarde whenever +Computer Modern Sans Serif would appear. These commands can be renewed +as in the example below: + +\begin{itemize} + + \item \verb|\rmdefault| (roman) + \item \verb|\sfdefault| (sans serif) + \item \verb|\ttdefault| (typewriter) + \item \verb|\bfdefault| (boldface) + \item \verb|\mddefault| (medium) + \item \verb|\itdefault| (italics) + \item \verb|\sldefault| (slanted) + \item \verb|\scdefault| (small caps) + \item \verb|\updefault| (upright) + +\end{itemize} + +\begin{Verbatim}[fontsize=\small] + % Avantgarde replaces sans serif +\renewcommand{\sfdefault}{pag} +\end{Verbatim} + +% ----- + +% FORMAT/COLOUR + +\subsubsection{\entry{Format}{Character Colour}} +\label{sec:charcol} + +You can colour words using the package \package{color} and appropriate +commands. Predefined colours are black, white, red, green, blue, cyan, +magenta, and yellow; you can also define your own. + +\begin{example} +\textcolor{red}{This is red.}\\ +\color{blue} +This text is blue!\\ +So is this. Let's change.\\ +\definecolor{mygreen} +{rgb}{0.1,1,0.1} +\color{mygreen} +This is my shade of green!\\ +\color{black} +\colorbox{cyan}{A cyan box}\\ +\fcolorbox{blue}{green} +{A green box in a blue frame} +\end{example} + +Moreover, the command \cmd{pagecolor} lets you specify{\ldots} guess +what? + +% ----- + +% FORMAT/PARAGRAPH + +\subsection{\entry{Format}{Paragraph}} + +Let's remind what a paragraph is according to \LaTeX: a portion of +text that either ends with \verb|\\|, or is followed by a blank line. + +\emph{Environments} are \LaTeX{}'s way of specifying properties like +text alignment or font selection for a given portion of text. It's +like selecting text with the mouse, then choosing the property you +wish from a menu or clicking on a button. Another way is to enclose +the text between brackets. + +Environments have this general form: + +\begin{Verbatim}[fontsize=\small] +\begin{environment} +...text goes here... +\end{environment} +\end{Verbatim} + +For example, if you want to center a paragraph you'll use the +\env{center} environment: + +\begin{example} +\begin{center} +this text is centered +\end{center} +\end{example} + +Standard environments are listed in Table~\ref{tab:environments}. In the +following sections, I'll show you what to use and when. + +\begin{table}[p] +\begin{center} +\begin{tabular}{ll} \hline +\textbf{Environment} & \textbf{Purpose} \\ +\hline +\ltx{abstract} & abstract\\ +\ltx{array} & Math arrays\\ +\ltx{center} & Centered lines\\ +\ltx{description} & Labelled lists\\ +\ltx{displaymath} & Formulas on their own line\\ +\ltx{document} & Encloses the whole document\\ +\ltx{enumerate} & Numbered lists\\ +\ltx{eqnarray} & Sequence of aligned equations\\ +\ltx{equation} & Displayed equation\\ +\ltx{figure} & Floating figures\\ +\ltx{flushleft} & Flushed left lines\\ +\ltx{flushright} & Flushed right lines\\ +\ltx{itemize} & Bulleted lists\\ +\ltx{letter} & Letters\\ +\ltx{list} & Generic list environment\\ +\ltx{math} & In-line math\\ +\ltx{minipage} & Miniature page\\ +\ltx{picture} & Picture with text, arrows, lines and circles\\ +\ltx{quotation} & Indented environment with paragraph indentation\\ +\ltx{quote} & Indented environment with no paragraph indentation\\ +\ltx{tabbing} & Align text arbitrarily\\ +\ltx{table} & Floating tables\\ +\ltx{tabular} & Align text in columns\\ +\ltx{thebibliography} & Bibliography or reference list\\ +\ltx{theorem} & Theorems, lemmas, etc\\ +\ltx{titlepage} & For hand crafted title pages\\ +\ltx{verbatim} & Simulating typed input\\ +\ltx{verse} & For poetry and other things\\ +\hline +\end{tabular} +\caption{Standard \LaTeX{} environments.} +\label{tab:environments} +\end{center} +\end{table} + +% ----- + +% FORMAT/PARAGRAPH HORIZONTAL ALIGNMENT + +\subsubsection{\entry{Paragraph}{Horizontal Alignment}} + +By default, the text is justified. To get left--aligned, +right--aligned or centered text, use the \env{flushleft}, +\env{flushright} and \env{center} environments. The commands +\cmd{raggedright}, \cmd{ragged\-left}, and \cmd{centering} are +equivalent to their correspondent environments, but they do not start +a new paragraph. + +% ----- + +% FORMAT/PARAGRAPH VERTICAL ALIGNMENT + +\subsubsection{\entry{Paragraph}{Vertical Alignment}} + +The way paragraphs are separated is often puzzling to word processor +users. \emph{Empty lines and multiple spaces are treated like a +single empty line or space}. This means that you can't get more space +between paragraphs inserting more empty lines. The commands +\cmd{smallskip}, \cmd{medskip}, and \cmd{bigskip} provide some space +between paragraphs. + +If you need more space, use the command +\cmd{vskip}\{\textit{parameter}\} as in this example: + +% \begin{margins}{-1cm}{-0.5cm} +\begin{example} +These paragraphs will be +separated by 1.3 cm:\\ +\vskip 1.3cm +there is a 1.3 cm gap above me. +\end{example} + +Note that \cmd{vskip} only works between paragraphs. What if you +wanted to start a page after an additional margin of, say, 1.5 cm? +You'll have to use \cmd{null}, which sets a `mark' in the text: + +\begin{example} +\null +\vskip 1.3 cm +This text comes after 1.3 cm... +\end{example} + +Finally, the command \cmd{vfill} is used to add empty lines between +two paragraphs so that the second paragraph goes exactly to the bottom +of the page. For example, + +% \begin{example} will not work here +\medskip + +\begin{minipage}[c]{0.49\textwidth} + \begin{Verbatim}[fontsize=\small] + This appears at the top of + the page{\ldots} + \vfill + {\ldots}and this at the bottom. + \end{Verbatim} +\end{minipage} +\begin{boxedminipage}[c]{0.49\textwidth} + This appears at the top of + the page{\ldots} + \vskip 1.3 cm + {\ldots}and this at the bottom. +\end{boxedminipage} + +% ----- + +% FORMAT/PARAGRAPH MARGINS + +\subsubsection{\entry{Paragraph}{Margins}} + +Normally, the margins are set for the whole document as seen in +Section~\ref{sec:pagesetup}. Redefining them for a section of text +will not work: if you want to set a paragraph's margins, you'll have +to create a new environment like in the following example: + +\begin{Verbatim}[fontsize=\small] +\newenvironment{margins}[2] +{ + \begin{list}{} { + \setlength{\leftmargin}{#1} + \setlength{\rightmargin}{#2} + } \item } +{\end{list}} +\end{Verbatim} + +Then you will use the new environment: + +\begin{example} +As you can see, this paragraph +has normal margins. +\begin{margins}{0.5cm}{1cm} + But please note that this + paragraph has custom margins. +\end{margins} +\end{example} + +% ----- + +% FORMAT/PARAGRAPH INDENTATION + +\subsubsection{\entry{Paragraph}{Indentation}} + +To set the amount of indentation of the first line of a paragraph, we +redefine the value of the \cmd{parindent} counter. In the following +example, we set a 1-cm indentation: + +\begin{Verbatim}[fontsize=\small] +\setlength{\parindent}{1cm} +\end{Verbatim} + +The commands \cmd{indent} and \cmd{noindent} allow/disallow +indentation on the following paragraph. Finally, the distance between +paragraphs is set by the \cmd{parskip} counter: + +\begin{Verbatim}[fontsize=\small] +\setlength{\parskip}{3pt} +\end{Verbatim} + +% ----- + +% FORMAT/BORDER + +\subsubsection{\entry{Paragraph}{Border and Shade}} + +To get framed (bordered) paragraphs or words, you have the choice of +using the \package{framed} package or the \cmd{parbox} command. The +package \package{calc} is required in the latter case. + +This is the simplest method, using \package{framed}: + +% \begin{example} will not work here +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] + \setlength{\FrameRule}{2pt} + \setlength{\FrameSep}{5pt} + \begin{framed} + this is a framed paragraph! + \end{framed} + \definecolor{shadecolor}{rgb} + {0.9,0.8,1} + \begin{shaded} + this is a shaded paragraph, + do you like it? + \end{shaded} + \end{Verbatim} +\end{minipage}% +\begin{minipage}[c]{0.5\textwidth} +\setlength{\FrameRule}{2pt} +\setlength{\FrameSep}{5pt} +\begin{framed} + this is a framed paragraph! +\end{framed} +\definecolor{shadecolor}{rgb} + {0.9,1,1} + \begin{shaded} + this is a shaded paragraph, + do you like it? + \end{shaded} +\end{minipage} + +\medskip + +Equivalently, use the \package{boxedminipage} package and the equally +named environment. For those who want to know more: the commands + +\begin{Verbatim}[fontsize=\small] +\framebox{ + \begin{minipage}[c]{\linewidth} + text to be framed + \end{minipage} +} +\end{Verbatim} + +are functionally equivalent to the \env{boxedminipage} environment. + +% This example uses \cmd{parbox}: + +% \begin{example} +% \noindent +% \fbox{ +% \parbox{\linewidth +% -2 \fboxsep -2 \fboxrule} +% {again, a framed paragraph!} +% } +% \end{example} + +\cmd{width} sets the width of the minipage equal to that of the +remaining text. Obviously, you can specify the width as you like. + +Finally, to frame something adapting the frame to the width of the +text: + +\begin{example} +this is a +\framebox[\width]{framed} +word +\end{example} + +Modifying the parameter, you can adjust the frame width: + +\begin{example} +this is another +\framebox[2\width][r]{framed} +word +\end{example} + +Note that the second optional parameter specifies the alignment (to +the right in this example). + +% ----- + +% FORMAT/COLOUR + +\subsubsection{\entry{Paragraph}{Colour}} + +Now that you have a bordered paragraph, you'll want to set its colour +too. Do this: + +\begin{example} +\colorbox{yellow}{ + \begin{minipage} + {0.8\linewidth} + I am a minipage, my colour + is yellow! + \end{minipage} +} +\end{example} + +Just as an example, we set the minipage colour for only the 80\% of +its width. More about colours in Section~\ref{sec:charcol}. + +% ----- + +% FORMAT/COLUMNS + +\subsubsection{\entry{Format}{Columns}} + +The commands \cmd{twocolumn} and \cmd{onecolumn} start a new page and +set the number of columns; they can also be used as parameters in +\cmd{documentclass}. If this is not enough for you, the package +\package{multicols} provides an environment of the same name. I could +have set this section in two columns with these commands: + +\begin{Verbatim}[fontsize=\small] +\columnseprule=1pt +\begin{multicols}{2}[\subsection{\entry{Format}{Columns}}] +The commands \cmd{twocolumn} ... +\end{multicols} +\end{Verbatim} + +The space between columns is controlled by the parameter +\cmd{columnsep}, and the thickness of the rule between columns by +\cmd{columnseprule}. The text given as optional parameter in brackets +is excluded from the environment. + +% ----- + +% TABLE + +\section{The \menu{Table} Menu} + +Quite a complex subject{\ldots} A \emph{table} is a float (as +explained in Section~\ref{sec:figure}) that must fit on one page. It +usually contains a \env{tabular} environment, even though other +possibilities exist. By default, a table adjusts its width to match +the width of its contents. + +Let me stress that the \env{table} environment is a float, but +\env{tabular} is not. Keep this in mind if you want to write informal +tabular material, i.e. without label and caption. + +This is the general format of a table: + +\begin{Verbatim}[fontsize=\footnotesize] +\begin{table}[htbp] % placement: here, top, bottom, separate page +% \begin{small} % sets the table font +\begin{center} % optional +% 4-column table; alignment is left, centered, right, fixed width +\begin{tabular}{|l|c|rp{4cm}|} +\hline % horizontal line +\textbf{Left} & \textbf{Centre} & \textbf{Right} & \textbf{4 cm}\\ +\hline +row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4\\ +\cline{1-2} % horizontal line spanning columns 1-2 +row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4\\ +\cline{1-2} +\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 & +row 3, col 4\\ +\cline{1-3} +row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right\\ +% force a space with "\ " +row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~\\ +row 5, col 1 & row 5, col 2 & row 5, col 3 & +~ \hfill centre \hfill ~\\ +\hline +\end{tabular} +\caption{A sample table.} +% labels are used for cross references; +% for example, "see Table~\ref{tab:sampletab}" +\label{tab:sampletab} +\end{center} +% \end{small} +\end{table} +\end{Verbatim} + +Table~\ref{tab:sampletab} shows the result. + +\begin{table}[htbp] % placement: here, top, bottom, separate page +% \begin{tiny} +\begin{center} % optional +% 4-column table; alignment is left, centered, right, fixed width +\begin{tabular}{|l|c|rp{4cm}|} +\hline % horizontal line +\textbf{Left} & \textbf{Centre} & \textbf{Right} & \textbf{4 cm}\\ +\hline +row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4\\ +\cline{1-2} % horizontal line spanning columns 1-2 +row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4\\ +\cline{1-2} +\multicolumn{2}{|c|}{spanning two columns} & row 3, col 3 & +row 3, col 4\\ +\cline{1-3} +row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right\\ +% force a space with "\ " +row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~\\ +row 5, col 1 & row 5, col 2 & row 5, col 3 & +~ \hfill centre \hfill ~\\ +\hline +\end{tabular} +\caption{A sample table.} +% labels are used for cross references; +% for example, "see Table~\ref{tab:sampletab}" +\label{tab:sampletab} +\end{center} +% \end{small} +\end{table} + +Sometimes, a table is too wide and won't fit on the page. In that +case, the \package{rotating} package provides the new environment +\env{sidewaystable}. Also, \package{rotating} makes it possible to +rotate the contents of a cell by a specified angle. Finally, the +\package{tabularx} package lets one specify tables of fixed width: the +\texttt{X} column specifier indicates that a column can be spread as +needed. + +Here's an example: + +% \begin{example} will not work here +\medskip + +\begin{minipage}[c]{0.7\textwidth} + \begin{Verbatim}[fontsize=\small] + \begin{sidewaystable} + \begin{tabularx}{7.5cm}{|l|X|X|} + \hline + \textbf{normal} & \textbf{tilted} & + \textbf{wider}\\ + \hline + normal & \rotatebox{30}{I'm tilted!} & + I'm wider\\ + \hline + \end{tabularx} + \end{sidewaystable} +\end{Verbatim} +\end{minipage}% +\begin{minipage}[c]{0.3\textwidth} +% here we cheat. Tabularx won't work inside a minipage, +% so let's load the picture. +\ifpdf + \includegraphics{tbx.pdf} +\else + \includegraphics{tbx.eps} +\fi + +\end{minipage} + +\medskip + +The \note standard \env{tabular} environment cannot span more than one +page! There are some packages that overcome this limitation: you will +want to try out \package{longtable}, \package{supertabular}, and +\package{xtab}. + +To enable colours in tables, you use the \package{colortbl} package: + +\begin{example} +Colour by row:\\\vskip 2mm +\begin{tabular}{|l|c|r|} + \hline + \rowcolor{cyan} + one & two & three\\ + \rowcolor{green} + one & two & three\\ + \rowcolor{yellow} + one & two & three\\ + \hline +\end{tabular} +\end{example} + +\begin{example} +Colour by column:\\\vskip 2mm +\begin{tabular} + {|>{\columncolor{cyan}}l| + >{\color{red} + \columncolor{green}}c| + >{\columncolor{yellow}}r|} + \hline + one & two & three\\ + one & two & three\\ + one & two & three\\ + \hline +\end{tabular} +\end{example} + +To conclude the subject, a neat little trick. If you think that +writing \LaTeX{} tables is too complicated, you could be relieved by +OpenOffice Calc and Calc2LaTeX. The former is the well-known free +spreadsheet, while the latter is a plugin that that lets you turn a +cell range into a \LaTeX{} table. Links: +\url{http://www.openoffice.org/}, +\url{http://calc2latex.sourceforge.net/}. + + +% ----- + +\subsection{\entry{Table}{Line Spacing}} + +A line adjusts itself to the height of the text it contains. To add +some space \emph{before} a line, the trick is to start it with a +\texttt{\textbackslash{}rule} of 0 length and specified height. To add +space \emph{after} a line, use +\texttt{\textbackslash{}\textbackslash{}} followed by optional space. +Here is an example: + +\begin{example} +\begin{tabular}{lll} +one & two & three\\ +0.3 centimeters & \textbf{after} & + this line\\[0.3cm] +one & two & three\\ +one & two & three\\ +\rule{0pt}{1.2cm}1.2 centimeters & + \textbf{before} & this line\\ +\end{tabular} +\end{example} + +% ----- + +\subsection{\entry{Table}{Rule Width}} + +% TO DO: \setlength{\arrayrulewidth}{<width>} + +\begin{example} +\begin{tabular}{|lll|} +\hline +%\setlength{\arrayrulewidth}{5pt} +one & two & three\\ +\hline +four & five & six\\ +%\setlength{\arrayrulewidth}{1pt} +\hline +\end{tabular} +\end{example} + +% ----- + +\subsection{\entry{Table}{Aligning Numbers}} + +A special case of a tabular environment is when we want to align +numbers with respect to the decimal positions. + +The simplest method is using the \ltx{@} column specifier, which in +practice is useful in tables containing only numbers. The column +separator \texttt{\&} is replaced by the decimal dot: + +\begin{example} +\begin{tabular}{r@{.}l} + 3&14159\\ + 1&61803\\ + 1&41421\\ + 100&00000 +\end{tabular} +\end{example} + +Alternatively, use the \package{dcolumn} package, which adds the +\texttt{D} column specifier. \texttt{D} has three arguments: the +separator to use in the \LaTeX{} source and in output (usually the +same, `.'), and the number of digits to the right of the decimal place +indicator. Optionally, the third argument can specify the number of +digits to the left and to the right of the decimal place indicator, +separated by a dot. Lastly, if the third argument is -1, the material +of the column is centered around the separator. + +All material in the table is typeset in math mode. To insert headings, +you'll have to put the text in an \cmd{mbox}. + +% \begin{example} will not work here +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] + \begin{tabular}{|D{.}{,}{4.2}|% + D{.}{.}{5}|D{.}{.}{-1}|} + \hline + \mbox{One} & \mbox{Two} & + \mbox{Three}\\ + 10.33 & 10.33 & 10.33\\ + 1000 & 1000 & 1000\\ + 5.1 & 5.1 & 5.1\\ + 3.14 & 3.14159 & 3.14159\\ + \hline + \end{tabular} + \end{Verbatim} +\end{minipage}% +\begin{minipage}[c]{0.5\textwidth} +\begin{tabular}{|D{.}{,}{4.2}|% +D{.}{.}{5}|D{.}{.}{-1}|} +\hline +\mbox{One} & \mbox{Two} & +\mbox{Three}\\ +10.33 & 10.33 & 10.33\\ +1000 & 1000 & 1000\\ +5.1 & 5.1 & 5.1\\ +3.14 & 3.14159 & 3.14159\\ +\hline +\end{tabular} +\end{minipage} + +% ----- + +\subsection{Using \package{slashbox}} + +This package add the \cmd{backslashbox} command: + +\medskip + +\begin{minipage}[c]{0.5\textwidth} + \begin{Verbatim}[fontsize=\small] +\begin{tabular}{|l|l|l|} + \hline + \backslashbox[2cm]{Lesson}{Date} & + Monday & Tuesday\\ + \hline + Stratigraphy & room A & room A\\ + Chemistry & room B & Lab $\alpha$\\ + Physics & room C & Lab $\beta$\\ + \hline +\end{tabular} +\end{Verbatim} +\end{minipage}% +\begin{minipage}[c]{0.5\textwidth} +\begin{tabular}{|l|l|l|} + \hline + \backslashbox[2cm]{Lesson}{Date} & + Monday & Tuesday\\ + \hline + Stratigraphy & room A & room A\\ + Chemistry & room B & Lab $\alpha$\\ + Physics & room C & Lab $\beta$\\ + \hline +\end{tabular} +\end{minipage} + +\medskip + +% \emph{TODO: mention \cmd{newcolumntype} and \package{floatflt}} + +% ----- + +\subsection{Importing Data in \LaTeX{} Tables} + +For many people, data files are the bread and butter of everyday's +work. Most data files are simply ASCII text with columns of numbers, +but some people use spreadsheets. Nearly all spreadsheet applications +can export sheets in the ASCII-based \file{.csv} file format; values +are usually separated by the `;' character. + +Converting a data file into a \LaTeX{} table is quite a tedious +process. The following script for \unix{} will convert a datafile with +an arbitrary number of columns to a table. It will also work on +\file{.csv} files. + +\begin{Verbatim}[fontsize=\small] +#!/bin/sh + +# dat2tex.sh: converts tabular data to a tabular environment + +if [ $# != 1 ]; then + echo "Usage: $0 <datafile>" + exit 1 +fi + +# is this a csv file? +grep ";" $1 > /dev/null +if [ $? = 0 ]; then + AWK="awk -F;" +else + AWK=awk +fi + +# ok awk, make my day +$AWK '{if (1 == FNR) { \ + printf "\\begin{tabular}{"; \ + for (i = 1; i <= NF; i++) {printf "l"}; \ + printf "}\n" + } + for (i = 1; i < NF; i++) \ + {printf $i" & "} printf $NF"\\\\ \n"} \ + END {printf "\\end{tabular}\n"}' $1 + +# end of dat2tex +\end{Verbatim} + +% ----- + +% TOOLS + +\section{The \menu{Tools} Menu} + +% ----- + +% TOOLS/MAIL MERGES + +\subsection{\entry{Tools}{Mail Merges}} + +This useful and time-saving tool is implemented in \LaTeX{} by the +\package{textmerg} package. Let's consider a simple document, in which +the name, surname, and title of people we're writing to may vary. The +remaining text does not change. + +We'll define three \emph{fields}, which are the variable part of the +text: \cmd{Name}, \cmd{Surname}, and \cmd{Title}. Their values will be +gathered from an external file, \file{data.dat}. + +\begin{Verbatim}[fontsize=\small] +\documentclass{article} +\usepackage{textmerg} +\begin{document} +% let's declare the variable fields: +% \Void is for empty lines +\Fields{\Name\Surname\Title-\Void} +\Merge{data.dat}{% +Dear \Title{} \Surname,\\ +may I call you \Name?\\ +Yours,\\ +\hspace{3cm}Guido\clearpage} +\end{document} +\end{Verbatim} + +The fourth field, \cmd{Void}, isn't really necessary and it's there +for illustration. It's preceded by a minus sign, which indicates that +it can be empty in the data file. Simply put, we want to separate the +records using empty lines. + +The file \file{data.dat} reads: + +\begin{Verbatim}[fontsize=\small] +Guido +Gonzato +Dr. + +Francesco +Mulargia +Prof. + +Marie +Curie +Mme + +\end{Verbatim} + +That's it: the resulting output will contain the merged text, one page +for each recipient. + +% ----- + +% TOOLS/LABELS + +\subsection{\entry{Tools}{Labels}} + +If making mail merges was easy, making labels is even trivial. Let's +suppose you want to make 20 equal labels on a 3$\times$8 peel--off +label sheet. The package to use, predictably, is called +\package{labels}. In this example, we'll make 10 plain labels and 10 +boxed labels: + +\begin{Verbatim}[fontsize=\small] +\documentclass[a4paper,12pt]{article} +\usepackage{labels} +\LabelCols=3 % n. of columns of labels +\LabelRows=8 % n. of rows of labels +\LeftBorder=8mm % borders of each label +\RightBorder=8mm +\TopBorder=5mm +\BottomBorder=5mm +\LabelGridtrue % show the grid +\numberoflabels=10 % number of labels of each type to print +% the text of the label is specified by +% the \addresslabel[]{} macro: +\begin{document} + \addresslabel[\large] % optional arguments + {\textbf{Guido Gonzato}, Ph.D.\\ + \textsl{Linux system manager}} + % now on to the boxed labels + \boxedaddresslabel[\fboxsep=4mm\fboxrule=1mm] + {\textbf{Guido Gonzato}, Ph.D.\\ + \textsl{Linux system manager}} +\end{document} +\end{Verbatim} + +% You'll also have to choose the correct paper size and adjust the page +% margins (use \package{geometry}; omitted in this example). + +To make labels containing different addresses, you may use either an +external file or insert the addresses in the main file: + +\begin{Verbatim}[fontsize=\small] +\documentclass[a4paper,12pt]{article} +\usepackage{labels} +\LabelCols=3 +\LabelRows=8 +\LeftBorder=3mm +\RightBorder=3mm +\TopBorder=8mm +\BottomBorder=8mm +\LabelGridtrue +\begin{document} +% use either this environment: +\begin{labels} + 1$^{st}$ name + 1$^{st}$ address + 1$^{st}$ city, state, zipcode + + 2$^{nd}$ name + 2$^{nd}$ address + 2$^{nd}$ city, state, zipcode + + 3$^{rd}$ name + 3$^{rd}$ address + 3$^{rd}$ city, state, zipcode +\end{labels} +% or an external file containing exactly the same text: +% \labelfile{addresses.dat} +\end{document} +\end{Verbatim} + +It is left to you to combine \package{textmerg} and \package{labels}! + +% ----- + +% TOOLS/LANGUAGE + +\subsection{\entry{Tools}{Default Language}} + +\LaTeX{} default language is English, but other languages are +supported. By language support I mean the translation of terms like +`Chapter' or `Index', correct hyphenation, and the possibility of +inserting characters like `\c c' or `\'e' directly via your keyboard. +(The normal way being typing \texttt{\bs{}c c} and \texttt{\bs{}'e}.) + +Your \LaTeX{} distribution contains a file called \file{language.dat} +(usually \path{$TEXMF/tex/generic/config/language.dat} that contains a +list of languages. Editing this file you choose the languages for +which you want hyphenation patterns. + +If you are not a native English speaker, you'll want to use the +package \package{babel} as in the following example: + +\begin{Verbatim}[fontsize=\small] +\usepackage[italian,english]{babel} +\end{Verbatim} + +\begin{warn} + + \package{babel} alters the way some characters behave in a + language-dependent way. If you experience odd problems, insert the + offending characters using the \cmd{charXX} syntax. + +\end{warn} + +In addition, to type accented letters and in general non-standard +ASCII characters\footnote{in computer jargon, `standard ASCII +characters' are the characters whose code is included between 32 +(space) and 126 (tilde).} you may want to use the packages +\package{inputenc} and \package{fontenc}. In most cases, UTF-8 is the +right choice: remember to enable it in your editor too! + +\begin{Verbatim}[fontsize=\small] +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\end{Verbatim} + +A different way of inserting accented letters is configuring your +editor to type those for you. For example, I set up my editor of +choice (\app{jed}) to have it insert \texttt{\bs{}'e} whenever I type +`\'e'. I included this in my \file{.jedrc}: + +{\small +\begin{alltt} +define latex_mode_hook () +\{ + set_abbrev_mode (1); + if ( () = abbrev_table_p ("LaTeX") ) + use_abbrev_table ("LaTeX"); +#ifdef WIN32 + % prevent clash with movement keys + undefinekey ("\`a\`a", "LaTeX-Mode"); + definekey (" \bs\bs`a", "\`a\`a", "LaTeX-Mode"); +#else + local_setkey (" \bs\bs`a", "\`a"); +#endif + local_setkey (" \bs\bs'e", "\'e"); + local_setkey (" \bs\bs`e", "\`e"); + local_setkey (" \bs\bs`\bs\bs{}i\{\}", "\`\i"); + local_setkey (" \bs\bs`o", "\`o"); + local_setkey (" \bs\bs`u", "\`u"); +\} +\end{alltt} +} + +Please consult your editor's documentation. + +% ----- + +% TOOLS/HYPHEN + +\subsection{\entry{Tools}{Hyphenation}} + +Although \LaTeX{} usually does a good job at hyphenating words, +sometimes manual intervention may yield better results. Manual hyphens +are specified inserting \verb|\-| where we want the word to be broken. +A better way is to declare hyphenation rules: + +\begin{Verbatim}[fontsize=\small] +\hyphenation{ge-o-phy-sics ge-o-lo-gy earth} +\end{Verbatim} + +The above declaration instructs \LaTeX{} not to hyphen the word +`earth'. Another way to prevent a word to be hyphenated is to put it +in \cmd{mbox}: + +\begin{Verbatim}[fontsize=\small] +Do not hyphen \mbox{internationalisation}, please. I'm a masochistic. +\end{Verbatim} + +% ----- + +% TOOLS/SPELL CHECK + +\subsection{\entry{Tools}{Spell Check}} + +\LaTeX{} is not aware of spell spelling. This task is done using +external tools like \app{ispell}, \app{aspell} or others. Under \unix, +you can use \app{ispell} this way: + +\begin{Verbatim}[fontsize=\small] +shell> ispell -t mydocument.tex +\end{Verbatim} + +The \texttt{-t} switch instructs \app{ispell} to ignore \TeX{} and +\LaTeX{} commands. If your language is not English, specify the +appropriate dictionary with the \texttt{-d} switch: + +\begin{Verbatim}[fontsize=\small] +shell> ispell -d italiano -t mydocument.tex +\end{Verbatim} + +% ----- + +% HELP + +\section{The \menu{Help} Menu} + +There are many ways of getting help with \LaTeX{}, both online and offline. +The best place to start is the CTAN site, +\url{http://www.ctan.org/tex-archive/info/}. + +\begin{itemize} + + \item \verb|info latex| (\unix{} systems) gives a concise but very complete + on-line summary of commands and concepts; + + \item \url{http://www.ctan.org/tex-archive/info/LatexHelpBook/} is a very + nice help system for \LaTeX{}, fully integrated with Windows. + + \item don't forget the + \url{http://groups.google.com/group/comp.text.tex/topics} newsgroup: + it's an invaluable source of help. + +\end{itemize} + +As of 2015, most GNU/Linux distributions ship with \app{TeXLive}, +probably the most complete \TeX/\LaTeX{} systems. A lot of +documentation is provided; on my Ubuntu machine, it's found in +\path{/usr/share/doc/texlive-doc/}. + +% ----- + +\section{The End} + +This document is copyleft \textcopyright{} Guido Gonzato, 2001--2015, +and released under the GNU Free Documentation Licence. I really hope +you'll find this guide useful. For any suggestions or comments, please +feel free to contact me. + +\newpage + +% ----- + +\appendix + +\section{Document Templates} +\label{ap:templates} + +A template for the class \texttt{article} was presented in +Section~\ref{sec:filenew}. More examples are shown in the following +figures. + +% ----- + +% BOOK + +\begin{figure}[htbp] +\begin{Verbatim}[fontsize=\small] +\documentclass[twoside,11pt]{book} +\begin{document} +\frontmatter +\begin{titlepage} +\title{The Book of Mine} +\end{titlepage} +\author{John B. Smith} +\maketitle +\tableofcontents +\mainmatter +\part{The Beginning} +\chapter{Introduction} +\section{Let's Start} +The book starts here. +\part{The End} +\backmatter +Thank you for reading this book. +\end{document} +\end{Verbatim} +\caption{Book template.} +\end{figure} + +% ----- + +% REPORT + +\begin{figure}[htbp] +\begin{Verbatim}[fontsize=\small] +\documentclass[twoside,12pt]{report} +% tables and figures at the end: +\usepackage{endfloat} +\begin{document} +\title{Final Report} +\author{John B. Smith} +\date{London, \today} +\maketitle +\begin{abstract} +This is the final report. +\end{abstract} +\tableofcontents +\listoftables +\listoffigures +\part{Start} +\chapter{Begin} +\section{Introduction} +The report starts here. +\end{document} +\end{Verbatim} +\caption{Report template.} +\end{figure} + +% ----- + +% LETTER + +\begin{figure}[htbp] +\begin{Verbatim}[fontsize=\small] +\documentclass[12pt]{letter} +\begin{document} +\address{My address} +\signature{Guido} +\begin{letter}{John's address} +\opening{Dear John,} +Thank you for being my friend. +\closing{Hope to see you soon,} +\ps{P.S. Say hello to granny!} +\encl{My son's photographs!} +\end{letter} +\end{document} +\end{Verbatim} +\caption{Letter template.} +\end{figure} + +% ----- + +% NOTICE + +\begin{figure}[htbp] +\begin{Verbatim}[fontsize=\small] +\documentclass[a4paper]{article} +\usepackage{type1cm} +\usepackage{times} +\usepackage{color} +\usepackage{rotating} +\pagestyle{empty} +\begin{document} +\begin{sidewaysfigure} + \fontsize{2.5cm}{2.5cm}\selectfont + \centerline{\textcolor{blue}{\textbf{Please:}}} + \vskip 1cm + \fontsize{4cm}{3cm}\selectfont + \centerline{\textcolor{red}{DO NOT}} + \centerline{\textcolor{red}{SMOKE}} + \centerline{\textcolor{red}{HERE!}} + \vskip 1cm + \fontsize{2cm}{2cm}\selectfont + \centerline{\textcolor{magenta}{If you do,}} + \centerline{\textcolor{magenta}{you'll be \emph{deboned!}}} +\end{sidewaysfigure} +\end{document} +\end{Verbatim} +\caption{How to write a notice.} +\end{figure} + +% ----- + +% POSTER + +\begin{figure}[htbp] +\begin{Verbatim}[fontsize=\small] +\documentclass{article} +\usepackage[absolute,showboxes]{textpos} +\usepackage{color} +\usepackage{framed} +\usepackage{graphicx} +\setlength{\TPHorizModule}{10mm} % standard unit of length +\setlength{\TPVertModule}{\TPHorizModule} +\setlength{\TPboxrulesize}{1pt} % box line width +% start everything near the top-left corner +\textblockorigin{0mm}{0mm} + +\begin{document} +\setlength{\parindent}{0pt} +\definecolor{shadecolor}{rgb}{0.9,1,1} +\begin{textblock}{5}(0,0) +% this block is 5 modules wide; height is +% automatically determined +\begin{center} + \begin{minipage}[c]{0.8 \linewidth} + \begin{shaded} + This block is placed with its top left corner at the `origin' + on the page, which has been set to (0mm,0mm). The internal + margin and the shading are provided by the \texttt{minipage} + and \texttt{shaded} environments. + \end{shaded} + \end{minipage} +\end{center} +\end{textblock} +\begin{textblock}{6}(10,1) + \includegraphics[width=6cm,angle=-90]{gnuplot.ps} + This picture is at (10,1). Note that rotating it + by -90 makes it overflow the margin. +\end{textblock} +\begin{textblock}{5}[0.5,0.5](2.5,8) +This block is at position (2.5,8), but because the optional +argument [0.5,0.5] has been given, it is the centre of the block +which is located at that point, rather than the top-left corner. +\end{textblock} +\begin{textblock}{3,4}(6,4) +The dimensions of this block are 3$\times$4 cm. +Its origin is position (6,4) on the page. Note that the text +overflows the margin in some cases; you'll want to +use the \texttt{minipage} environment to prevent that. +\end{textblock} +\end{document} +\end{Verbatim} +\caption{How to write a poster.} +\label{fig:poster} +\end{figure} + +% ----- + +% The End + +\end{document} diff --git a/info/latex4wp/midifile.mid b/info/latex4wp/midifile.mid Binary files differnew file mode 100644 index 0000000000..77d83eab49 --- /dev/null +++ b/info/latex4wp/midifile.mid diff --git a/info/latex4wp/tbx.eps b/info/latex4wp/tbx.eps new file mode 100644 index 0000000000..2a514e6753 --- /dev/null +++ b/info/latex4wp/tbx.eps @@ -0,0 +1,840 @@ +%!PS-Adobe-2.0 EPSF-1.2
+%%Title: /home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi
+%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
+%%CreationDate: Nov 5 15:06
+%%For:guido guido
+%%Pages: 1
+%%DocumentFonts:
+%%BoundingBox: 267 123 321 323
+%%BeginPreview: 54 200 8 400
+% 44888888888888888888888888888844888888888888888888888888888888888888888888888888
+% 8888888888888888888888888800
+% 44000000000000000000000000000044000000000000000000000000000000000000000000000000
+% 0000000000000000000000000044
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000000000ee220000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000000000ee000000880000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000055770000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000066eedd66550000000088000000000000000000000000000000000000000000000000
+% 0000000099000000440000000088
+% 880000000000ff77ff00cc0000000088000000000000000000000000000000000000000000000000
+% 0000000099330000ff0000000088
+% 880000000000ff00ff00ff0000000088000000000000000000000000000000000000000000000000
+% 00000044ffffffffff0000000088
+% 8800000000009900ff33dd0000000088000000000000000000000000000000000000000000000000
+% 0000003333000000aa0000000088
+% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
+% 0000000066eedd44550000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 00000000ee33ff00cc0000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 00000000ee00ff11ff0000000088
+% 88000000000000000000880000000088000000000000000000000000000000000000000000000000
+% 000000008811ff88990000000088
+% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000011bbffbb110000000088
+% 880000aa0000ee000000880000000088000000000000000000000000000000000000000000000000
+% 0000000000000000110000000088
+% 880000000000ee000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000660000000088
+% 88000000000088000044dd0000000088000000000000000000000000000000000000000000000000
+% 44ffffffdd888888aa0000000088
+% 88000000000066ddffcc330000000088000000000000000000000000000000000000000000000000
+% 22880000ee000000bb0000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 00000000cc000000ff0000000088
+% 88000000000000000000440000000088000000000000000000000000000000000000000000000000
+% 0000000077220088aa0000000088
+% 880000aa770000000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000011bbffbb110000000088
+% 880000eebb00ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000ff0000000088
+% 880000000022c8000000880000000088000000000000000000000000000000000000000000000000
+% 00dd0044ffffffffff0000000088
+% 880000000000cc330000000000000088000000000000000000000000000000000000000000000000
+% 0000002288000000770000000088
+% 88000000000055668866110000000088000000000000000000000000000000000000000000000000
+% 00000011dd110000000000000088
+% 880000000000000044ccdd0000000088000000000000000000000000000000000000000000000000
+% 00000000ee334455110000000088
+% 880000000022ffbbcc66110000000088000000000000000000000000000000000000000000000000
+% 0000000000005599990000000088
+% 880000000000ee888822000000000088000000000000000000000000000000000000000000000000
+% 00000000ffdd7711000000000088
+% 880000000000880033eeaa0000000088000000000000000000000000000000000000000000000000
+% 00000000cc114466220000000088
+% 880000000033ff99ffbb660000000088000000000000000000000000000000000000000000000000
+% 00000000883388bb880000000088
+% 880000000000ffbb4400000000000088000000000000000000000000000000000000000000000000
+% 00000000dd995500000000000088
+% 880000000033bb000000000000000088000000000000000000000000000000000000000000000000
+% 00000000ff000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
+% 8888888888888888888888888888
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000008822000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000022115520000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000228877000022880000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088002299bb22000088cc881100000000000000000000000000
+% 0000000000000000000000000088
+% 8800000000000000000000000000008833ff77000055cc7700005500000000000000000000000000
+% 0000000000000000000000000088
+% 8800000000000000000000000000008800220022bbbb110000008800000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000077bb224400000033aa00000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000033440000556688dd3300000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000003344110033441100000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000665500005500000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000022993311008800000000000000000000
+% 0000000000000000000000000088
+% 8800000000000000000000000000008800000000000000004411004422aa00000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000774488dd3300000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000005566114455550000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000aa0000000000000000
+% 0000000000000000000000000088
+% 880000000000000000000000000000880000000000000000000022330044cc660033000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000077bb99110011aa220000000000
+% 0000000000000000000000000088
+% 880000000000000000008800000000880000000000000000001177bb77000066bb66440000000000
+% 0000000000000000000000000088
+% 880000ffffffffffffffff00000000880000000000000000000000002244bb881100330000000000
+% 0000000000000000000000000088
+% 880000aa0000ee00000088000000008800000000000000000000001199aa22000011aa2200000000
+% 0000000000000000000000000088
+% 880000000000ee000000ff00000000880000000000000000000011cc4400000066bb664400000000
+% 0000000000000000000000000088
+% 88000000000088000044dd0000000088000000000000000000000055000033bb8811000000000000
+% 0000000000000000000000000088
+% 88000000000066ddffcc330000000088000000000000000000000000221133770000445555000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000aa77001100000000aa000000
+% 0000000000000000000000000088
+% 88000000000066eedd6655000000008800000000000000000000000000000022330044cc66000000
+% 0000000000000000000000000088
+% 880000000000ff77ff00cc00000000880000000000000000000000000000000077bb991100000000
+% 0000000000000000000000000088
+% 880000000000ff00ff00ff000000008800000000000000000000000000001177bb77000000000000
+% 0000000000000000000000000088
+% 8800000000009900ff33dd0000000088000000000000000000000000000000000022000000000000
+% 0000000000000000000000000088
+% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
+% 1100000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 7700000000000000000000000088
+% 880000000000bb0000ff6600000000880000000000000000000000000000000000000000000022bb
+% aa44000000000000000000000088
+% 880000000000ff000000ee000000008800000000000000000000000000000000000000000088bb33
+% 0033000000000000000000000088
+% 880000000000ff000022ff0000000088000000000000000000000000000000000000000044660000
+% 0044660000000000000000000088
+% 8800004466ccffffffff880000000088000000000000000000000000000000000000000022220011
+% 88bb881100000000000000000088
+% 880000000011bb0000000000000000880000000000000000000000000000000000000000001177cc
+% 6600003300000000000000000088
+% 88000000000000000000880000000088000000000000000000000000000000000000000000009911
+% 000011aa22000000000000000088
+% 88000000000000000000ff0000000088000000000000000000000000000000000000000000003311
+% 0066cc6644000000000000000088
+% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000055
+% ee88110000000000000000000088
+% 88000088000000000000a80000000088000000000000000000000000000000000000000000000033
+% 8800000000000000000000000088
+% 880000aa770000000000ff0000000088000000000000000000000000000000000000000000000000
+% 1100000000001111000000000088
+% 880000eebb00ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000066000000000088
+% 88000000000088000000880000000088000000000000000000000000000000000000000000000044
+% 44441100001188ff220000000088
+% 880000000000000000000000000000880000000000000000000000000000000000000000000000ff
+% 0000000066ee8811440000000088
+% 880000000000bb0000ff660000000088000000000000000000000000000000000000000000000000
+% 220044ccbb220000000000000088
+% 880000000000ff000000ee0000000088000000000000000000000000000000000000000000000000
+% 66aadd4400000000000000000088
+% 880000000000ff000022ff0000000088000000000000000000000000000000000000000000000000
+% 11aa000000000000000000000088
+% 8800004466ccffffffff880000000088000000000000000000000000000000000000000000000000
+% 0033000000000000000000000088
+% 880000000011bb000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
+% 8888888888888888888888888888
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000880000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000ffffffffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000088000000000000a80000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000990000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000088ffffff880000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000000000ff114400bb0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000dd0000000088
+% 880000000000aa008811ff0000000088000000000000000000000000000000000000000000000000
+% 44ffffffffffffffff0000000088
+% 880000000000772255ffaa0000000088000000000000000000000000000000000000000000000000
+% 2288000000000000770000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 00000000000000bbbb0000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000066eeffffcc0000000088
+% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
+% 00000000ff224411880000000088
+% 880000000000bbffffffff0000000088000000000000000000000000000000000000000000000000
+% 00000000ee003300ff0000000088
+% 880000000000ff000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000099bb6611ff0000000088
+% 880000000000dd000000440000000088000000000000000000000000000000000000000000000000
+% 00000000447711ddc00000000088
+% 88000000000088110000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000088eeffffff0000000088
+% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 00000000ff110000dd0000000088
+% 880000000000ff000000bb0000000088000000000000000000000000000000000000000000000000
+% 00000000ee110000440000000088
+% 880000000000bb110000880000000088000000000000000000000000000000000000000000000000
+% 0000000088ffffffff0000000088
+% 880000000000ccffffffff0000000088000000000000000000000000000000000000000000000000
+% 00000000ee110000dd0000000088
+% 88000000000055000000ff0000000088000000000000000000000000000000000000000000000000
+% 00000000ff000000440000000088
+% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
+% 0000000088110000dd0000000088
+% 880000000000ee220000000000000088000000000000000000000000000000000000000000000000
+% 00000044ffffffffff0000000088
+% 880000000000ee000000880000000088000000000000000000000000000000000000000000000000
+% 0000002222000000770000000088
+% 88000000000055770000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000099000000440000000088
+% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
+% 0000000099330000ff0000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 00000044ffffffffff0000000088
+% 88000000000033ddffcc330000000088000000000000000000000000000000000000000000000000
+% 0000003333000000aa0000000088
+% 880000000000bb110055cc0000000088000000000000000000000000000000000000000000000000
+% 0000000011bbff99110000000088
+% 880000000000ff000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000088441177880000000088
+% 88000000000088000033dd0000000088000000000000000000000000000000000000000000000000
+% 00000000ee000000bb0000000088
+% 88000000000066eeffcc330000000088000000000000000000000000000000000000000000000000
+% 00000000cc000000ff0000000088
+% 88000000000000000000440000000088000000000000000000000000000000000000000000000000
+% 0000000077330055aa0000000088
+% 88000000000000000000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000011bbffbb500000000088
+% 880000000000ccffffffff0000000088000000000000000000000000000000000000000000000000
+% 0000000022000000bb0000000088
+% 880000000000ff000000bb0000000088000000000000000000000000000000000000000000000000
+% 00000000ffffffffff0000000088
+% 880000000000cc000000880000000088000000000000000000000000000000000000000000000000
+% 00000000ff000000330000000088
+% 88000000000033220000ff0000000088000000000000000000000000000000000000000000000000
+% 0000000088110000dd0000000088
+% 880000000000ffffffffff0000000088000000000000000000000000000000000000000000000000
+% 00000044ffffffffff0000000088
+% 88000000000022000000880000000088000000000000000000000000000000000000000000000000
+% 0000002222000000770000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% 88000000000000000000000000000088000000000000000000000000000000000000000000000000
+% 0000000000000000000000000088
+% a88888888888888888888888888888a8888888888888888888888888888888888888888888888888
+% 8888888888888888888888888888
+%%EndImage
+%%EndPreview
+save countdictstack mark newpath /showpage {} def /setpagedevice {pop} def
+%%EndProlog
+%%Page 1 1
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips /home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource: TeX output 2002.11.05:1506
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
+exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
+dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
+ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
+end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
+dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
+roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
+dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
+if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
+def end
+
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
+psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
+roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
+moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
+begin/SpecialSave save N gsave normalscale currentpoint TR
+@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
+CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
+closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
+sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
+}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
+CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
+lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
+/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
+repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
+/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
+currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
+moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
+/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
+1 startangle endangle arc savematrix setmatrix}N end
+
+
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 33 /exclam put
+dup 39 /quoteright put
+dup 73 /I put
+dup 97 /a put
+dup 100 /d put
+dup 101 /e put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 116 /t put
+dup 119 /w put
+readonly def
+/FontBBox{-34 -251 988 750}readonly def
+/UniqueXX 5000794 def
+currentdict end
+currentfile eexec
+9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
+0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
+79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
+2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
+b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
+823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf
+5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b
+edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f
+a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5
+404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763
+89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887
+3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c
+5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab
+98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21
+70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188
+f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d
+7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1
+f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282
+d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843
+b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d
+03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51
+7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162
+fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd
+d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7
+8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f
+d264f8f24cd5a1c0f68399ff4b29fd77c4a54d8296523410a54442ae159a95d5
+a03d4e0cc760df8338035b4722eea7e781b168e6013b3599e7b797e7607d7ab4
+4e5f5dc82c150b5c866daaf9d7e1b55a9994eeadbf128d8ee06bc728472e4473
+b4e6d548b8af2e64dc9b380959b5f76d627f6008d9ff1b47044f1b463f30289f
+2389a8d0acd64337626f379e36c16dd568fe581c7bffe00863037777786e3aaf
+64bd0955f8342955b070649af3443f69ecb105eaf61c37d2bec9f188210d4a65
+61c260586a0f3e72c99299b7fc30032bc17f9bb88c8d57305a6dda6399e259ef
+7069ff5b2a8ffad44210df78d0ab5420415e78d6d0a341261bb14aff65a65be6
+2a91c2a31029f8c4f149229e6480bb98200ba493611a4af72a4a418bb9a4a61a
+8cff2771d2c60d55d2a962937acfcf803c4a814a0899ec52ff6c44bb39b3e39b
+9e22ddc649f4e51352fb1cfe09a1438937d7f0db807ff38aa4953ea5bb124436
+13360690f0b9e51dda6ce317762aabbf37717dc65fe35bd51ea30c8c281c82e0
+eda0d36f76b0c6e940a19a858a321c33c0c6361eaaf9def7d1bf37233a960de2
+1d8f132cb0f04564de64be08285c053d915ac7c8054de2f3edd7209dc88ae52a
+eb24fb86bd4c7d19afe89650803e65ed8adc3bd1d92b3bdb24c710afe7ec28b4
+e66d4fb385da0730d55222048a1f0c5465015f226bcf279f8d2a60f8bd3a61ad
+9b19cd35e7ffb190a3fd9d962884b3a9427b29cb23b3edfd418090738d17a68b
+eddee4eaa4962a1b91bab85460b0240d8466f2a909cd2653f23034ecd328b14a
+bf7b809dd6f12b83e9de940d6372001342911af68e7bed36140d7993cc03d9cc
+af7bad833b66e36b367aa23b6f59ea85e407b6bb108b07ae197726c334fe52a3
+a5dca598b35167661a7878f4564084f28392ee4abe6589da934d706915028319
+e814473deb8c5e97dc2f343017275c992b59b101fe562370653cb49ab2c61a28
+b6be5d052f890fe57fa2b9fd7c4ac0d1eaaca2cd1ceb04080426c8c0be4f423b
+995051332350f3ad9affbb350f77e4b1cfef37c1ad8647d516d781629136acdf
+a916593aff8fcf1d2a1ed7e838d4574534f82e883bcf3c486fe04a636e68fde0
+7819d4be15f6329b54813260816e22203e24df36526e5d4ee4783f15ac2ceb74
+407fd250052b4639b51c7fcc80b0d634e089b0438303350d8ccf8434e9142c67
+1aa1fe5b4363694c0b4091acdc13b20521b94e6ede89728b2811d40bc5b909bf
+6d10bc045ff62af936e39b3af87782aef7c067489862cdae4120c6bbe71df595
+4f906867a72e22896c58ea299132526de702c6d5f99dbb4d5bc2b8c7cf26a14a
+06b39e350885da4712288e2a5a5d1d1ca1c24d09a2d92ad9833b65dcc322b9c6
+92b79384058ff13ca2a7c732a1a886d9a14dcf3ac0580592b62faec307b8fea4
+df28693cf5719dd96570488de8216584cff39053cc59bdad410d75050ce88405
+e43948fd33bf70ace2967b15d52bd22bcc1b93aa0bef97ff25a081c04c7fcc39
+339ee615418345890adcb5141c8064605dbdde2112bb142342a18c8ad3361b73
+72d946ce04072ae0e030e7e2f82b08945663c1078575ce89c777a5316fdd08a3
+739b7e2bc2eb76070ba7807da6017e1c7092de9b52af0e2018cd33ef780d380a
+cacfea3073c3510f0d31263f944cc08169b6c630313e67ce3e80470cd2ac7f0a
+45799d33a328e04430d5f1d3f4b21bc59a4f165dc40c1885c24ef43138450681
+4ed97d01a1d4ecf9e836a18d89cd707c4578c9f1db1f219538f60be15877ba9e
+cf32bd61eda75316d1328ac9aebc0dbacf76fd7122175beb489fcb06ec95061f
+69d7c2e95a967b45eaa62d30ca1d69cccecc7a70b51d9966a2ac277be334ee76
+723001cce9eb018ed3a58c34706a45544ca5281dd510d30931b80a83e5aa18d9
+3ddb1e16891177465a58c85a91cf0fd7e326982ff0d8ac69e69ca09e52818f44
+4034ec415e1f9121ded06fefa9d529e097eb23e95a7acffb45e6e4299ee7c2aa
+532eac6ed902398b5bda5efbaff9485c3cc8b10621b2c5fae24047baf09cedbc
+d246d3233fa901e13fcaa3e8fa821b2d42977b30356df0e1e530d10b93a0057f
+1a33f6bdb67aa280f664db5ea4602c20666ee3d809a80dd9003c0201226e06e2
+d51f553f9794503978fe90c4d8aaa64936a853769bafc2e5f46103f1ce9be6c7
+3f0199771b95d102e1be5e668c5d6e87f287a85ac77938344cbf9d63f7537d66
+05697c8006e49ae73bce2fd85d5623d8a6d56e21c6881d252f712960c210bccf
+a0d80def2e0847885e7af26671ecbfe4b6efef23e7502a5a45776cf8fa62910a
+6ed738de32e54c259895a7a68c5267e195710f823231d1c4c3b2d27f61116cc9
+a1433cee0a0ce86a23fb05d469e9087730666b686c0e18ce94167698bd8ad3be
+ad662786c701df15f25528305897700f20ca66cf1713b8d74b50a45c61e55436
+ec7e0ec97cd6268645e923057a6c78d55cef6e6431a0c6ef5bc5930f1bdfaaf3
+82f5cc7464ea678b7b3386ce3b2ea3942ca5dd23af73acad4cacbec763569fc6
+6578d276eff0068741ddb34c7e09eb320b6fcb9d0f2586160b370dcc21c8e09c
+2179a79512cd425e2bc8a857714f9afed8d6e2fb8ab2c26ecdb08d34febd63c7
+1a7b97c3eb62cf7c5c02db78682bdb794a2f57a6db23ef509bda7d62d8f215b0
+462613544ba7e4bf98e71303f5c723d74fa5ac8f6d2b1902ee7f3c33825dac9f
+2501e3aaeef2ec4d35e8e9f7a4a39fed23227aca8ce2cfc21263c98ffbcc7109
+0dfd10984a788ffb72d27b4c7fd28944d87f34f4815860e3cd50a8f192fdf057
+e79f7af9d88fee443bfa24e118192a4611d459e5998cdaf58cc83f907d31d61f
+f20f80f82aefeceb1a6405ecb3585f67798d78a1516926eebf9a2d770ce477c1
+19c74014503dc5fe1ac27ae248b33804bba1003b49c67e25fd91057434f21a3a
+11ac2a999c21445de5798fa59a009d48e196d94f9f75ee4be1ce52bdf03fd5ed
+5c751785e1cb60658b3f12fdb96d2edd76d3ef7b28
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 97 /a put
+dup 100 /d put
+dup 101 /e put
+dup 105 /i put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 116 /t put
+dup 119 /w put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+/UniqueXX 5000769 def
+currentdict end
+currentfile eexec
+9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
+0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
+79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
+2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
+b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
+823385fe55f3402d557fd3b4486be79011d1f5bfae5c1f476ee6f05eb1d2caeb
+269958b194521197b312fcced4867f3c8fbd030bd715d8ffda1dcd454b174e7a
+1a97b59fe770e67702519d9d9b23d61ac08424d555242a8ca08c49aef300945d
+99b999a79ce74804ae6bfde623f4463371442f6523a5f6ce19c839a708c02513
+2e22c696c8ccade45680e5197189d0f98e7f0d5f955e353970b392cf530a68cc
+56b0035ddfbf206c3074beeb0739dcbca272a6e629fb7aea2c5ba7bae50c7b4c
+a595df78200c352997ec3ee564df229fbb5473f5e8ccb1cc0153e9a7e299a8ea
+a29b69d1b622b1f0cffc58291248759607d91150cb0651120970dc9f743bebef
+44f6ae92facec57658999c8bf01f60611560043962c0695e1bb87d090e0fdaab
+659d6557208a660be9aeef8ae55f71b8bc76394d792967e41bd8023b6e7f8c3d
+9987d5e54c53bf2bbb32855b946473b44833bd78873df8e4c7e668ffff25aabb
+8da4148f744b9d0524d6cb8281247b3052cc5d66f3f1bcf8a56a3fb446ea587b
+d8be30257652cee035628aeddfd8283b5ad21b8b1480ad24d898970ac8a1e33e
+543ce4e3c48f9ee621c5ce3e8ae930f890011b630866c988606068d9e92396eb
+f51bb3db204505fc3d09d4701ac703a14d92bbfe27bd7411b363a88e33a8e9a8
+025ac31f21e73dc52b333b918d0b1270c54873a490222d041a66e0192612be6d
+2c88958a8f70c10390146ee5091df020ab97675e8e6b9e705fbe5d4a561453fc
+99aacd038d0c9d92ce58c764a1a6cd497ec3cef52975ae84cc7e1d0401a7fcd4
+d5e847133c58d736e373745cbfa06237a1ee4ff0706bcc02e316bfe85ec2f0b4
+2dc3c3bb232c4045115c86f37c3bf3aa17b765020265aa22553707335d7fcd8d
+9f619e844ae579bedcd8326b4e97b5ec744e172232ba7d7752786a46fbfc4f60
+820702802e7b394104c5b0b18dec681a34a37f8aa072ff2a47ff6d1f09ccf799
+5aa27d14f2204428267e1960d3b2ca914d77328d299603355a17d1919b60e3aa
+409b52d31b8095b2fb43bcaa653f4cf7b1300b9031c76fb63a93050c7ce80ba0
+7765c289b42b9c4515e329fe655270bc75a7668f88edaf282629d5b78c038c33
+bd0ce5833d76227f76456823e5914e45ab1dc0fe2b568a10133204fd3e238fbd
+eaa6e07926e69cbb8655ec51c133419d5de05883965cf26ec8cc7d998607e02b
+ceb032ee6ca6dc422cc0533a8d28e3c8c6b09473806b83054eb98473d0e69039
+46e22a21cc79202f9d6520eb8e93ce3c05afae28d7f3e848f61ca6de03189d1c
+ff88e548ae82ade0dafd44104f6c8c0e2c67478fe2de32ad65d26c1dae55b441
+3a326cd2bba19ad0e967049402d799019865568ec0a73790f1ffabbdd174556a
+69e38fc6ea782920f177f11cf0bccd075f9b14fd1e81902801ee2015e63e09d5
+2122f1aafd2d506ab29eeab311454bb07ed103e9e44b9d9b6dda60c17fe2590a
+5692064674331cc51457d52e6fcf4024a0f0ecb57c936a905a70406773ff4b28
+9ce5fd4438a2cd13fcf3b71ba7a0fe81cc1ea2d7929cb3df3c77d72c71b85f67
+6797dee62578d4575c8f164b83da483ce879bcf700db2ce33aa0a78b655bf2e8
+b88602cd0350a1f64182d09af75fd7cde7f2d1fed68f99814afea07e5a6ac319
+d1f333c29b079d261a4a5f725962e438122ca54da4ba0ab44e4aa3ec116bd565
+425427e0ad08b87113b4a57e4e2decf7f93f6df85ff6e2d4efc66d8cb6c1eb08
+357dc201895fa2b7258592143424dd6561bbcbb889bdc36a6dbc9e4212cd526d
+d097575be079384d105b9617c0f90881a0e8badc724074ab3afd70e64e3f5e6b
+98b25fa62c187764ff586d3459587131da1dac8f6701ac26e526bb1ba833117d
+3aba4c5921d8c793ac08bb273dc106050302c048feb532559f6891c6548fe532
+a7e27629b9412420393f882187e42f5121be603e5413842859183a7087b32974
+ac1ddd0804b69c1f44d26b1165a0be013373067eb6c360dc75d161e4ad36ae54
+ef4f78b5cf993e8ec04e05463304545a9c5d4278c34c5b9f3153ed439181a0b7
+fd6af42983b50324b06c3fea8fbac1f0bcca91dedb4f36433bcbffbe9b891d5f
+de7a02f457ff6c4a21fa836b3898595914fd27ce9457424bed2df9ff581f157c
+c00f2966bb97c4403943f87c249b481a491e97e2979612bb8e514b027d11001f
+c3c528feb7598cf3ce62ca65e2de250f25b7106a7aaa086781f0a13472635d67
+0557d6f410e3a0e38e5da4b446879f7357ec4530aa1025959f7fb9c7c88b25b3
+b18451ab154211768d4fb01d1b88c6522b3b0bb2a345a13022c6e489ffb8d11d
+b888d7fda7b851018ce7984346284db9cd26001269dbd3de729a0a777e91aa70
+e3da194326c748ffdf86380e766d385156ac2e6b70b5333ace21f42831e56f1e
+03ddbb055c555f364d1e7e37914cac4497618a55ea17730cf9becd7d5b201545
+39c0a1bcfb07dd6110f279dcbbedc308d95d2e63f71e28e7a383b00e82b08801
+e4559a966e9ff0fd8d96f41e9841b1f440204b34a08f05674f94c227611220fd
+c8e167d982c6413f0517867cc982c6c32415fd3758b281535cf5cac6e379a5bb
+de482bb92fa4b956166b81687a5eae1478e6cf099f4b65ac7c24fdf1eea04da1
+54c873239438be69ee9bd23f9d3e95e8cabbbe97dfecd6500c792d8360ef09af
+da3d9755efc06d7b36530d7e93a31f40b9af9b39b8f8e6d2a227548bf544dd1b
+84ffe40cf96fe26dfea46001e3d8d3c190043e7459c23da5ad61035ec437b711
+232cb75de88b31646059c6cd991d2f1207a15530fd38511549ca179dc8d532ba
+5beee844029ef89383b5d8c413e0409333f531cf7a1ece17a068436a0c317747
+3a8b9f6bc0eb4e612034541bb12595fca90d536c94ae84e6bae02fb549ad7ed1
+2733dc842ac4b06a73370fc383ec83db61f59fd1aa120d065c4b37b1766cc652
+030cc56dafbf2945e3c13af232430bea37f7f37c792c4d81d96b2b532aa6a43d
+3b80c406d44af8d500b6e6bbe7c91c013e4513227d0cf65d0ebc4fcd3ab0624c
+ea94f91d9cbcda988f7495c655e8b764124e388563a7651677085c72dd95a265
+f626fe264d91e3ec91b54b34c74238ec6688d91366d7743e5301ecc4aeb3f788
+b27d8e57942c1c44c65a8a94b734cb47a2cfab6347a3b82276610a32367f25de
+c1676b80ec70869a42afe6ada328d66031bae92f023343988def5301ca693596
+ba965ab648bde769df0d8e57d766d6785006d7df70147647d57a19addc422282
+ff94179becd48197
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+
+TeXDict begin 39158280 55380996 1000 600 600
+(/home/guido/testi/latex/latex4wp-1.0.4/tbx.dvi) @start
+/Fa 136[70 2[38 1[38 2[49 54 81 27 2[27 3[43 54 2[49
+23[35 33[27 5[27 33[{}14 99.6264 /CMR12 rf /Fb 136[81
+2[44 1[46 2[56 62 93 31 2[31 3[51 62 2[54 97[{}11 99.6264
+/CMBX12 rf end
+TeXDict begin
+
+1 0 bop 1876 5388 a
+ gsave currentpoint currentpoint translate 90 neg rotate neg exch neg
+exch translate
+ 1876 5388 a 1876 5146 1654 4 v 1876
+5266 4 121 v 1929 5230 a Fb(normal)p 2322 5266 V 104
+w(tilted)p 2924 5266 V 340 w(wider)p 3527 5266 V 1876
+5269 1654 4 v 1876 5581 4 312 v 1929 5545 a Fa(normal)p
+2322 5581 V 2410 5545 a
+ gsave currentpoint currentpoint translate 30 neg rotate neg exch neg
+exch translate
+ 2410 5545 a Fa(I'm)33 b(tilted!)2841
+5545 y
+ currentpoint grestore moveto
+ 2841 5545 a 2924 5581 4 312 v 137 w Fa(wider)p
+3527 5581 V 1876 5584 1654 4 v 1876 5388 a
+ currentpoint grestore moveto
+ 1876 5388
+a eop
+end
+userdict /end-hook known{end-hook}if
+%%Trailer
+cleartomark countdictstack exch sub { end } repeat restore
+%%EOF
diff --git a/info/latex4wp/tbx.pdf b/info/latex4wp/tbx.pdf Binary files differnew file mode 100644 index 0000000000..29b814ea36 --- /dev/null +++ b/info/latex4wp/tbx.pdf diff --git a/info/latex4wp/tbx.tex b/info/latex4wp/tbx.tex new file mode 100644 index 0000000000..be74383005 --- /dev/null +++ b/info/latex4wp/tbx.tex @@ -0,0 +1,18 @@ +\documentclass[a4paper,12pt]{article} +\usepackage{rotating} +\usepackage{tabularx} + +\begin{document} +\pagestyle{empty} + +\begin{sidewaystable} + \begin{tabularx}{7cm}{|l|X|X|} + \hline + \textbf{normal} & \textbf{tilted} & \textbf{wider} \\ + \hline + normal & \rotatebox{30}{I'm tilted!} & wider \\ + \hline + \end{tabularx} +\end{sidewaystable} + +\end{document} |