diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex3/xor/xo-sample.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex3/xor/xo-sample.tex | 578 |
1 files changed, 578 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex3/xor/xo-sample.tex b/Master/texmf-dist/doc/latex3/xor/xo-sample.tex new file mode 100644 index 00000000000..557522959e0 --- /dev/null +++ b/Master/texmf-dist/doc/latex3/xor/xo-sample.tex @@ -0,0 +1,578 @@ +\documentclass{article} + + + +\usepackage{xoutput} +\usepackage{xo-grid} + +\usepackage{graphicx} +\usepackage{trace} + +%\showoutput +%\tracingpages=1 +%\tracingonline=1 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% PLAY AROUND WITH MANUAL FLOAT CONTROL +% +% \savefloatplacements writes the file \jobname.fpl +% \readfloatplacements reads in \jobname.fpc +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%\savefloatplacements +%\readfloatplacements + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DECLARING FLOAT TYPES +% +% \DeclareFloatSequenceClass currently needed for each name used in +% the sequence-class-id key (will vanish) +% +% \DeclareFloatType defines type +% +% Example below is a bit strange: all floats are in one +% sequence class and share the same numbering but go in different tocs +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareFloatSequenceClass{figure} +\DeclareFloatSequenceClass{tabalg} % tables and algorithms + +\DeclareFloatType{figure} + { + sequence-class-id = figure, + toc-extension = lof, + caption-text = \figurename, + numbered-boolean = true, + numbered-id = figure, + numbered-within-id = section, + numbered-action = \thesection.\arabic{figure}, + body-decls = \footnotesize, + } + +\DeclareFloatType{table} + { + sequence-class-id = tabalg, + toc-extension = lot, + caption-text = \tablename, + numbered-boolean = true, + numbered-id = table, + numbered-within-id = section, + numbered-action = \thesection.\arabic{table}, + body-decls = \footnotesize, + } + +\DeclareFloatType{algorithms} + { + sequence-class-id = tabalg, + toc-extension = lot, + caption-text = Algorithm, + numbered-boolean = true, + numbered-id = table, + body-decls = \footnotesize, + } + +\makeatletter +\newcommand*\l@algorithms{\@dottedtocline{1}{1.5em}{2.3em}} +\makeatother + +\renewcommand\listtablename{List of Tables and Algorithms} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DECLARING FLOAT AREAS +% +% \DeclareFloatArea defines a float area (which can be referenced in +% pagesetup2 instances below) +% +% Ensure that partial overlapping areas close each other! +% +% The example is for three columns. +% +% Actually, don't try to use additional float areas unless you update +% the currently hardwired \top@areas and \bot@areas lists (in xo-new) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% spanning all three columns + +\DeclareFloatArea {t13} + { + class-close-list = , + all-close-list = {b13}, % don't want top and bottom floats + max-float-num = 2, + } + +\DeclareFloatArea {b13} + { + class-close-list = {t13,t12,t11,b11}, + all-close-list = , + max-float-num = 1, + } + + +% spanning two columns + + +\DeclareFloatArea{t12} + { + class-close-list = , + all-close-list = {t22}, % this is a must! partial span + max-float-num = 1, + } + + +\DeclareFloatArea{t22} + { + class-close-list = {t11,b11}, % b12 still open + all-close-list = {t12}, + max-float-num = 1, + } + + +\DeclareFloatArea{b12} + { + class-close-list = {t11,b11}, + all-close-list = {}, + max-float-num = 1, + } + +% this strange design doesn't have b22 + + +% single columns + +\DeclareFloatArea {t11} + { + class-close-list = , + all-close-list = , + max-float-num = 2, + } + + +\DeclareFloatArea {b11} + { + class-close-list = {t11}, + all-close-list = , + max-float-num = 1, + } + + +\DeclareFloatArea {t21} + { + class-close-list = {t11,b11}, + all-close-list = {t22}, % don't ask me why just to make a + % change :-) + max-float-num = 2, + } + + +\DeclareFloatArea {b21} + { + class-close-list = {t11,b11,t21}, + all-close-list = , + max-float-num = 1, + } + + +\DeclareFloatArea {t31} + { + class-close-list = {t11,b11,t21,b21}, + all-close-list = {t22}, % we don't like this one + max-float-num = 2, + } + + +\DeclareFloatArea {b31} + { + class-close-list = {t11,b11,t21,b21,t31,t22}, + all-close-list = , + max-float-num = 1, + } + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DECLARING CAPTION ATTACHMENTS +% +% The buildfloat templates aren't yet real templates, i.e., nearly +% everything is fixed with them. The only key they offer is the +% distance between float body and caption. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareInstance{buildfloat}{default}{centeredabove} + { + body-caption-sep = 10pt, + } + +\DeclareInstance{buildfloat}{figure}{centeredbelow} + { + body-caption-sep = 10pt, + } + +% with bottomright the body-caption-sep key is the horizontal +% separation + +\DeclareInstance{buildfloat}{t31}{bottomright} + { + body-caption-sep = 24pt, + } +\DeclareInstance{buildfloat}{t22}{bottomright} + { + body-caption-sep = 24pt, + } +\DeclareInstance{buildfloat}{t13}{bottomright} + { + body-caption-sep = 24pt, + } + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DECLARING FOOTNOTE HANDLING +% +% The situation with footnotesetup is even worse, there are no usable +% keys yet. But three different ``pseudo'' templates: std, ftnright, +% and margin. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareInstance{footnotesetup}{mainmatterstyle}{margin}{} +%\DeclareInstance{footnotesetup}{mainmatterstyle}{std}{} +%\DeclareInstance{footnotesetup}{mainmatterstyle}{ftnright}{} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DECLARING PAGE LAYOUT +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\raggedbottom + +\setlength\topskip{12pt} % for grid layout make this = \baselineskip + % there is some bug which will otherwise show up + + +\ShowGridtrue % show the grid +\ShowGridfalse + +\DeclareInstance{pagesetup2}{normal}{std}{ +%%%%%%%%%%%%%%%%%%%%%% +% setting up columns: +% + column-num = 3, + column-width = 156pt, + column-sep = 25pt, + column-height = 552pt, +%%%%%%%%%%%%%%%%%%%%%% +% constraining the float placement: +% + float-callout-constraint = after, + bottom-float-footnote-constraint = forbidden, + flush-float-callout-constraint = column, + max-float-num =10, +%%%%%%%%%%%%%%%%%%%%%% +% list should pick from the above: +% + area-list = {t13,t12,t22,t11,b12,b11,t21,b21,t31,b31}, +%%%%%%%%%%%%%%%%%%%%%% +% footnote placement: +% + footnote-setup = mainmatterstyle, +% +% or inline: +% +% footnote-setup = \UseTemplate{footnotesetup}{std}{}, +% +%%%%%%%%%%%%%%%%%%%%%% +% float area placement: +% + float-float-sep = 15pt, + float-text-sep = 30pt minus 8pt, + float-area-sep = 15pt, + float-inline-sep = 6pt minus 2pt, +%%%%%%%%%%%%%%%%%%%%%% +% grid points? + grid-point-sep = 12pt, + } + + + + + + +\DeclareInstance{pagesetup2}{frontmatter}{std}{ +%%%%%%%%%%%%%%%%%%%%%% +% setting up columns: +% + column-num = 2, + column-width = 237.5pt, + column-sep = 25pt, + column-height = 552pt + 12pt, +%%%%%%%%%%%%%%%%%%%%%% +% constraining the float placement: +% + float-callout-constraint = after, + bottom-float-footnote-constraint = forbidden, + max-float-num =0, +%%%%%%%%%%%%%%%%%%%%%% +% list should pick from the above: +% + area-list = {}, +%%%%%%%%%%%%%%%%%%%%%% +% footnote placement: +% + footnote-setup = mainmatterstyle, +%%%%%%%%%%%%%%%%%%%%%% +% float area placement: +% + float-float-sep = 15pt, + float-text-sep = 30pt minus 8pt, + float-area-sep = 15pt, + float-inline-sep = 6pt minus 2pt, +%%%%%%%%%%%%%%%%%%%%%% +% grid points? + grid-point-sep = 12pt, + } + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Stuff for producing test pages +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newcount\bc + +\newcommand\startpar{\par\global\advance\bc1 [\the\bc] } + + +\newcommand\dofigure[1]{\startpar + callout (#1) to a figure. + \aa\footnote{A footnote near callout #1.} + \par + \begin{figure} + \ifcase\value{figure}\relax + \or + \includegraphics[angle=180,width=.7\columnwidth]{rahtz18.eps} + \or + \includegraphics[angle=90,width=.7\columnwidth]{rahtz18.eps} + \or + \includegraphics[angle=180,totalheight=4\baselineskip]{escher.eps} + \or + \includegraphics + [width=.9\columnwidth]{rahtz18.eps} + \else + \ifodd\value{figure}\relax + \includegraphics[totalheight=4\baselineskip]{escher.eps} + \else + \includegraphics[angle=180,totalheight=4\baselineskip]{escher.eps} + \fi + \fi + \caption{Belongs to callout (#1)}\label{mylab:fig#1} + \end{figure} + } + +\newcommand\dospanfigure[3]{% + \startpar + callout (#3) to a figure. + \aa\footnote{A footnote near callout #3.} + \par + \def\SPANCNT{#1} + \begin{figure}[#2] + \ifodd\value{figure}\relax + \ifodd\value{page}\relax + \includegraphics[width=#1\columnwidth]{outline.eps} + \else + \ifnum #1=3\relax + \includegraphics + [totalheight=4\baselineskip,width=2.5\columnwidth]{rahtz18.eps} + \else + \includegraphics + [totalheight=4\baselineskip,width=1.5\columnwidth]{rahtz18.eps} + \fi + \fi + \else + \ifodd\value{page}\relax + \includegraphics[width=1.3\columnwidth]{cat.eps} + \else + \includegraphics[width=#1\columnwidth]{outline2.eps} + \fi + \fi + \caption{Belongs to callout (#3)}\label{mylab:fig#3} + \end{figure}\par + \def\SPANCNT{} + } + +\newcommand\doalg[1]{\startpar + callout (#1) to an algorithm.% + \begin{algorithms} + \caption{Belongs to (#1)} + \ifnum #1<20\relax + \includegraphics[totalheight=#1\baselineskip]{cat.eps} + \else + \includegraphics[totalheight=20\baselineskip]{cat.eps} + \fi + \end{algorithms}\par} + + +\newcommand\dotable[1]{\par + \par + \global\advance\bc1 [\the\bc] callout (#1) to a table. + \aa + \par +\begin{table} +\caption{Belongs to callout (#1)}\label{mylab:tab#1} +\includegraphics[width=\columnwidth]{europe.eps} +\end{table} + } + +\newcommand\bb{\startpar \aa\aa\aa \par} + +\newcommand\sample{% + Infandum, re\-gi\-na, iu\-b\-es re\-no\-va\-re do\-lo\-rem, + Troi\-a\-n\-as ut op\-es et + la\-men\-ta\-bile re\-g\-num cru\-e\-rint Da\-nai; + qua\-e\-que ip\-se mis\-er\-ri\-ma vi\-di, et + qu\-o\-rum pa\-rs ma\-g\-na fui.} + +\newcommand\smallsample{% + Infandum, re\-gi\-na, iubes renovare do\-lo\-rem, Troi\-a\-n\-as ut opes et + la\-men\-ta\-bile regnum cru\-e\-rint Da\-nai; qua\-e\-que \ldots} + +\renewcommand\aa{\space\sample} + + +\begin{document} + +\UseInstance{pagesetup2}{frontmatter} + + +\listoffigures +\columnbreak + +\listoftables + +\vfil + +Note the strange ordering above due to the way the areas are visually +ordered---sorting isn't yet implemented. + +\UseInstance{pagesetup2}{normal} + +% + + +\section{First section} + + +\begin{figure}[t21] + \frame{\parbox{\columnwidth}{ + figure forced into t21 + figure forced into t21 + }} + \caption{A special one} +\end{figure} + + +\dofigure2 +\dofigure3 +\dospanfigure{3}{t13}{4} +\dofigure5 +\dofigure6 +\dospanfigure{3}{t13}{7} +\dofigure8 +\dofigure9 +\doalg{10} +\doalg{11} +\doalg{12} +\doalg{13} +\doalg{14} +\doalg{15} +\doalg{16} +\doalg{17} +\doalg{18} +\dofigure{19} +\dofigure{20} +\dospanfigure{2}{b12}{21} +\dofigure{22} +\dofigure{23} +\dofigure{24} +\dofigure{25} + +\flushfloats % this could be part of \section setup one day +\section{Another section} + +\dofigure{26} +\dofigure{27} +\dofigure{28} +\dofigure{29} +\dofigure{30} +\dofigure{31} + +\bb +\bb + +\dotable{32} +\dotable{33} +\dotable{34} + +\dofigure{35} +\dofigure{36} + +\bb\bb + +\bb + +\dospanfigure{2}{t22}{37} +\dospanfigure{2}{b12}{38} +\dospanfigure{2}{t12}{39} +\dotable{40} +\dofigure{41} + +\bb +\bb +\dofigure{42} +\dospanfigure{2}{t12}{43} + +\bb + + +\bb +\bb + +\bb +\bb +\bb + + + +\dospanfigure{2}{t32}{44} %AREA DOES NOT EXIST! +\dofigure{45} + + +\bb\bb\bb\bb + +\dotable{46} + +\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb + +\doalg{47} +\bb\bb\bb\bb\bb\bb\bb\bb\bb +\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb\bb + +THE END % just to make sure we don't lose text + + + +\end{document} + |