From 61c03e830269973a964626996fa9a1943f704fd3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 13 Jan 2006 00:02:47 +0000 Subject: plates git-svn-id: svn://tug.org/texlive/trunk@1200 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/plates/endplate.sty | 190 ++++++++++++++++ Master/texmf-dist/tex/latex/plates/plates.sty | 288 ++++++++++++++++++++++++ 2 files changed, 478 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/plates/endplate.sty create mode 100644 Master/texmf-dist/tex/latex/plates/plates.sty (limited to 'Master') diff --git a/Master/texmf-dist/tex/latex/plates/endplate.sty b/Master/texmf-dist/tex/latex/plates/endplate.sty new file mode 100644 index 00000000000..263c98465a6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/plates/endplate.sty @@ -0,0 +1,190 @@ +%This is a modified file of endfloat.sty for use with +%plates.sty package. This file is only designed to +%be internally called from plates. +% +%Anthony Tanbakuchi +%Mar.19.2002 +% +% +%% +%% This is file `endfloat.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% endfloat.dtx (with options: `package') +%% +%% IMPORTANT NOTICE: +%% This is part of a set of tools (or better yet, experiments) written +%% by Jeff Goldberg (j.goldberg@Cranfield.ac.uk), who is writting this +%% not only for it utility value, but as part of the process of learning +%% LaTeX. These tools are far from perfect, and comments are welcome. +%% +%% The usual disclaimers apply: If it doesn't work right that's your +%% problem (but do let me know). +%% +%% The usual GNU-style conditions apply: If you change it, you take +%% the blame; if you pass it on, pass on all present condiditions; +%% +\def\filename{endplate} +\def\fileversion{v2.4i} +\def\filedate{1995/10/11} +\def\docdate {1995/10/11} +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% Description: LaTeX style to put plates and tables at end of article +%% Keywords: LaTeX, style-option, float, plate, table +%% Authors: James Darrell McCauley , +%% Jeff Goldberg +%% Maintainer: Jeff Goldberg +%% Latest Version: Version 2.4i +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{endplate}[2002/03/18 v0.1 endplates for plates package by AT] +\newcommand{\ef@OldCmd}[2]{\PackageWarning{endplate} + {The command \protect#1 is obsolete and will be\MessageBreak + omitted from future releases of the endfloat package.\MessageBreak + Use the package option `#2' instead.}} +\newif\if@domarkers +\newif\if@figlist % bj +\newif\if@fighead +\@domarkerstrue +\@figlisttrue +\@figheadfalse +\DeclareOption{nomarkers}{\@domarkersfalse } +\DeclareOption{markers}{\@domarkerstrue } +\newcommand{\markersintext}{\@domarkerstrue + \ef@OldCmd{\markersintext}{markers}} +\newcommand{\nomarkersintext}{\@domarkersfalse + \ef@OldCmd{\nomarkersintext}{nomarkers}} +\newcommand{\dofiglist}{\@figlisttrue \ef@OldCmd{\dofiglist}{figlist}} +\newcommand{\nofiglist}{\@figlistfalse \@figheadtrue + \ef@OldCmd{\nofiglist}{nofiglist}} +\DeclareOption{nolists}{ \@figlistfalse } +\DeclareOption{lists}{\@figlisttrue } +\DeclareOption{nofiglist}{\@figlistfalse } +\DeclareOption{figlist}{\@figlisttrue } +\DeclareOption{heads}{\@figheadtrue } +\DeclareOption{noheads}{\@figheadfalse } +\DeclareOption{fighead}{\@figheadtrue } +\DeclareOption{nofighead}{\@figheadfalse } +\DeclareOption{platesfirst}{\@tablesfirstfalse } +\DeclareOption*{% + \PackageWarning{endfloat}{Unknown option `\CurrentOption'}} +\ProcessOptions +\def\efloat@newwrite#1{% + \expandafter\newwrite\csname efloat@post#1\endcsname} +\def\efloat@openpost#1{\expandafter\immediate\expandafter\openout + \csname efloat@post#1\endcsname =\jobname.#1\relax + \ef@setct{#1}{1} + \message{(\jobname.#1)}} +\def\ef@newct#1{% + \expandafter \newcount \csname @ef@#1open\endcsname} +\def\ef@setct#1#2{\expandafter\global\csname @ef@#1open\endcsname=#2\relax} +\def\efloat@condopen#1{% + \expandafter\ifnum \csname @ef@#1open\endcsname>0 \relax \else + \efloat@openpost{#1}\fi} +\def\efloat@iwrite#1#2{% + \expandafter\immediate\expandafter\write\csname efloat@post#1\endcsname + {#2}} +\newcommand{\efloatseparator}{\clearpage} +\newcounter{postfig} +\efloat@newwrite{fff} +\ef@newct{fff} +\newcounter{posttbl} +\efloat@newwrite{ttt} +\ef@newct{ttt} +\newcommand*{\ef@makeinnocent}[1]{\catcode`#1=12 } +\providecommand{\platename}{Plate} +\newcommand{\plateplace}{% + \begin{center} + [\platename~\thepostfig\ about here.] + \end{center}} +\let\@bfig\plate % bj +\let\efloat@float\relax +\def\plate{% + \efloat@condopen{fff} + \efloat@iwrite{fff}{\string\begin{plate*}}% + \if@domarkers% + \addtocounter{postfig}{1}% % bj + \plateplace% % bj + \fi% + \def\@currenvir{efloat@float}% + \begingroup% + \let\do\ef@makeinnocent \dospecials% + \ef@makeinnocent\^^L% and whatever other special cases + \endlinechar`\^^M \catcode`\^^M=12 \ef@xplate}% +\def\efloat@foundend#1#2{\def\next{\endgroup\end{efloat@float}% + \efloat@iwrite{#1}{\string\end{#2}}% + \efloat@iwrite{#1}{\string\efloatseparator}% + \efloat@iwrite{#1}{ }}}% +{\catcode`\^^M=12 \endlinechar=-1 % + \gdef\ef@xplate#1^^M{\def\test{#1}% + \ifx\test\ef@endplatetest + \efloat@foundend{fff}{plate*} + \else\ifx\test\ef@enddblplatetest + \efloat@foundend{fff}{plate*} + \else% + \efloat@iwrite{fff}{#1}% + \let\next\ef@xplate% + \fi \fi \next}% +}% +{\escapechar=-1% + \xdef\ef@endplatetest{\string\\end\string\{plate\string\}}% + \xdef\ef@enddblplatetest{\string\\end\string\{plate*\string\}}% +}% +\@namedef{plate*}{\plate} +%%%\providecommand{\platesection}{Plates} +\providecommand{\platesection}{\platenames} +\newcommand{\processplates@hook}{\@empty} +\def\AtBeginPlates{\g@addto@macro\processplates@hook} +\newcommand{\processdelayedfloats@hook}{\@empty} +\def\AtBeginDelayedFloats{% + \g@addto@macro\processdelayedfloats@hook} +\newcommand{\processotherdelayedfloats}{\@empty} +\def\processplates{% + \expandafter\ifnum \csname @ef@fffopen\endcsname>0 + \immediate\closeout\efloat@postfff \ef@setct{fff}{0} + \clearpage % bj + \if@figlist % bj + {\normalsize\listofplates} % bj + \clearpage % bj + \fi + \if@fighead + \section*{\platesection} % bj + \suppressfloats[t] % jpg + \fi + \markboth{\uppercase{\platesection}}{\uppercase{\platesection}}% bj + \processplates@hook \@input{\jobname.fff} + \fi} +\renewcommand{\bottomfraction}{1.0} +\renewcommand{\topfraction}{1.0} +\renewcommand{\textfraction}{0.0} +\newcommand{\processdelayedfloats}{{% + \def\baselinestretch{1}\normalsize + \let\plate\@bfig + \processdelayedfloats@hook + \processplates + \processotherdelayedfloats}} +\AtEndDocument{% % jpg + \message{AED endfloat: Processing end Plates and Tables}% % jpg + \onecolumn + \processdelayedfloats } +\InputIfFileExists{endfloat.cfg}{% + \typeout{*** Using endfloat.cfg ***}}{} +\endinput +%% +%% End of file `endfloat.sty'. diff --git a/Master/texmf-dist/tex/latex/plates/plates.sty b/Master/texmf-dist/tex/latex/plates/plates.sty new file mode 100644 index 00000000000..0415a6ffe74 --- /dev/null +++ b/Master/texmf-dist/tex/latex/plates/plates.sty @@ -0,0 +1,288 @@ +%PACKAGE plates +% For placement of special float enviornment `plates'. Allows +% user to put plate floats in document as if they were figure, but +% the plates are all gathered and printed at the specified location. +% Designed to be helpful when including color figures at the back of +% a document. Optionally, the `figures' option can be supplied and then +% the plates will just be printed in the document. +% +%NEW ENVIORNMENT +%\begin{plate} +%%just use like figure enviornment +%\end{plate} +% +%NEW COMMANDS +%\ProcessPlates - at point of issue the plates are gathered together and printed. +%\listofplates - prints the list of plates just like \listoffigures +%\setplatename - sets the name of the float enviornment - default `plates' +% +%OPTIONS +%figures - treats plates like regular floats. Plates are printed inside the document +% and \autoref{} will now use Figure instead of Plate in referencing. +% \listofplates & \ProcessPlates has no effect +%memoir - if using memoir class creates an added appendix page where \ProcessPlates is issued. +%onefloatperpage - only allows one float per page, after each float \cleardoublepage is issued. +% otherwise default is to gather floats together but will print as many as will fit to a page +% as well as printing on both sides of a two sided document. *Probably should fix this +% or make an option to turn off both sides. +% +% +%This Package includes code from the Memoir class and uses +%the endplate package, a modification of endfloat. +% +%Anthony A. Tanbakuchi +%Mar.19.2002 +% +% +\NeedsTeXFormat{LaTeX2e} \ProvidesPackage{plates}[2002/03/18 v0.1 FigSize sizes graphics for graphicx package] +\RequirePackage{ifthen}[1994/06/01] + +\newcounter{optfigures} +\newcounter{optmemoir} +\newcounter{optonefloatperpage} + %Option to process all plates as figures (ie --- the package is disables, plate enviornments act like figures.) + \DeclareOption{figures}{\setcounter{optfigures}{1}} + \DeclareOption{memoir}{\setcounter{optmemoir}{1}} + \DeclareOption{onefloatperpage}{\setcounter{optonefloatperpage}{1}} + \ProcessOptions\relax + +%The real setplatename definition comes later... this is just to ensure that +%when figures option is used setplatename is still valid. +\newcommand{\setplatename}[1]{} + +\ifthenelse{\value{optfigures} = 0}{% +% +%COMMANDS for the new float env & list of are from memoir. +%If memoir is not in use then define the commands +\makeatletter +\@ifundefined{newlistof}{%TRUE TEXT +%******************************************************************* +%%***************COPIED from MEMOIR CLASS*************************** +%******************************************************************* +\newcounter{newflo@tctr} + \setcounter{newflo@tctr}{1} +\newcommand{\newfloat}[4][\@empty]{% + \@namedef{ftype@#2}{\value{newflo@tctr}} + \addtocounter{newflo@tctr}{\value{newflo@tctr}} + \@ifundefined{c@#2}{% counter is not defined + \ifx \@empty#1\relax + \newcounter{#2} + \else + \newcounter{#2}[#1] + \expandafter\edef\csname the#2\endcsname{% + \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}} + \fi}{} + \setcounter{#2}{0} + + \@namedef{ext@#2}{#3} % file extension + \@ifundefined{c@#3depth}{\newcounter{#3depth}}{} + \setcounter{#3depth}{1} + + \@namedef{fps@#2}{tbp} % position + \@namedef{fnum@#2}{#4~\@nameuse{the#2}} % caption naming + \@namedef{fleg#2}{#4} % legend naming + \@namedef{flegtoc#2}##1{} % legend name in ToC + + \newenvironment{#2}{\@float{#2}}{\end@float} + \newenvironment{#2*}{\@dblfloat{#2}}{\end@dblfloat} +} % end \newfloat + +\newcommand{\newlistentry}[4][\@empty]{% + \@ifundefined{c@#2}{% check & set the counter + \ifx \@empty#1\relax + \newcounter{#2} + \else + \newcounter{#2}[#1]% + \expandafter\edef\csname the#2\endcsname{% + \expandafter\noexpand\csname the#1\endcsname.\noexpand\arabic{#2}} + \fi}{} + \setcounter{#2}{0} + + \@namedef{l@#2}##1##2{% + \ifnum \@nameuse{c@#3depth} > #4\relax + \vskip \@nameuse{cftbefore#2skip} + {\leftskip \@nameuse{cft#2indent}\relax + \rightskip \@tocrmarg + \parfillskip -\rightskip + \parindent \@nameuse{cft#2indent}\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@tempdima \@nameuse{cft#2numwidth}\relax + \expandafter\let\expandafter\@cftbsnum\csname cft#2presnum\endcsname + \expandafter\let\expandafter\@cftasnum\csname cft#2aftersnum\endcsname + \expandafter\let\expandafter\@cftasnumb\csname cft#2aftersnumb\endcsname + \advance\leftskip\@tempdima \null\nobreak\hskip -\leftskip + {\@nameuse{cft#2font}##1}\nobreak + \@nameuse{cft#2fillnum}{##2}} + \fi + } % end of \l@#2 + + \expandafter\newlength\csname cftbefore#2skip\endcsname + \setlength{\@nameuse{cftbefore#2skip}}{\z@ \@plus .2\p@} + \expandafter\newlength\csname cft#2indent\endcsname + \expandafter\newlength\csname cft#2numwidth\endcsname + \ifcase #4\relax % 0 (level 1) + \setlength{\@nameuse{cft#2indent}}{0em} + \setlength{\@nameuse{cft#2numwidth}}{2.3em} + \or % 1 (level 2) + \setlength{\@nameuse{cft#2indent}}{2.3em} + \setlength{\@nameuse{cft#2numwidth}}{3.2em} + \or % 2 (level 3) + \setlength{\@nameuse{cft#2indent}}{5.5em} + \setlength{\@nameuse{cft#2numwidth}}{4.1em} + \or % 3 (level 4) + \setlength{\@nameuse{cft#2indent}}{8.5em} + \setlength{\@nameuse{cft#2numwidth}}{5.0em} + \else % anything else + \setlength{\@nameuse{cft#2indent}}{10.5em} + \setlength{\@nameuse{cft#2numwidth}}{6.0em} + \fi + \@namedef{cft#2font}{\normalfont} + \@namedef{cft#2presnum}{} + \@namedef{cft#2aftersnum}{} + \@namedef{cft#2aftersnumb}{} + \@namedef{cft#2dotsep}{\cftdotsep} + \@namedef{cft#2leader}{\normalfont\cftdotfill{\@nameuse{cft#2dotsep}}} + \@namedef{cft#2pagefont}{\normalfont} + \@namedef{cft#2afterpnum}{} + \@namedef{toclevel@#2}{#4} + \@namedef{cft#2fillnum}##1{% + {\@nameuse{cft#2leader}}\nobreak + \hb@xt@\@pnumwidth{\hfil\@nameuse{cft#2pagefont}##1}\@nameuse{cft#2afterpnum}\par} +} % end \newlistentry + +\newcommand{\newsubfloat}[1]{% + \newlistentry[#1]{sub#1}{\@nameuse{ext@#1}}{1} + \@namedef{ext@sub#1}{\csname ext@#1\endcsname} + \@namedef{thesub#1}{(\alph{sub#1})} + \@namedef{@thesub#1}{{\subcaplabelfont\@nameuse{thesub#1}}\space} + \@namedef{p@sub#1}{\csname the#1\endcsname} + \@namedef{@makesub#1caption}{\@makesubfigurecaption} +} + +\newcommand{\newfixedcaption}[3][\caption]{% + \newcommand{#2}{\def\@captype{#3}#1}} +\newcommand{\renewfixedcaption}[3][\caption]{% + \renewcommand{#2}{\def\@captype{#3}#1}} +\newcommand{\providefixedcaption}[3][\caption]{% + \providecommand{#2}{\def\@captype{#3}#1}} + +\newcommand{\newlistof}[3]{% + \@namedef{ext@#2}{#2} + \@ifundefined{c@#2depth}{\newcounter{#2depth}}{} + \setcounter{#2depth}{1} + + \@namedef{#2mark}{% + \@mkboth{#3}{#3}} + + \@namedef{#1}{\@ifstar{\@nameuse{@star#2}}{\@nameuse{@plain#2}}} + \@namedef{@star#2}{% + \ensureonecol + \par + \begingroup +%%% \parindent\z@ \parskip\cftparskip + \@nameuse{@#2maketitle} + \@starttoc{#2}% + \endgroup + \restorefromonecol} + + \@namedef{@plain#2}{% + \ensureonecol + \par + \begingroup +%%% \parindent\z@ \parskip\cftparskip + \@nameuse{@#2maketitle} + \phantomsection + \addcontentsline{toc}{chapter}{#3} + \@starttoc{#2}% + \endgroup + \restorefromonecol} + + \@namedef{@#2maketitle}{% + \@nameuse{#2headstart} + {\parindent\z@ \parskip\cftparskip + \interlinepenalty\@M + \@nameuse{print#2title}{#3}% + \@nameuse{#2mark}% + \thispagestyle{chapter}% + \@nameuse{after#2title} + } + \@afterheading} + + \@namedef{#2headstart}{\chapterheadstart} + \@namedef {after#2title}{\afterchaptertitle} + \@namedef{print#2title}##1{\printchaptertitle{##1}} +} % end \newlistof +%******************************************************************* +%%***********END*COPIED from MEMOIR CLASS*************************** +%******************************************************************* +}{%FALSE TEXT -- nothing needed +} + +% +%Plates Commands +\newcommand{\platename}{Plate}% +\newcommand{\platenames}{{\platename}s}% +\renewcommand{\setplatename}[1]{\renewcommand{\platename}{#1}} + +\newcommand{\listplatename}{List of \platenames}% +\newlistof{listofplates}{plt}{\listplatename}% +\newfloat{plate}{plt}{\platename}% +\newfixedcaption{\fpltcaption}{plt}% +\newlistentry{plate}{plt}{0}% +\newsubfloat{plate}% +\renewcommand{\theplate}{\Roman{plate}}% +% +%Make sure plate pages don't have seciton headers +%%kuchicomment +%\makepagestyle{floatcomp}% +%% \headwidth has already been defined for the companion style +%\makeheadrule{floatcomp}{\headwidth}% +%{\ifonlyfloats{0pt}{\normalrulethickness}}% +%\makeheadposition{floatcomp}{flushright}{flushleft}{}{}% +%\makepsmarks{floatcomp}{\companionpshook}% +%\makeevenhead{floatcomp}{\ifonlyfloats{}{\normalfont\bfseries\thepage}}% +%{}{\ifonlyfloats{}{\normalfont\bfseries\leftmark}}% +%\makeoddhead{floatcomp}{\ifonlyfloats{}{\normalfont\bfseries\rightmark}}% +%{}{\ifonlyfloats{}{\normalfont\bfseries\thepage}}% +%\makeevenfoot{floatcomp}{}{\ifonlyfloats{\thepage}{}}{}% +%\makeoddfoot{floatcomp}{}{\ifonlyfloats{\thepage}{}}{}% +% +%Ensure proper autoref for subplates +\newcommand{\subplateautorefname}{\mbox{\platename}}% +% +\RequirePackage[nolists,noheads,nomarkers]{endplate}[2002/03/18]% +% +%Set up what is to happen when \ProcessPlates is issued +% +%Command to print out the plates at given location +\newcommand{\ProcessPlates}{\processdelayedfloats}% + + %If option MEMOIR is supplied then add an appendix page to front of plates +\ifthenelse{\value{optmemoir} = 1}{% +\renewcommand{\ProcessPlates}{% +\AtBeginPlates{\renewcommand{\appendixpagename}{\platenames}% +\renewcommand{\appendixname}{\platenames}% +\renewcommand{\appendixtocname}{\platenames}% +\appendixpage% +\clearforchapter}% +\processdelayedfloats} +}{} +% +%Allow multiple floats per page +\renewcommand{\efloatseparator}{} +%Option for one float per page +\ifthenelse{\value{optonefloatperpage} = 1}{% +\renewcommand{\efloatseparator}{\cleardoublepage}}{} +% +}{%OPTION FIGURES is being used, so we just make the plate enviornment a figure enviornment +\newenvironment{plate}{\begin{figure}}{\end{figure}}% +%ProcessPlates command now does nothing!% +\newcommand{\ProcessPlates}{}% +%\listofplates now does nothing +\newcommand{\listofplates}{} + +} + + +\endinput -- cgit v1.2.3