186 lines
7.2 KiB
TeX
186 lines
7.2 KiB
TeX
%%
|
|
%% This is file `fltpage.sty',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% fltpage.dtx (with options: `package')
|
|
%%
|
|
%% Copyright (C) 1998 by Sebastian Gross. All rights reserved.
|
|
%%
|
|
%%
|
|
%% This file is part of the fltpage package
|
|
%%
|
|
%% IMPORTANT NOTICE:
|
|
%%
|
|
%% This a tool or better yet, an experiments written by Sebastian Gross,
|
|
%% who is writing this not only for it utility value, but as part of the
|
|
%% process of learning LaTeX. This utility is far from perfect, and
|
|
%% comments are welcome.
|
|
%%
|
|
%% The usual disclaimers apply: If it doesn't work right that's your problem!
|
|
%%
|
|
%% The usual GNU-style conditions apply: If you change it, you take
|
|
%% the blame; if you pass it on, pass on all present conditions;
|
|
%%
|
|
%% Error Reports in case of UNCHANGED versions to
|
|
%%
|
|
%% Sebastian Gross <seppel@zedat.fu-berlin.de>
|
|
%%
|
|
%%
|
|
%% \iffalse meta-comment
|
|
%% ===================================================================
|
|
%% @LaTeX-package-file{
|
|
%% author = {Sebastian Gross},
|
|
%% version = {0.3},
|
|
%% date = {13 Nov 1998},
|
|
%% filename = {fltpage.dtx},
|
|
%% email = {seppel@zedat.fu-berlin.de},
|
|
%% codetable = {ISO/ASCII},
|
|
%% keywords = {LaTeX2e, float, table, figure, caption, FPfigure, FPtable},
|
|
%% supported = {yes},
|
|
%% docstring = {LaTeX package which defines new environments to place
|
|
%% captions of tables and figures on the facing/following page.}
|
|
%% }
|
|
%% ===================================================================
|
|
%% \fi
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{fltpage}[1998/10/29 v.0.3 Floats on full page (SMU)]
|
|
\RequirePackage{ifthen}
|
|
\RequirePackage{afterpage}
|
|
\newcounter{FP@figureC}
|
|
\newcounter{FP@tableC}
|
|
\newsavebox{\FP@floatCorpusBOX}
|
|
\newcommand*{\FP@guide}{}%
|
|
\newcommand*{\FP@guideStyle}{\slshape}
|
|
\newcommand*{\FP@guideOneside}{following page}
|
|
\newcommand*{\FP@guideTwoside}{facing page}
|
|
\newcommand*{\FP@guideAfter}{following page}
|
|
\newcommand*{\FP@guideBefore}{preceding page}
|
|
\newcommand*{\FP@guideFaceBefore}{preceding page}
|
|
\newcommand*{\FP@guideFaceAfter}{following page}
|
|
\newcommand*{\FP@separatorCaption}{\rule{\linewidth}{.4pt}}
|
|
\newcommand{\FP@positionLabel}{FP\@captype-\number\value{FP@\@captype C}-pos}
|
|
\newcommand{\FP@helpNote}[2]{%
|
|
\typeout{FP#1 is inserted on page \pageref{#2}!}}%
|
|
\newcommand{\FP@floatOneside}{}
|
|
\newcommand{\FP@floatTwoside}{}
|
|
\newcommand{\FP@float}{}
|
|
\DeclareOption{german}{%
|
|
\renewcommand{\FP@guideAfter}{n\"achste Seite}
|
|
\renewcommand{\FP@guideBefore}{vorhergehende Seite}
|
|
\renewcommand{\FP@guideOneside}{\FP@guideAfter}
|
|
\renewcommand{\FP@guideFaceBefore}{gegen\"uberliegende Seite}
|
|
\renewcommand{\FP@guideFaceAfter}{gegen\"uberliegende Seite}
|
|
\renewcommand{\FP@guideTwoside}{\FP@guideFaceAfter}
|
|
\PassOptionsToPackage{german}{varioref}
|
|
}%
|
|
\DeclareOption{varioref}{%
|
|
\AtBeginDocument{%
|
|
\RequirePackage{varioref}
|
|
\ifthenelse{\equal{\reftextbefore}{\@empty}}%
|
|
{}{\renewcommand{\FP@guideBefore}{\reftextbefore}}%
|
|
\ifthenelse{\equal{\reftextafter}{\@empty}}%
|
|
{}{\renewcommand{\FP@guideAfter}{\reftextafter}}%
|
|
\renewcommand{\FP@guideOneside}{\FP@guideAfter}
|
|
\ifthenelse{\equal{\reftextfacebefore}{\@empty}}%
|
|
{}{\renewcommand{\FP@guideFaceBefore}{\reftextfacebefore}}%
|
|
\ifthenelse{\equal{\reftextfaceafter}{\@empty}}%
|
|
{}{\renewcommand{\FP@guideFaceAfter}{\reftextfaceafter}}%
|
|
\renewcommand{\FP@guideTwoside}{\FP@guideFaceAfter}%
|
|
}%
|
|
}%
|
|
\DeclareOption{closeFloats}{%
|
|
\renewcommand{\FP@floatOneside}[3]{#3#2#1}%
|
|
\renewcommand{\FP@floatTwoside}[4]{%
|
|
\ifthenelse{\isodd{\pageref{#1}}}{#2#3#4}{#4#3#2}}%
|
|
}%
|
|
\DeclareOption{leftFloats}{%
|
|
\renewcommand{\FP@floatOneside}[3]{#1#2#3}%
|
|
\renewcommand{\FP@floatTwoside}[4]{%
|
|
\ifthenelse{\isodd{\pageref{#1}}}{{#2#3#4}}{\afterpage{#2#3#4}}}%
|
|
\renewcommand{\FP@guideOneside}{\FP@guideBefore}%
|
|
\renewcommand{\FP@guideTwoside}{\FP@guideFaceBefore}%
|
|
}%
|
|
\DeclareOption{rightFloats}{%
|
|
\renewcommand{\FP@floatOneside}[3]{#3#2#1}%
|
|
\renewcommand{\FP@floatTwoside}[4]{%
|
|
\ifthenelse{\isodd{\pageref{#1}}}{\afterpage{#4#3#2}}{{#4#3#2}}}%
|
|
\renewcommand{\FP@guideOneside}{\FP@guideAfter}%
|
|
\renewcommand{\FP@guideTwoside}{\FP@guideFaceAfter}%
|
|
}%
|
|
\DeclareOption{CaptionAfterwards}{\ExecuteOptions{leftFloats}}
|
|
\DeclareOption{CaptionBefore}{\ExecuteOptions{rightFloats}}%
|
|
\DeclareOption{draft}{%
|
|
\renewcommand{\FP@helpNote}[2]{%
|
|
\marginpar{Insertion of FP#1}%
|
|
\typeout{FP#1 is inserted on page \pageref{#2}!}}%
|
|
}%
|
|
\DeclareOption{oneside}{%
|
|
\renewcommand{\FP@guide}{\FP@guideStyle(\FP@guideOneside)}%
|
|
\renewcommand{\FP@float}[4]{\FP@floatOneside{#2}{#3}{#4}}
|
|
}%
|
|
\DeclareOption{twoside}{%
|
|
\renewcommand{\FP@guide}{\FP@guideStyle(\FP@guideTwoside)}%
|
|
\renewcommand{\FP@float}[4]{\FP@floatTwoside{#1}{#2}{#3}{#4}}
|
|
}%
|
|
\DeclareOption{noSeparatorLine}{%
|
|
\renewcommand{\FP@separatorCaption}{}
|
|
}
|
|
\DeclareOption{noHints}{%
|
|
\AtBeginDocument{\renewcommand{\FP@guide}{}}
|
|
}%
|
|
\DeclareOption*{%
|
|
\PackageWarning{fltpage}{Unknown option `\CurrentOption'!}%
|
|
\PassOptionsToPackage{\currentOption}{varioref}
|
|
}%
|
|
\ExecuteOptions{closeFloats}
|
|
\ExecuteOptions{oneside}
|
|
\ProcessOptions*
|
|
\relax
|
|
\newcommand{\FP@floatBegin}[1]{%
|
|
\gdef\@captype{#1}%
|
|
\global\let\FP@savedCaptionCommand\caption%
|
|
\global\let\FP@savedLabelCommand\label%
|
|
\ifthenelse{\equal{\@captype}{figure}}
|
|
{\global\let\old@Fnum\fnum@figure}%
|
|
{\global\let\old@Fnum\fnum@table}%
|
|
\let\FP@LabelText\@empty%
|
|
\let\FP@CaptionText\@empty%
|
|
\let\FP@optionalCaptionText\@empty%
|
|
\renewcommand\label[1]{\gdef\FP@LabelText{##1}}%
|
|
\renewcommand\caption[2][]{\gdef\FP@optionalCaptionText{##1}\gdef\FP@CaptionText{##2}}%
|
|
\begin{lrbox}{\FP@floatCorpusBOX}%
|
|
}%
|
|
\newcommand{\FP@floatEnd}{%
|
|
\end{lrbox}%
|
|
\global\setbox\FP@floatCorpusBOX=\box\FP@floatCorpusBOX
|
|
\stepcounter{FP@\@captype C}%
|
|
\FP@savedLabelCommand{\FP@positionLabel}%
|
|
\FP@helpNote{\@captype}{\FP@positionLabel}%
|
|
\FP@float{\FP@positionLabel}% location label test
|
|
{\begin{\@captype}[p!]
|
|
\usebox{\FP@floatCorpusBOX}%
|
|
\refstepcounter{\@captype}%
|
|
\ifthenelse{\equal{\FP@LabelText}{\@empty}}
|
|
{}{\FP@savedLabelCommand{\expandafter\protect\FP@LabelText}}%
|
|
\end{\@captype}}
|
|
{\addtocounter{\@captype}{-1}}
|
|
{\begin{\@captype}[b!]%
|
|
\ifthenelse{\equal{\FP@guide}{\@empty}}%
|
|
{}{\ifthenelse{\equal{\@captype}{figure}}%
|
|
{\renewcommand{\fnum@figure}{\old@Fnum\ {\FP@guide}}}%
|
|
{\renewcommand{\fnum@table}{\old@Fnum\ {\FP@guide}}}}%
|
|
\setlength{\abovecaptionskip}{2pt plus2pt minus 1pt} % length above caption
|
|
\setlength{\belowcaptionskip}{2pt plus2pt minus 1pt} % length above caption
|
|
\FP@separatorCaption%
|
|
\ifthenelse{\equal{\FP@optionalCaptionText}{\@empty}}%
|
|
{\FP@savedCaptionCommand{\expandafter\protect\FP@CaptionText}}%
|
|
{\FP@savedCaptionCommand[\expandafter\protect\FP@optionalCaptionText]{\expandafter\protect\FP@CaptionText}}%
|
|
\end{\@captype}}%
|
|
}%
|
|
\newenvironment{FPfigure}{\FP@floatBegin{figure}}{\FP@floatEnd}
|
|
\newenvironment{FPtable}{\FP@floatBegin{table}}{\FP@floatEnd}
|
|
\endinput
|
|
%%
|
|
%% End of file `fltpage.sty'.
|