% $Id: oxford-trial.tex,v 1.1 2000/08/11 06:58:43 latex3 Exp $ % \documentclass{article} % % File to make the trial pages for the talk in Oxford. % Run with different numbers to get the floats added to the page (0-8); % 9 will give grid layout; % 10 requires a corresponding .fpc file. \typein[\TRIAL]{trial?} \usepackage{xoutput} \makeatletter \def\doif#1{\relax \ifnum#1>\TRIAL\relax \expandafter\@gobble \else \expandafter \@firstofone \fi } \makeatother \savefloatplacements \doif{10}{\readfloatplacements} \usepackage{graphicx} \DeclareFloatSequenceClass{figure} \DeclareFloatSequenceClass{table} \DeclareFloatSequenceClass{algorithm} \DeclareFloatType{figure} { sequence-class-id = figure, toc-extension = lof, caption-text = \figurename, numbered-boolean = true, numbered-id = figure, numbered-action = \arabic{figure}, body-decls = , } \DeclareFloatType{table} { sequence-class-id = table, toc-extension = lot, caption-text = \tablename, numbered-boolean = true, numbered-id = table, numbered-action = \arabic{table}, body-decls = , } \DeclareFloatType{algorithms} { sequence-class-id = algorithm, toc-extension = lot, caption-text = Algorithm, numbered-boolean = true, numbered-id = algorithm, body-decls = , } \DeclareFloatArea {t11} { class-close-list = , all-close-list = {b11}, max-float-num = 1, } \DeclareFloatArea {b11} { class-close-list = {t11}, all-close-list = , max-float-num = 1, } \DeclareFloatArea {t21} { class-close-list = {t11,b11}, all-close-list = {t22}, max-float-num = 1, } \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}, max-float-num = 1, } \DeclareFloatArea {b31} { class-close-list = {t11,b11,t21,b21,t31}, all-close-list = , max-float-num = 1, } \DeclareFloatArea {b22} { class-close-list = {t11,b11,t21}, all-close-list = {b21,b31}, max-float-num = 1, } \DeclareFloatArea{t22} { class-close-list = {t11}, all-close-list = {t21,t31}, max-float-num = 1, } \ShowGridfalse \topskip=12pt \DeclareInstance{pagesetup2}{normal}{std}{ column-num = 3, column-width = 160pt, column-height = 552pt, float-callout-constraint = column, bottom-float-footnote-constraint=forbidden, flush-bottom-float-footnote-constraint=none, max-float-num =4, float-float-sep = 15pt, float-text-sep = 20pt minus 5pt, float-area-sep = 15pt, float-inline-sep = 10pt minus 2pt, area-list = {t22,t11,b11,t21,b21,b22,t31,b31}, grid-point-sep = 0pt, } % with TRIAL > 8 we do grid layout: \doif{9}{ \parskip=0pt \DeclareInstance{pagesetup2}{normal}{std}{ column-num = 3, column-width = 160pt, column-height = 552pt, float-callout-constraint = column, bottom-float-footnote-constraint=forbidden, flush-bottom-float-footnote-constraint=none, max-float-num =4, float-float-sep = 15pt, float-text-sep = 20pt minus 5pt, float-area-sep = 15pt, float-inline-sep = 10pt minus 2pt, area-list = {t22,t11,b11,t21,b21,b22,t31,b31}, grid-point-sep = 12pt, } } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Stuff for producing test pages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcount\bc \newcommand\startpar{\par\global\advance\bc1 [\the\bc] } \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\dofigure[1]{% \startpar callout (#1) to a figure. \doif{#1}{\begin{figure} \caption{Belongs to callout (#1)}\label{mylab:fig#1} \ifcase\value{figure} \or \includegraphics[totalheight=4\baselineskip]{escher.eps} \or \includegraphics[totalheight=4\baselineskip]{cat.eps} \or \includegraphics[width=\columnwidth]{europe.eps} \or \includegraphics[angle=90,width=.7\columnwidth]{rahtz18.eps} \or \includegraphics[angle=180,width=.7\columnwidth]{rahtz18.eps} \else \includegraphics[width=.7\columnwidth]{rahtz18.eps} \fi \end{figure}} \sample\footnote{A footnote figure #1} \par } \newcommand\doalg[1]{\startpar callout (#1) to an algorithm.% \doif{#1}{\begin{algorithms} \caption{Belongs to callout (#1)} $ A \to B \to C $ % \includegraphics[totalheight=3\baselineskip,width=\columnwidth]{feynman.eps} \end{algorithms}}\par} \newcommand\dotable[1]{% \startpar callout (#1) to a table. \doif{#1}{\begin{table} \caption{Belongs to callout (#1)} \ifcase\value{table} \or \reflectbox{\includegraphics[width=.8\columnwidth]{theworld.eps}} \else \includegraphics[width=.9\columnwidth]{europe.eps} \fi \end{table}}% \sample\footnote{a footnote table #1} \par } \newcommand\bb{\startpar \sample\sample\par \sample\sample\sample \par} % where's the interface to spanning floats? :-) % \newcommand\dospanfigure[1]{% \startpar callout (#1) to a figure.% \doif{4}{\def\SPANCNT{2}% \begin{figure} \includegraphics[width=1.5\columnwidth]{outline2.eps} \caption{Belongs to callout (#1)} \end{figure}\par \def\SPANCNT{}}% } \begin{document} \UseInstance{pagesetup2}{normal} \startpar callout (1) to a figure.% \doif{1}{% \begin{figure}[t21] \reflectbox{\includegraphics[totalheight=4\baselineskip]{cat.eps}} \caption{Forced into t21} \end{figure}}\par \dofigure2 \sample \doalg3 \dospanfigure{4} \dofigure5 \doalg{6} \dotable{7} \startpar callout to a here table.% \flushfloats[table] \begin{table}[h] \includegraphics[width=.8\columnwidth]{europe.eps} \caption{The here table example} \end{table} \bb \dotable{8} \bb \bb \bb \bb THE END % just to make sure we don't lose text \end{document}