diff options
author | Karl Berry <karl@freefriends.org> | 2012-10-18 22:33:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-10-18 22:33:43 +0000 |
commit | 34c48d9566089694027f919d621fec0e075d1b84 (patch) | |
tree | 0d9a5e32bd2805eb15ed9a7444b9dfead77d58d9 /Master/texmf-dist/source/latex/sttools/floatpag.dtx | |
parent | b2af3a5c5a7adb196a11e1d049a2162b4dd34a45 (diff) |
sttools (19oct12)
git-svn-id: svn://tug.org/texlive/trunk@28013 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/sttools/floatpag.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/sttools/floatpag.dtx | 354 |
1 files changed, 354 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/sttools/floatpag.dtx b/Master/texmf-dist/source/latex/sttools/floatpag.dtx new file mode 100644 index 00000000000..95d732b665a --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/floatpag.dtx @@ -0,0 +1,354 @@ +% \iffalse meta-comment +% +% Copyright (C) 1999-2012 by Vytas Statulevi\v{c}ius <vytas@vtex.lt> +% --------------------------------------------------------------------------- +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Sigitas Tolu\v{s}is. +% +% This work consists of the files floatpag.dtx and floatpag.ins +% and the derived filebase floatpag.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{floatpag.dtx} +%</driver> +%% Copyright (C) 1999-2012 by Vytas Statulevi\v{c}ius <vytas@vtex.lt> +%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania +%% http://www.vtex.lt/tex/download/macros/ +%% -------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% The macros, developed by Sigitas Tolu\v{s}is <sigitas@vtex.lt>, +%% were used in this package. +%% +%% The Current Maintainer of this work is Sigitas Tolu\v{s}is. +%% +%% PURPOSE: provides commands to apply different pagestyles +%% to the full page floats. +%% +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{floatpag} +%<*package> + [2012/05/29 v1.1 Different pagestyles on float pages] +%</package> +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{floatpag}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{floatpag.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi +% +% \CheckSum{304} +% +% \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 \~} +% +% +% \changes{v1.1}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{floatpag.dtx} +% \title{The \textsf{floatpag} package} +% \author{Vytas Statulevi\v{c}ius and Sigitas Tolu\v{s}is \\ +% \url{vytas@vtex.lt}, \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% Provides commands to apply different pagestyles to the full page floats. +% +% \section{Usage} +% +% \DescribeMacro{\floatpagestyle} +% \marg{foo} will apply pagestyle \meta{foo} to all pages +% occupied by full page floats. +% +% \medskip +% \DescribeMacro{\rotfloatpagestyle} +% \marg{foo} will apply pagestyle \meta{foo} to all pages +% occupied by sideways figures and tables +% produced with the help of |rotating| +% package (Sebastian Rahtz and Leonor Barroca). +% +% \medskip +% \DescribeMacro{\thisfloatpagestyle} +% \marg{foo} will apply pagestyle \meta{foo} to a page where +% this command was used inside figure or table +% environment. +% +% \medskip +% \textbf{Default:} |\floatpagestyle{headings}| and |\rotfloatpagestyle{plain}|. +% +% \medskip +% The following commands from the LaTeX2e kernel were redefined: +% |\@xfloat|, |\@vtryfc|. +% +% \medskip +% The following command from the rotating.sty was redefined: +% |\@xrotfloat|. +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{floatpag} + [1999/04/29 + FLOAT PAGESTYLE] +% \end{macrocode} +% +% \begin{macro}{\floatpagestyle} +% \begin{macrocode} +\def\floatpagestyle#1{\gdef\at@float@page{\thispagestyle{#1}}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\rotfloatpagestyle} +% \begin{macrocode} +\def\rotfloatpagestyle#1{% + \gdef\@r@f@pagestyle{#1}% + \gdef\at@rotfloat@page{\thispagestyle{#1}}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\floatpagestyle{headings} +\rotfloatpagestyle{plain} +% \end{macrocode} +% +% \begin{macro}{\thisfloatpagestyle} +% +% \begin{macrocode} +\def\thisfloatpagestyle#1{% + \expandafter\expandafter\expandafter\gdef\expandafter + \csname\number\@currbox @float\endcsname{\thispagestyle{#1}}\relax + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@xfloat} +% +%% Modify |\x@float| - ordinary floats +% +% \begin{macrocode} +\def\@xfloat #1[#2]{% + \@nodocument + \def \@captype {#1}% + \def \@fps {#2}% + \@onelevel@sanitize \@fps + \def \reserved@b {!}% + \ifx \reserved@b \@fps + \@fpsadddefault + \else + \ifx \@fps \@empty + \@fpsadddefault + \fi + \fi + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist + {% + \@tempcnta \sixt@@n + \expandafter \@tfor \expandafter \reserved@a + \expandafter :\expandafter =\@fps + \do + {% + \if \reserved@a h% + \ifodd \@tempcnta + \else + \advance \@tempcnta \@ne + \fi + \fi + \if \reserved@a t% + \@setfpsbit \tw@ + \fi + \if \reserved@a b% + \@setfpsbit 4% + \fi + \if \reserved@a p% + \@setfpsbit 8% + \fi + \if \reserved@a !% + \ifnum \@tempcnta>15 + \advance\@tempcnta -\sixt@@n\relax + \fi + \fi + }% + \@tempcntb \csname ftype@\@captype \endcsname + \multiply \@tempcntb \@xxxii + \advance \@tempcnta \@tempcntb + \global \count\@currbox \@tempcnta + \expandafter\expandafter\expandafter\gdef\expandafter + \csname\number\@currbox @float\endcsname{\at@float@page}\relax + }% + \@fltovf + \fi + \global \setbox\@currbox + \color@vbox + \normalcolor + \vbox \bgroup + \hsize\columnwidth + \@parboxrestore + \@floatboxreset + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\e@xrotfloat} +% +%% 2e rotating.sty v. 2.10: +% \begin{macrocode} +\def\e@xrotfloat#1[#2]{% + \@float{#1}[#2]% + \thisfloatpagestyle{\@r@f@pagestyle}% + \begin{lrbox}\rot@float@box + \begin{minipage}\textheight + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\n@xrotfloat} +%% 2.09 rotating.sty v. 1.6 +% \begin{macrocode} +\def\n@xrotfloat#1[#2]{% + \ifhmode + \@bsphack + \@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \def\@captype{#1}% + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist{\@tempcnta\csname ftype@#1\endcsname + \multiply\@tempcnta\@xxxii\advance\@tempcnta\sixt@@n + \@tfor \@tempa :=#2\do{% + \if\@tempa h\advance\@tempcnta \@ne\fi + \if\@tempa t\advance\@tempcnta \tw@\fi + \if\@tempa b\advance\@tempcnta 4\relax\fi + \if\@tempa p\advance\@tempcnta 8\relax\fi + }% + \global\count\@currbox\@tempcnta + }% + \@fltovf + \fi + \expandafter\expandafter\expandafter\gdef\expandafter + \csname\number\@currbox @float\endcsname{\at@rotfloat@page}\relax + \global\setbox\@currbox\vbox\bgroup + \hsize\textheight + \@parboxrestore + } +% \end{macrocode} +% +%% Check for |rotating| version: 2e ar 209: +%% 1999.02.08 To be sure check at begin document. +% \begin{macrocode} +\AtBeginDocument{% +\@ifpackageloaded{rotating}% +{\let\@xrotfloat\e@xrotfloat\let\n@xrotfloat\relax}% +{\let\@xrotfloat\n@xrotfloat\let\e@xrotfloat\relax}}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\spec@float} +% +%% "Hook" in the output procedure. +% \begin{macrocode} +\def\spec@float#1{\expandafter\csname\number#1@float\endcsname + \expandafter\expandafter\expandafter\gdef\expandafter\csname\number#1@float\endcsname{}% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@vtryfc} +% \begin{macrocode} +\def\@vtryfc#1{% + \global\setbox\@outputbox\vbox{}% + \let\@elt\@wtryfc + \@flsucceed + \let\@elt\spec@float + \@flsucceed + \global\setbox\@outputbox \vbox to\@colht{% + \vskip \@fptop + \vskip -\@fpsep + \unvbox \@outputbox + \vskip \@fpbot + }% + \let\@elt\relax + \xdef#1{\@failedlist\@flfail}% + \xdef\@freelist{\@freelist\@flsucceed}% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +%</package> +% \fi +% +% \Finale |