summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/plates/plates.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/plates/plates.sty')
-rw-r--r--Master/texmf-dist/tex/latex/plates/plates.sty288
1 files changed, 288 insertions, 0 deletions
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