From 34c48d9566089694027f919d621fec0e075d1b84 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 18 Oct 2012 22:33:43 +0000 Subject: sttools (19oct12) git-svn-id: svn://tug.org/texlive/trunk@28013 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/sttools/README | 77 +++ Master/texmf-dist/doc/latex/sttools/README.TEXLIVE | 7 - Master/texmf-dist/doc/latex/sttools/boundbox.pdf | Bin 0 -> 121331 bytes Master/texmf-dist/doc/latex/sttools/cuted.pdf | Bin 0 -> 129830 bytes Master/texmf-dist/doc/latex/sttools/doc/cuted.pdf | Bin 276683 -> 0 bytes Master/texmf-dist/doc/latex/sttools/doc/cuted.tex | 91 --- .../texmf-dist/doc/latex/sttools/doc/floatpag.pdf | Bin 275580 -> 0 bytes .../texmf-dist/doc/latex/sttools/doc/floatpag.tex | 86 --- .../texmf-dist/doc/latex/sttools/doc/flushend.pdf | Bin 278574 -> 0 bytes .../texmf-dist/doc/latex/sttools/doc/flushend.tex | 86 --- Master/texmf-dist/doc/latex/sttools/floatpag.pdf | Bin 0 -> 130401 bytes Master/texmf-dist/doc/latex/sttools/flushend.pdf | Bin 0 -> 119804 bytes Master/texmf-dist/doc/latex/sttools/index.html | 73 -- Master/texmf-dist/doc/latex/sttools/marginal.pdf | Bin 0 -> 89030 bytes Master/texmf-dist/doc/latex/sttools/midfloat.pdf | Bin 0 -> 122155 bytes Master/texmf-dist/doc/latex/sttools/stabular.pdf | Bin 0 -> 139110 bytes Master/texmf-dist/doc/latex/sttools/stfloats.pdf | Bin 0 -> 115612 bytes Master/texmf-dist/doc/latex/sttools/sttools.pdf | Bin 0 -> 101917 bytes Master/texmf-dist/doc/latex/sttools/texsort.pdf | Bin 0 -> 122530 bytes .../texmf-dist/source/latex/sttools/boundbox.dtx | 312 +++++++++ Master/texmf-dist/source/latex/sttools/cuted.dtx | 753 +++++++++++++++++++++ .../texmf-dist/source/latex/sttools/floatpag.dtx | 354 ++++++++++ .../texmf-dist/source/latex/sttools/flushend.dtx | 324 +++++++++ .../texmf-dist/source/latex/sttools/marginal.dtx | 339 ++++++++++ .../texmf-dist/source/latex/sttools/midfloat.dtx | 393 +++++++++++ .../texmf-dist/source/latex/sttools/stabular.dtx | 361 ++++++++++ .../texmf-dist/source/latex/sttools/stfloats.dtx | 541 +++++++++++++++ Master/texmf-dist/source/latex/sttools/sttools.dtx | 106 +++ Master/texmf-dist/source/latex/sttools/sttools.ins | 57 ++ Master/texmf-dist/source/latex/sttools/texsort.dtx | 556 +++++++++++++++ Master/texmf-dist/tex/latex/sttools/boundbox.sty | 188 ++--- Master/texmf-dist/tex/latex/sttools/cuted.sty | 346 ++++++---- Master/texmf-dist/tex/latex/sttools/floatpag.sty | 163 ++--- Master/texmf-dist/tex/latex/sttools/flushend.sty | 207 +++--- Master/texmf-dist/tex/latex/sttools/marginal.sty | 243 ++++--- Master/texmf-dist/tex/latex/sttools/midfloat.sty | 97 ++- Master/texmf-dist/tex/latex/sttools/stabular.sty | 174 +++-- Master/texmf-dist/tex/latex/sttools/stfloats.sty | 141 ++-- Master/texmf-dist/tex/latex/sttools/texsort.sty | 221 +++--- Master/tlpkg/bin/tlpkginfo | 3 +- Master/tlpkg/libexec/ctan2tds | 1 - 41 files changed, 5079 insertions(+), 1221 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/sttools/README delete mode 100644 Master/texmf-dist/doc/latex/sttools/README.TEXLIVE create mode 100644 Master/texmf-dist/doc/latex/sttools/boundbox.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/cuted.pdf delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/cuted.pdf delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/cuted.tex delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/floatpag.pdf delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/floatpag.tex delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/flushend.pdf delete mode 100644 Master/texmf-dist/doc/latex/sttools/doc/flushend.tex create mode 100644 Master/texmf-dist/doc/latex/sttools/floatpag.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/flushend.pdf delete mode 100644 Master/texmf-dist/doc/latex/sttools/index.html create mode 100644 Master/texmf-dist/doc/latex/sttools/marginal.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/midfloat.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/stabular.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/stfloats.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/sttools.pdf create mode 100644 Master/texmf-dist/doc/latex/sttools/texsort.pdf create mode 100644 Master/texmf-dist/source/latex/sttools/boundbox.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/cuted.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/floatpag.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/flushend.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/marginal.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/midfloat.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/stabular.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/stfloats.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/sttools.dtx create mode 100644 Master/texmf-dist/source/latex/sttools/sttools.ins create mode 100644 Master/texmf-dist/source/latex/sttools/texsort.dtx diff --git a/Master/texmf-dist/doc/latex/sttools/README b/Master/texmf-dist/doc/latex/sttools/README new file mode 100644 index 00000000000..feb493ef7c7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/sttools/README @@ -0,0 +1,77 @@ +README for sttools, 2012/10/18 + +INTRODUCTION +============ + +It is a collection of macro packages historically placed in a bundle +and maintained by Sigitas Tolušis. + +PACKAGES +======== + +* boundbox.sty: + – calculates textbox coordinates on the page; + TODO: remove from bundle; + +* cuted.sty: + – puts some material page width wide at any place on twocolumn page + with existing text reformatted under inserted material; + TODO: add optional rules to separate from text; + +* floatpag.sty: + – sets pagestyle for floats page; + +* flushend.sty: + – balances last twocolumn page; + TODO: extend to balance any page; + +* marginal.sty: + – enlarges room for marginal inserts; + +* midfloat.sty: + – inserts onecolumn stuff in twocolumn page; + TODO: extend to work on both columns; + +* stabular.sty: + – modifies tabular environment; + TODO: remove extra stuff and leave only possibility to break + on page boundary; + +* stfloats.sty: + – enriches floats output mechanism; + +* texsort.sty: + - sorts numerical values; + TODO: extend (rewrite) to support alphanumerical values + for sorting. + +INSTALLATION +============ + +Install in a standard way as any other LaTeX macro package. + +AUTHORS/MAINTAINER +================== + +* Sigitas Tolušis +* Vytas Statulevičius (floatpag.sty) + +DOCUMENTATION +============= + +Please see the sttools.pdf for a package list in collection +and .pdf for particular macro package. + +LICENSE +======= + +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. + + + diff --git a/Master/texmf-dist/doc/latex/sttools/README.TEXLIVE b/Master/texmf-dist/doc/latex/sttools/README.TEXLIVE deleted file mode 100644 index 3e60c26c739..00000000000 --- a/Master/texmf-dist/doc/latex/sttools/README.TEXLIVE +++ /dev/null @@ -1,7 +0,0 @@ -The following files have been removed in the TeX Live installation of -the current package, typically due to duplication, lack of space, or -missing source code. You can find these files on CTAN at - http://mirror.ctan.org/macros/latex/contrib/sttools -If questions or concerns, email tex-live@tug.org. - - presfull.pdf diff --git a/Master/texmf-dist/doc/latex/sttools/boundbox.pdf b/Master/texmf-dist/doc/latex/sttools/boundbox.pdf new file mode 100644 index 00000000000..d6ef9798c26 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/boundbox.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/cuted.pdf b/Master/texmf-dist/doc/latex/sttools/cuted.pdf new file mode 100644 index 00000000000..59af021f878 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/cuted.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/doc/cuted.pdf b/Master/texmf-dist/doc/latex/sttools/doc/cuted.pdf deleted file mode 100644 index d3f2607ca41..00000000000 Binary files a/Master/texmf-dist/doc/latex/sttools/doc/cuted.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/sttools/doc/cuted.tex b/Master/texmf-dist/doc/latex/sttools/doc/cuted.tex deleted file mode 100644 index cb51250bff2..00000000000 --- a/Master/texmf-dist/doc/latex/sttools/doc/cuted.tex +++ /dev/null @@ -1,91 +0,0 @@ -\documentclass[DIV=8, pagesize=auto]{scrartcl} - -\usepackage{fixltx2e} -\usepackage{etex} -\usepackage{xspace} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage[utf8]{inputenc} -\usepackage{microtype} -\usepackage[unicode=true]{hyperref} - -\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} -\newcommand*{\pkg}[1]{\textsf{#1}} -\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} -\makeatletter -\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} -\makeatother -\newcommand*{\env}[1]{\texttt{#1}} -\newcommand*{\opt}[1]{\texttt{#1}} -\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} -\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} - -\addtokomafont{title}{\rmfamily} - -\title{The \pkg{cuted} package} -\author{Sigitas Tolušis\\\mail{sigitas@vtex.lt}\\\url{http://www.vtex.lt/tex/download/macros/}} -\date{1997/10/01} - - -\begin{document} - -\maketitle - -\section{Purpose:} - -Insert some onecolumn material in full-width on double-column page. - - -\section{Short Description:} - -It is denoted to place some material in full-width at any place -on double-column page (\cmd{\twocolumn} mode). The part of material -can be placed on the next page. Existing text is placed -under inserted material in two columns (it is reformatted). - -Provides new environment: -\verb+\begin{strip}+\meta{\ldots}\verb+\end{strip}+\\ -Puts \cmd{\vbox}\marg{\ldots} in full-width on double-column page. -Adds \cmd{\stripsep} glue before and after -(By default \verb+\stripsep=15pt plus2pt minus 2pt+). -It can be problems with floats and footnotes. In the case of -problems with footnotes it is possible to correct the situation -using commands \cmd{\footnotemark} and \cmd{\footnotetext}. - -Provides new command: -\cmd{\oldcolsbreak}\marg{\#1}\\ -Adds \meta{\#1} in place of original column break if strip is placed -on the right column. - - -\section{List of Changes} - -\begin{tabular}{@{}l@{ -- }l@{}} - 1997/09/02 & improved column balancing \\ - 1997/09/03 & float control for \cmd{\@colroom} setting \\ - 1997/09/04 & improved \cmd{\@colroom} setting \\ - 1997/09/05 & checking for \cmd{\@viper} and \cmd{\hold@viper} \\ - 1997/09/09 & compatibility with \pkg{flushend.sty} \\ - 1997/09/22 & improved \cmd{\output} ir \cmd{\@specialoutput} \\ - 1997/10/01 & improved \cmd{\output} ir \cmd{\@addviper} -\end{tabular} - -\bigskip - -\footnotesize -\noindent -\pkg{cuted.sty}\\ -Copyright 1997 Sigitas Tolušis\\ -V\TeX\ Ltd., Akademijos 4, Vilnius, Lithuania\\ -e-mail \mail{sigitas@vtex.lt}\\ -\url{http://www.vtex.lt/tex/download/macros/} - -This program can redistributed and/or modified under the terms -of the \LaTeX\ Project Public License Distributed from CTAN -archives in directory \texttt{macros/latex/base/lppl.txt}; either -version~1 of the License, or (at your option) any later version. - -\end{document} - - diff --git a/Master/texmf-dist/doc/latex/sttools/doc/floatpag.pdf b/Master/texmf-dist/doc/latex/sttools/doc/floatpag.pdf deleted file mode 100644 index 050443c6bf6..00000000000 Binary files a/Master/texmf-dist/doc/latex/sttools/doc/floatpag.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/sttools/doc/floatpag.tex b/Master/texmf-dist/doc/latex/sttools/doc/floatpag.tex deleted file mode 100644 index b4907c0dfed..00000000000 --- a/Master/texmf-dist/doc/latex/sttools/doc/floatpag.tex +++ /dev/null @@ -1,86 +0,0 @@ -\documentclass[DIV=8, parskip=half, pagesize=auto]{scrartcl} - -\usepackage{fixltx2e} -\usepackage{etex} -\usepackage{xspace} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage[utf8]{inputenc} -\usepackage{microtype} -\usepackage[unicode=true]{hyperref} - -\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} -\newcommand*{\Mail}[1]{\href{mailto:#1}{\texttt{<#1>}}} -\newcommand*{\pkg}[1]{\textsf{#1}} -\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} -\makeatletter -\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} -\makeatother -\newcommand*{\env}[1]{\texttt{#1}} -\newcommand*{\opt}[1]{\texttt{#1}} -\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} -\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} - -\addtokomafont{title}{\rmfamily} - -\title{The \pkg{floatpag} package} -\author{Vytas Statulevičius\\\mail{vytas@vtex.lt}\\\url{http://www.vtex.lt/tex/download/macros/}} -\date{1999/04/29} - - -\begin{document} - -\maketitle - -\section{Purpose:} - -provides commands to apply different pagestyles -to the full page floats. - - -\section{Usage:} - -\begin{labeling}{\cmd{\thisfloatpagestyle}\marg{foo}} -\item[\cmd{\floatpagestyle}\marg{foo}] will apply pagestyle - `\meta{foo}' to all pages occupied by full page floats. -\item[\cmd{\rotfloatpagestyle}\marg{foo}] will apply pagestyle `\meta{foo}' - to all pages occupied by sideways figures and tables produced with - the help of `\pkg{rotating.sty}' package (Sebastian Rahtz and Leonor - Barroca) -\item[\cmd{\thisfloatpagestyle}\marg{foo}] will apply pagestyle - `\meta{foo}' to a page where this command was used inside figure or - table environment -\end{labeling} - - -\section{Default:} - -\begin{verbatim} -\floatpagestyle{headings} -\rotfloatpagestyle{plain} -\end{verbatim} - -\medskip -The macros, developed by Sigitas Tolusis \Mail{sigitas@vtex.lt}, -were used in this package. - -The following commands from the LaTeX2e kernel were redefined:\\ -\cmd{\@xfloat}, \cmd{\@vtryfc}\\ -The following command from the rotating.sty was redefined:\\ -\cmd{\@xrotfloat} - -\bigskip -\footnotesize -\pkg{floatpag.sty}\\ -Copyright 1999 V.\ Statulevičius\\ -V\TeX\ Ltd., Akademijos 4, Vilnius, Lithuania\\ -e-mail \mail{vytas@vtex.lt}\\ -\url{http://www.vtex.lt/tex/download/macros/} - -This program can redistributed and/or modified under the terms -of the \LaTeX\ Project Public License Distributed from CTAN -archives in directory \texttt{macros/latex/base/lppl.txt}; either -version~1 of the License, or (at your option) any later version. - -\end{document} diff --git a/Master/texmf-dist/doc/latex/sttools/doc/flushend.pdf b/Master/texmf-dist/doc/latex/sttools/doc/flushend.pdf deleted file mode 100644 index ca84cb35d02..00000000000 Binary files a/Master/texmf-dist/doc/latex/sttools/doc/flushend.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/sttools/doc/flushend.tex b/Master/texmf-dist/doc/latex/sttools/doc/flushend.tex deleted file mode 100644 index 28066da7444..00000000000 --- a/Master/texmf-dist/doc/latex/sttools/doc/flushend.tex +++ /dev/null @@ -1,86 +0,0 @@ -\documentclass[DIV=8, pagesize=auto]{scrartcl} - -\usepackage{fixltx2e} -\usepackage{etex} -\usepackage{xspace} -\usepackage{lmodern} -\usepackage[T1]{fontenc} -\usepackage{textcomp} -\usepackage{array} -\usepackage[utf8]{inputenc} -\usepackage{microtype} -\usepackage[unicode=true]{hyperref} - -\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}} -\newcommand*{\pkg}[1]{\textsf{#1}} -\newcommand*{\cs}[1]{\texttt{\textbackslash#1}} -\makeatletter -\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}} -\makeatother -\newcommand*{\env}[1]{\texttt{#1}} -\newcommand*{\opt}[1]{\texttt{#1}} -\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle} -\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} - -\addtokomafont{title}{\rmfamily} - -\title{The \pkg{flushend} package} -\author{Sigitas Tolušis\\\mail{sigitas@vtex.lt}\\\url{http://www.vtex.lt/tex/download/macros/}} -\date{1997/10/01} - - -\begin{document} - -\maketitle - -\section{Purpose:} - -Balanced columns on last page in \opt{twocolumn} mode. - - -\section{Short Description:} - -\begin{labeling}[\hspace{\labelsep}--]{\cmd{\flushend} (loaded by default)} -\item[\cmd{\flushend} (loaded by default)] Switches on column balancing at last page -\item[\cmd{\raggedend}] Switches off column balancing at last page -\item[\cmd{\atColsBreak=}\marg{\#1}] Adds \meta{\#1} in place of original column break (without balancing)\\ - Example: \verb+\atColsBreak{\vskip-2pt}+ -\item[\cmd{\showcolsendrule}] Adds rule to the bottom of columns (just for debugging) -\end{labeling} - -P.\,S.\ To stretch right column by \meta{\#1} add command \cmd{\vskip-}\meta{\#1} just before -command \verb+\end{document}+. -TO shrink right column by \meta{\#1} add command \cmd{\vskip}\meta{\#1} just before -command \verb+\end{document}+. -Example: -% -\begin{verbatim} -\vskip-10pt -\end{document} -\end{verbatim} - - -\section{List of Changes} - -\begin{tabular}{@{}l@{ -- }>{\raggedright\arraybackslash}p{10cm}@{}} - 1997/05/16 & first version \\ - 1997/09/09 & support for compatibility with \pkg{cuted.sty} \\ - 1997/10/01 & \cmd{\vipersep} changed to \cmd{\stripsep} for compatibility with \pkg{cuted.sty} -\end{tabular} - -\bigskip - -\footnotesize -\noindent -\pkg{flushend.sty}\\ -Copyright 1997 Sigitas Tolušis\\ -V\TeX\ Ltd., Akademijos 4, Vilnius, Lithuania\\ -e-mail \mail{sigitas@vtex.lt}\\ -\url{http://www.vtex.lt/tex/download/macros/} - -This program can redistributed and/or modified under the terms -of the \LaTeX\ Project Public License Distributed from CTAN -archives in directory \texttt{macros/latex/base/lppl.txt}; either -version~1 of the License, or (at your option) any later version. - -\end{document} diff --git a/Master/texmf-dist/doc/latex/sttools/floatpag.pdf b/Master/texmf-dist/doc/latex/sttools/floatpag.pdf new file mode 100644 index 00000000000..0f42af77813 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/floatpag.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/flushend.pdf b/Master/texmf-dist/doc/latex/sttools/flushend.pdf new file mode 100644 index 00000000000..37af42e8d65 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/flushend.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/index.html b/Master/texmf-dist/doc/latex/sttools/index.html deleted file mode 100644 index dd5619f786b..00000000000 --- a/Master/texmf-dist/doc/latex/sttools/index.html +++ /dev/null @@ -1,73 +0,0 @@ - - -Lithuanian TeX User Group - packages for LaTeX2e - - - - - - -
- -

Here you will find some LaTeX2e packages developed at VTeX. PRESFULL.PDF is -paper of the presentation "Inside LaTeX2e kernel" at BachoTeX'99 (GUST Annual -Meeting April 30 -- 2 May, 1999, Bachotek). It contains description of some -packages based on modified low level LaTeX2e kernel macros.

-
- -
-
presfull.pdf -
"Inside LaTeX2e kernel" by Sigitas - Toluis -
stfloats.sty -
Floating baselineskip, footnotes below the floats, dblfloats at bottom. -
floatpag.sty - (made by Vytas Statuleviius) -
Different pagestyles for text and float pages. -
stabular.sty -
Multipage tabular. -
flushend.sty -
Columns balancing at last page. -
cuted.sty, - midfloat.sty - -
Mixing onecolumn and twocolumn modes at any place of page. -
boundbox.sty -
Calculate TeX Bounding Box in points. -
marginal.sty -
Enlarge free and show lost marginal inserts. -
texsort.sty -
Sort/compress numerical lists -
Lithuanian Language - Support for LaTeX2e -
Lithuanian virtual PostScript fonts and support tools (in lithuanian). -
-
-Any comments are welcome to Sigitas -Toluis. diff --git a/Master/texmf-dist/doc/latex/sttools/marginal.pdf b/Master/texmf-dist/doc/latex/sttools/marginal.pdf new file mode 100644 index 00000000000..a8a75511b7d Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/marginal.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/midfloat.pdf b/Master/texmf-dist/doc/latex/sttools/midfloat.pdf new file mode 100644 index 00000000000..5139461ed3b Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/midfloat.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/stabular.pdf b/Master/texmf-dist/doc/latex/sttools/stabular.pdf new file mode 100644 index 00000000000..03bfdeea636 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/stabular.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/stfloats.pdf b/Master/texmf-dist/doc/latex/sttools/stfloats.pdf new file mode 100644 index 00000000000..44d8d806b02 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/stfloats.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/sttools.pdf b/Master/texmf-dist/doc/latex/sttools/sttools.pdf new file mode 100644 index 00000000000..3cebfdcfa19 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/sttools.pdf differ diff --git a/Master/texmf-dist/doc/latex/sttools/texsort.pdf b/Master/texmf-dist/doc/latex/sttools/texsort.pdf new file mode 100644 index 00000000000..add60429971 Binary files /dev/null and b/Master/texmf-dist/doc/latex/sttools/texsort.pdf differ diff --git a/Master/texmf-dist/source/latex/sttools/boundbox.dtx b/Master/texmf-dist/source/latex/sttools/boundbox.dtx new file mode 100644 index 00000000000..3453b2128c6 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/boundbox.dtx @@ -0,0 +1,312 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 boundbox.dtx and boundbox.ins +% and the derived filebase boundbox.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{boundbox.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Calculate TeX bounding box in rounded points (LaTeX2e) +%% from left top corner of the paper +%% +%
+%\NeedsTeXFormat{LaTeX2e} +%\ProvidesPackage{boundbox} +%<*package> + [2012/05/29 v1.3 Calculate TeX bounding box in points] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{boundbox}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{boundbox.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{186} +% +% \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.3}{2012/05/29}{Source converted to DTX file} +% \changes{v1.3}{2012/05/29}{Added package option nospec} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{boundbox.dtx} +% \title{The \textsf{boundbox} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% The package is used to calculate textbox coordinates on the page. +% I guess that the most useable part of this package can be internal +% macro \verb|\roundtexdim| for rounding pt values to int numbers. +% +% \section{Usage} +% +% Just add package to the tex file as: \verb|\usepackage{boundbox}|. +% \\\medskip +% Rounding tex dimension values: +% +% \newdimen\testdim \testdim=1in\verb|\newdimen\testdim| +% +% \verb|\testdim=1in \the\testdim ->| +% \the\testdim +% +% \medskip +% \roundtexdim{\testdim}\foo\verb|\roundtexdim{\testdim}\foo \number\foo->|\number\foo +% +% \medskip +% \roundtexdim floor{\testdim}\foo\verb|\roundtexdim floor{\testdim}\foo \number\foo->|\number\foo +% +% \medskip +% \roundtexdim ceil{\testdim}\foo\verb|\roundtexdim ceil{\testdim}\foo \number\foo->|\number\foo +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% The package contains two options: +% +% \meta{nofoot} -- do not include foot to the bbox. +% +% \meta{nospec} -- do not write specials with bbox info. +% +% \begin{macrocode} +% +%% +\newif\if@withfoot \@withfoottrue +\newif\if@output@bbox@special \@output@bbox@specialtrue +\DeclareOption{nofoot}{\global\@withfootfalse} +\DeclareOption{nospec}{\global\@output@bbox@specialfalse} +\ProcessOptions +%% +% +% \end{macrocode} +% +% Definitions of special prefixes. +% +% \begin{macrocode} +\def\special@bbox@odd@prefix{mt:TeXBBox:odd} +\def\special@bbox@even@prefix{mt:TeXBBox:even} +% \end{macrocode} +% +% \begin{macro}{\roundtexdim} +% \marg{round type}\marg{tex dimension}\marg{command} +% +% \meta{tex dimension} value in pt rounded with \meta{round type} +% is defined as \meta{command}. +% +% \begin{macrocode} +% +%% +\def\roundtexdim#1#{\round@tex@dim{#1}} +\def\round@tex@dim#1#2#3{% + \expandafter\expandafter\csname get@#1@pt@data\endcsname\the#2\to#3\relax + } +% \end{macrocode} +% \end{macro} +% +% +% Internal macro for calculating rounded value to the floor. +% +% +% \begin{macro}{\get@floor@pt@data} +% +% \begin{macrocode} +\def\get@floor@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \xdef#4{\the\@tempcnta}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% Internal macro for calculating rounded value by first number after point. +% +% +% \begin{macro}{\get@round@pt@data} +% +% \begin{macrocode} +\def\get@round@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \ifnum#2>4\relax + \advance\@tempcnta by\@ne + \fi + \xdef#4{\the\@tempcnta}% + \egroup + } +\let\get@@pt@data\get@round@pt@data +% \end{macrocode} +% \end{macro} +% +% +% Internal macro for calculating rounded value to the ceiling. +% +% +% \begin{macro}{\get@ceil@pt@data} +% +% \begin{macrocode} +\def\get@ceil@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \afterassignment\@gobbletwo + \@tempcntb=#2#3\relax + \ifnum\@tempcntb>0\relax + \advance\@tempcnta by\@ne + \fi + \xdef#4{\the\@tempcnta}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@calculate@bbox} +% +% Internal macro \verb|\@calculate@bbox| calculates TeX box dimensions: +% +% \begin{itemize} +% \item \verb|\bbox@odd@top@pt| and \verb|\bbox@even@top@pt|: +% distance in rounded ``floor'' points from the top of paper to the top of TeX box +% (including head) (the same for odd and even pages); +% \item \verb|\bbox@odd@left@pt| and \verb|\bbox@even@left@pt|: +% distance in rounded ``floor'' points from the left side of paper +% to the left side of TeX box for odd and even pages; +% \item \verb|\bbox@odd@right@pt| and \verb|\bbox@even@right@pt|: +% distance in rounded ``ceil'' points from the left side of paper to the right +% side of TeX box accordingly for odd and even pages; +% \item \verb|\bbox@odd@bottom@pt| and \verb|\bbox@even@bottom@pt|: +% distance in rounded ``ceil'' points from the top of paper to the bottom of TeX +% box (including foot by default; with option "nofoot" without +% foot) (the same for odd and even pages). +% \end{itemize} +% +% \begin{macrocode} +\def\@calculate@bbox{% + \bgroup + \@tempdima=1in\relax + \advance\@tempdima by\hoffset + \advance\@tempdima by\oddsidemargin + \roundtexdim floor{\@tempdima}\bbox@odd@left@pt + \advance\@tempdima\textwidth + \roundtexdim ceil{\@tempdima}\bbox@odd@right@pt + \@tempdima=1in\relax + \advance\@tempdima by\hoffset + \advance\@tempdima by\evensidemargin + \roundtexdim floor{\@tempdima}\bbox@even@left@pt + \advance\@tempdima\textwidth + \roundtexdim ceil{\@tempdima}\bbox@even@right@pt + \@tempdima=1in\relax + \advance\@tempdima by\voffset + \advance\@tempdima by\topmargin + \roundtexdim floor{\@tempdima}\bbox@odd@top@pt + \global\let\bbox@even@top@pt\bbox@odd@top@pt + \advance\@tempdima by\headheight + \advance\@tempdima by\headsep + \advance\@tempdima\textheight + \if@withfoot + \advance\@tempdima\footskip + \fi + \roundtexdim ceil{\@tempdima}\bbox@odd@bottom@pt + \global\let\bbox@even@bottom@pt\bbox@odd@bottom@pt + \egroup + } +% \end{macrocode} +% \end{macro} +% +% Without package option \meta{nospec} two specials are written to the +% output file. Prefix of particular special is defined by: +% \verb|\special@bbox@odd@prefix| and \verb|\special@bbox@even@prefix|. +% +% \begin{macrocode} +% +%% +\AtBeginDocument{% + \@calculate@bbox + \if@output@bbox@special + \special{\special@bbox@odd@prefix\space + left=\csname bbox@odd@left@pt\endcsname\space + top=\csname bbox@odd@top@pt\endcsname\space + right=\csname bbox@odd@right@pt\endcsname\space + bottom=\csname bbox@odd@bottom@pt\endcsname + }% + \special{\special@bbox@even@prefix\space + left=\csname bbox@even@left@pt\endcsname\space + top=\csname bbox@even@top@pt\endcsname\space + right=\csname bbox@even@right@pt\endcsname\space + bottom=\csname bbox@even@bottom@pt\endcsname + }% + \fi + } +\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/cuted.dtx b/Master/texmf-dist/source/latex/sttools/cuted.dtx new file mode 100644 index 00000000000..453ba5d0511 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/cuted.dtx @@ -0,0 +1,753 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 cuted.dtx and cuted.ins +% and the derived filebase cuted.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{cuted.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Insert some onecolumn material in full-width on double-column page. +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{cuted} +%<*package> + [2012/10/04 v1.5 Mixing onecolumn and twocolumn modes] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{cuted}[2012/10/04] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{cuted.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{1136} +% +% \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{}{1997/09/02}{improved column balancing} +% \changes{}{1997/09/03}{float control for \cs{@colroom} setting} +% \changes{}{1997/09/04}{improved \cs{@colroom} setting} +% \changes{}{1997/09/05}{checking for \cs{@viper} and \cs{hold@viper}} +% \changes{}{1997/09/09}{compatibility with flushend.sty} +% \changes{}{1997/09/22}{improved \cs{output} ir \cs{@specialoutput}} +% \changes{}{1997/10/01}{improved \cs{output} ir \cs{@addviper}} +% \changes{}{1998/10/23}{pakeistas koloneliu sujungimas} +% \changes{}{2000/01/18}{pakeistas \cs{@outputdblcol}} +% \changes{}{2002/06/11}{added options unskipbreak and autobase} +% \changes{v1.4}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{cuted.dtx} +% \title{The \textsf{cuted} package} +% \author{Sigitas Tolu\v{s}is\\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% It is denoted to place some material in full-width at any place +% on double-column page (|\twocolumn| mode). The part of material +% can be placed on the next page. Existing text is placed +% under inserted material in two columns (it is reformatted). +% +% \section{Usage} +% +% +% \DescribeMacro{strip} +% Provides new environment: +% +% \begin{verbatim} +% \begin{strip} +% +% \end{strip} +% \end{verbatim} +% +% Puts |\vbox|\marg{wide onecolumn material} in full-width on +% double-column page. +% +% \medskip +% Adds |\stripsep| glue before and after +% (by default: |15pt plus2pt minus 2pt|). +% +% \medskip +% It can be problems with floats and footnotes. In the case of +% problems with footnotes it is possible to correct the situation +% using commands |\footnotemark| and |\footnotetext|. +% +% \medskip +% \DescribeMacro{\oldcolsbreak} +% \marg{adds} +% +% Adds \meta{adds} in place of original column break if strip is placed +% on the right column. +% +% \subsection{Package options} +% +% \DescribeMacro{unskipbreak} +% \indent It is used to change |\hbox{}| to |\unskip| after leftcolumn break on striped page. +% +% \medskip +% \DescribeMacro{autobase} +% It is used to guess |\baselineskip| value on original columns break. +% +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% +% \begin{macro}{unskipbreak} +% \begin{macrocode} +\def\on@stripcols@break{\hbox{}} +\DeclareOption{unskipbreak}{\gdef\on@stripcols@break{\unskip}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{autobase} +% \begin{macrocode} +\newif\if@flushend@auto@baselineskip +\DeclareOption{autobase}{\global\@flushend@auto@baselineskiptrue} +\ProcessOptions + +\newtoks\At@ViperColsBreak \At@ViperColsBreak{} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\oldcolsbreak} +% \begin{macrocode} +\def\oldcolsbreak#1{\global\At@ViperColsBreak{#1}} +\def\viper@top@hook{\splittopskip0pt plus 2pt} + +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\newbox\v@aaa +\newbox\v@ccc +\@ifundefined{lastskip@a}{\newskip\lastskip@a}{} +\@ifundefined{lastskip@b}{\newskip\lastskip@b}{} +\@ifundefined{lastskip@d}{\newskip\lastskip@d}{} +\@ifundefined{lastbox@a}{\newbox\lastbox@a}{} +\@ifundefined{stripsep}{\newskip\stripsep \stripsep 15pt plus 2pt minus 2pt}{} + +\@ifundefined{@viper}{\newbox\@viper}{} +\newif\if@lastviper \@lastviperfalse +% \end{macrocode} +% +% +% \begin{macro}{\@outputdblcol} +% \begin{macrocode} +\def\@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global \setbox\@leftcolumn \box\@outputbox + \else + \global \@firstcolumntrue + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \box\@outputbox \hss}% + }% + }% + \ifvoid\hold@viper + \else + \setbox\@outputbox \vbox to\textheight{% + \box\hold@viper + \box\@outputbox + \vss + }% + \fi + \@combinedblfloats + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \@startdblcolumn}% + \ifvoid\@viper + \else + \global\setbox\@viper\vbox{% + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput + \fi + \endgroup + \fi + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\mathchardef\@Mv=10005 +\newcount\viper@penalty +% \end{macrocode} +% +% \begin{macro}{\strip} +% \begin{macrocode} +\def\strip{% + \ifinner + \@parmoderr\viper@penalty\z@ + \else + \viper@penalty=-\@Mv\relax + \fi + \global \setbox\@viper\vbox\bgroup% + \hsize\textwidth + \@parboxrestore + \col@number \@ne + \vrule height\topskip width\z@ depth\z@ + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\endstrip} +% \begin{macrocode} +\def\endstrip{% + \egroup + \ifnum\viper@penalty <-\@Mii + \penalty -\@Miv + \ifvmode + \@tempdima\prevdepth %% saving and restoring \prevdepth added + \vbox{}% %% 26 May 87 to prevent extra vertical + \prevdepth\@tempdima %% space when used in vertical mode + \penalty-\@Mv\relax + \else + \par + \penalty-\@Mv\relax + \noindent + \fi + \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@viperoutput} +% \begin{macrocode} +\gdef\@viperoutput{% + \global \setbox\@holdpg \vbox{% + \unvbox\@holdpg + \unvbox\@cclv + \setbox\@tempboxa \lastbox + \unskip + }% + \@pagedp \dp\@holdpg + \@pageht \ht\@holdpg + \ifvoid\@viper\else + \advance \@pageht \@pagedp + \ifvoid\footins \else + \advance \@pageht \ht\footins + \advance \@pageht \skip\footins + \advance \@pageht \dp\footins + \fi + \ifvbox \@kludgeins + \ifdim \wd\@kludgeins=\z@ + \advance \@pageht \ht\@kludgeins + \fi + \fi + \@reinserts + \@addviper + \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@specialoutput} +% \begin{macrocode} +\gdef\@specialoutput{% + \ifnum \outputpenalty>-\@Mii + \@doclearpage + \else + \ifnum \outputpenalty<-\@Miii + \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi + \ifnum \outputpenalty=-\@Mv + \@viperoutput + \ifnum \outputpenalty<\z@ + \if@nobreak + \else + \addpenalty \interlinepenalty + \fi + \fi + \else + \global \setbox\@holdpg \vbox {\unvbox\@cclv}% + \fi + \else + \global \setbox\@holdpg \vbox{% + \unvbox\@holdpg + \unvbox\@cclv + \setbox\@tempboxa \lastbox + \unskip + }% + \@pagedp \dp\@holdpg + \@pageht \ht\@holdpg + \unvbox \@holdpg + \@next\@currbox\@currlist{% + \ifnum \count\@currbox>\z@ + \advance \@pageht \@pagedp + \ifvoid\footins \else + \advance \@pageht \ht\footins + \advance \@pageht \skip\footins + \advance \@pageht \dp\footins + \fi + \ifvbox \@kludgeins + \ifdim \wd\@kludgeins=\z@ + \advance \@pageht \ht\@kludgeins + \fi + \fi + \@reinserts + \@addtocurcol + \else + \@reinserts + \@addmarginpar + \fi + }\@latexbug + \ifnum \outputpenalty<\z@ + \if@nobreak + \else + \addpenalty \interlinepenalty + \fi + \fi + \fi + \fi + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\@ifundefined{hold@viper}{\newbox\hold@viper}{} +\newdimen\ht@viper +% \end{macrocode} +% +% \begin{macro}{\@addviper} +% \begin{macrocode} +\def \@addviper {% + \if@firstcolumn + \@insertfalse + \@reqcolroom .5\@pageht + \ht@viper\@reqcolroom + \advance \@reqcolroom \ht\@viper + \advance \@reqcolroom \stripsep + \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi +%% + \@tempdimb \ht@viper + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}% + \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% + \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb\vss}% + \wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}% + \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat + \wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}% + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\@holdpg to\@tempdimb\vss}% +%% + \setbox\@tempboxa \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \vbox to\ht@viper{\box\@holdpg\vss} \hss}% + }% + }% + \ifvoid\hold@viper + \global\setbox\hold@viper \vbox {% + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \else + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \fi + \ifdim \@colroom>\@reqcolroom + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \box\@viper + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \@inserttrue + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \ifdim \@colht<2.5\baselineskip + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage (1 stulpelis)}% + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \else + \global \vsize \@colht + \global \@colroom \@colht + \check@floats + \ifdim\@tempdima>\z@ + \global\advance\@colroom by-\@tempdima + \fi + \ifdim\@colroom<\z@ + \global\@colroom 1pt + \ifdim\@tempdima>\@colht + \@latex@warning@no@line {TOP ir/ar BOT FLOAT's + netelpa lape \thepage (1 stulpelis)}% + \fi + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \fi + \fi + \fi + \else + \@insertfalse + \@reqcolroom\@colht + \advance\@reqcolroom \@pageht + \ht@viper.5\@reqcolroom + \@reqcolroom\ht@viper + \advance \@reqcolroom \ht\@viper + \advance \@reqcolroom \stripsep + \if@flushend@auto@baselineskip + \setbox\@tempboxa\vbox{\unvcopy\@leftcolumn + \global\lastskip@d\lastskip + \global\lastskip@b\lastskip + \loop + \global\lastskip@a\lastskip@b + \unskip\unpenalty + \global\lastskip@b\lastskip + \global\advance\lastskip@d by\lastskip + \ifdim\lastskip@b=-\lastskip@a + \global\advance\lastskip@d by-\lastskip + \else + \repeat + \ifdim\lastskip@b=-\lastskip@a + \ifdim\lastskip@b=\z@ + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\ht\lastbox@a + \global\advance\lastskip@d by\lastskip + \unskip\unpenalty + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\dp\lastbox@a + \else + \global\lastskip@d\lastskip + \global\advance\lastskip@d by\topskip + \fi + \fi + \global\advance\lastskip@d by-\topskip + }% + \ifdim\ht\@holdpg>\@colht + \global\setbox\@holdpg\vbox{\unvbox\@leftcolumn\unskip\unpenalty + \par\eject + \vbox to \@colht{\unvbox\@holdpg\unskip}% + }% + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn\unskip\unpenalty + \vskip\lastskip@d + \the\At@ViperColsBreak + \unvbox\@holdpg + \unskip + }% + \fi + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn + \setbox\@tempboxa\lastbox + \on@stripcols@break + \the\At@ViperColsBreak + \unvbox\@holdpg + }% + \fi + \global\At@ViperColsBreak{}% + \ht@viper .5\ht\@holdpg + \ifdim \ht@viper>\@colht + \ht@viper \@colht + \fi + \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi +% \end{macrocode} +%% +% \begin{macrocode} + \@tempdimb \ht@viper + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb + \vss + \vsplit\v@aaa to\@tempdimb + }% + \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% + \ifvoid\v@aaa + \else + \advance\@tempdimb 1\p@ + \repeat + \loop + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\v@aaa to\@tempdimb\vss}% + \wlog{(2)Left:\the\ht\v@ccc\space + Right:\the\ht\v@aaa\space + Output:\the\@tempdimb + }% + \ifdim\ht\v@ccc<\ht\v@aaa + \@tempdimb \the\ht\v@aaa + \repeat + \wlog{- LAST -^^JLeft:\the\ht\v@ccc + ^^JRight:\the\ht\v@aaa + ^^JOutput:\the\@tempdimb + }% + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\@holdpg to\@tempdimb\vss}% +% \end{macrocode} +% +% \begin{macrocode} + \setbox\@tempboxa\vbox{% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% + }% + }% + \ifvoid\hold@viper + \global\setbox\hold@viper \vbox {% + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \else + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \unvbox\@tempboxa + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \fi + \ifdim \@colht>\@reqcolroom + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \box\@viper + \penalty\interlinepenalty + \vskip\stripsep + \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi + \outputpenalty \z@ + }% + \@inserttrue + \global\@firstcolumntrue + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \ifdim \@colht<2.5\baselineskip + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage (2 stulpelis)}% + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \else + \global \vsize \@colht + \global \@colroom \@colht + \check@floats + \ifdim\@tempdima>\z@ + \global\advance\@colroom by-\@tempdima + \fi + \ifdim\@colroom<\z@ + \global\@colroom 1pt + \ifdim\@tempdima>\@colht + \@latex@warning@no@line {TOP ir/ar BOT FLOAT's + netelpa lape \thepage (2 stulpelis)}% + \fi + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \fi + \fi + \fi + \fi + \if@insert + \else + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \csname viper@top@hook\endcsname + \vsplit\@viper to \@colht + \vss + }% + \vbox{}% + \global\@firstcolumnfalse + \newpage + \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\check@floats} +% \begin{macrocode} + +\def\check@floats{% + \global\@tempdima\z@ + \let\@elt\ht@comflelt + \ifx\@toplist\@empty \else \@toplist \fi + \ifx\@botlist\@empty \else \@botlist \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\ht@comflelt} +% \begin{macrocode} +\def\ht@comflelt#1{% + \setbox\@tempboxa\vbox{\copy #1\vskip\floatsep}% + \global\advance\@tempdima by\ht\@tempboxa + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{output} +% \begin{macrocode} +\output {% + \let \par \@@par + \ifnum \outputpenalty<-\@M + \@specialoutput + \else + \@makecol + \@opcol + \@startcolumn + \@whilesw \if@fcolmade \fi + {% + \@opcol\@startcolumn}% + \fi + \ifnum \outputpenalty>-\@Miv + \ifdim \@colroom<1.5\baselineskip + \ifdim \@colroom<\textheight + \@latex@warning@no@line {Text page \thepage\space + contains only floats}% + \if@lastviper\else\@emptycol\fi + \if@twocolumn + \if@firstcolumn + \else + \@emptycol + \fi + \fi + \global\@lastviperfalse + \else + \global \vsize \@colroom + \fi + \else + \global \vsize \@colroom + \fi + \else + \ifnum\outputpenalty<-100005 + \global \vsize \maxdimen + \else + \global \vsize \@colroom + \fi + \fi + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale 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 +% --------------------------------------------------------------------------- +% 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} +% +%% Copyright (C) 1999-2012 by Vytas Statulevi\v{c}ius +%% 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 , +%% 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. +%% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{floatpag} +%<*package> + [2012/05/29 v1.1 Different pagestyles on float pages] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{floatpag}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{floatpag.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \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 +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/flushend.dtx b/Master/texmf-dist/source/latex/sttools/flushend.dtx new file mode 100644 index 00000000000..6e5327ee4df --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/flushend.dtx @@ -0,0 +1,324 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 flushend.dtx and flushend.ins +% and the derived filebase flushend.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{flushend.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Balanced columns on last page in twocolumn mode. +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{flushend} +%<*package> + [2012/05/29 v1.1 Balancing columns at last page] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{flushend}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +%%\RecordChanges +\begin{document} + \DocInput{flushend.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{285} +% +% \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{v0.1}{1997/05/16}{first version} +% \changes{v0.2}{1997/09/09}{support for compatibility with cuted.sty} +% \changes{v1.0}{1997/10/01}{\string\vipersep changed to \string\stripsep for compatibility with cuted.sty} +% \changes{v1.1}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{flushend.dtx} +% \title{The \textsf{flushend} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% The package is used to balance columns on the last page in twocolumn mode. +% +% \section{Usage} +% +% Just load the package: that's all. +% +% \DescribeMacro{\flushend} +% +% This macro switches on column balancing on the last page. It is used +% by default. +% +% \medskip +% \DescribeMacro{\raggedend} +% +% This macro switches off column balancing on the last page. +% +% \medskip +% \DescribeMacro{\atColsBreak} +% \marg{tokens} +% +% Adds \meta{tokens} in place of the original column break (made without balancing). +% +% \medskip +% \textit{Example}: |\atColsBreak{\vskip-2pt}| +% +% \medskip +% \DescribeMacro{\showcolsendrule} +% +% It can be used just for debugging: adds rule to the bottom of columns. +% +% \section{Tips} +% +% Sometimes the balancing can be not so good. In that case to stretch +% right column by \meta{tex dimension} add command |\vskip-|\meta{tex dimension} just before +% |\end{document}|. To shrink right column use |\vskip|\meta{tex dimension}. +% +% \medskip +% \textit{Example}: +% +% |\vskip-10pt%| +% +% |\end{document}| +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{flushend}[1997/10/01] +% \end{macrocode} +% +% \begin{macrocode} +\newbox\@aaa +\newbox\@ccc +\@ifundefined{@viper}{\newbox\@viper}{} +\@ifundefined{hold@viper}{\newbox\hold@viper}{} +\newtoks\atColsBreak \atColsBreak={} +\newdimen\@extra@skip \@extra@skip\z@ +\newdimen\@nd@page@rule \@nd@page@rule\z@ +% \end{macrocode} +% +% \begin{macro}{\last@outputdblcol} +% \begin{macrocode} +\def\last@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global \setbox\@leftcolumn \box\@outputbox + \else + \global \@firstcolumntrue + \if@lastpage + \@tempdima\ht\@leftcolumn + \splittopskip\topskip\splitmaxdepth\maxdepth + \setbox\@tempboxa\vbox{% + \unvbox\@leftcolumn\setbox0\lastbox\unskip + \the\atColsBreak + \unvbox\@outputbox\setbox0\lastbox\unskip + }% + \@tempdimb .5\ht\@tempboxa + \loop + \setbox\@aaa\copy\@tempboxa + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@aaa to\@tempdimb + \vss + \vsplit\@aaa to\@tempdimb + }% + \wlog{Extra height:\the\ht\@aaa\space when \the\@tempdimb}% + \ifvoid\@aaa + \else + \advance\@tempdimb 1\p@ + \repeat + \loop + \setbox\@aaa\copy\@tempboxa + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@aaa to\@tempdimb + \vss + }% + \wlog{(2)Left:\the\ht\@ccc\space + Right:\the\ht\@aaa\space + Output:\the\@tempdimb + }% + \ifdim \ht\@ccc<\ht\@aaa + \@tempdimb \the\ht\@aaa + \repeat + \wlog{- LAST -^^JExtra skip:\the\@extra@skip + ^^JLeft:\the\ht\@ccc + ^^JRight:\the\ht\@aaa + ^^JOutput:\the\@tempdimb + }% + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@tempboxa to\@tempdimb + \vss + }% + \setbox\@leftcolumn\vbox to\@tempdima{% + \vbox to\@tempdimb{\unvbox\@ccc}% + \hrule\@height\@nd@page@rule + \vss + }% + \setbox\@outputbox\vbox to\@tempdima{% + \vbox to\@tempdimb{% + \unvbox\@tempboxa + \vfilneg + \vskip\@extra@skip + }% + \hrule\@height\@nd@page@rule + \vss + }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {\box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\box\@outputbox \hss}% + }% + }% + \else + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {\box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\box\@outputbox \hss}% + }% + }% + \fi + \ifvoid\hold@viper + \else + \setbox\@outputbox \vbox{\box\hold@viper\box\@outputbox}% + \fi + \@combinedblfloats + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage \@startdblcolumn}% + \ifvoid\@viper + \else + \global\setbox\@viper\vbox{% + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput + \fi + \endgroup + \fi +} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\let\prev@enddocument\enddocument +\newif\if@lastpage \@lastpagefalse +% \end{macrocode} +% +% \begin{macro}{\enddocument} +% \begin{macrocode} +\def\enddocument{% + \global\@lastpagetrue + \let\@outputdblcol\last@outputdblcol + \prev@enddocument + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\raggedend} +% \begin{macrocode} +\def\raggedend{\global\let\enddocument\prev@enddocument} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\flushend} +% \begin{macrocode} +\def\flushend{% + \gdef\enddocument{% + \global\@lastpagetrue + \let\@outputdblcol\last@outputdblcol + \prev@enddocument + }% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\showcolsendrule} +% \begin{macrocode} +\def\showcolsendrule{\global\@nd@page@rule=.4pt} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/marginal.dtx b/Master/texmf-dist/source/latex/sttools/marginal.dtx new file mode 100644 index 00000000000..4c619ffa2ca --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/marginal.dtx @@ -0,0 +1,339 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 marginal.dtx and marginal.ins +% and the derived filebase marginal.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{marginal.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Enlarge free and show lost marginal inserts. +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{marginal} +%<*package> + [2012/05/29 v1.1 Enlarge free and show lost marginal inserts] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{marginal}[2012/05/29] +%%\EnableCrossrefs +%%\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{marginal.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{374} +% +% \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{marginal.dtx} +% \title{The \textsf{marginal} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% Enlarge free and show lost marginal inserts. +% +% \section{Usage} +% +% \DescribeMacro{\showlostmarginals} +% \indent Outputs lost marginal notes at the left of page. +% +% \medskip +% \DescribeMacro{\enlargefreelist} +% Adds more(34) free inserts to freelist. +% +% \medskip +% \DescribeMacro{\onesidemarginals} +% Outputs marginal notes only on one side. It saves one half +% of the available free inserts. +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% \begin{macrocode} +\newif\if@mparlost \@mparlostfalse +% \end{macrocode} +% +% \begin{macrocode} +\newbox\@mparlostbox +\setbox\@mparlostbox\vbox{} +% \end{macrocode} +% +% \begin{macro}{\@fltovfpar} +% +% \begin{macrocode} +\gdef\@fltovfpar{\global\@mparlosttrue + \@latex@warning{Too many unprocessed (marginal)floats}\relax + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@fltovfmess} +% \begin{macrocode} +\gdef\@fltovfmess{% + \@latex@error{Too many unprocessed floats}\@ehb + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\marginpar} +% +% \begin{macrocode} +\def\marginpar{% + \ifhmode + \@bsphack\@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}{\@floatpenalty\z@ + \@fltovfmess \def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar[\@xmpar\@ympar + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@savemarbox} +% +% \begin{macrocode} +\long\def\@savemarbox#1#2{% + \global\setbox#1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@marginparreset + #2% + \global\@minipagefalse + \outer@nobreak + }% + \color@endbox + \if@mparlost + \global\setbox\@mparlostbox\vbox{\unvbox\@mparlostbox\copy#1}% + \global\@mparlostfalse + \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\showlostmarginals} +% Outputs lost marginal notes at the left of the page. +% \begin{macrocode} +\def\showlostmarginals{% + \global\let\old@textbottom\@textbottom + \gdef\@textbottom{% + \vtop to\z@{% + \hbox to\z@{\kern-\wd\@mparlostbox + \vbox to\z@{\kern-\ht\@mparlostbox + \box\@mparlostbox + \vfill + }% + }% + }% + \old@textbottom + }% + \global\let\@fltovfmess\@fltovfpar + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\enlargefreelist} +% Adds more(34) free inserts to freelist +% \begin{macrocode} +\def\enlargefreelist{% + \@for\curr@option:={S,T,U,W,X,Y,Z,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}% + \do{\expandafter\newinsert\csname bx@\curr@option\endcsname}% + \gdef\@freelist{% + \@elt\bx@A \@elt\bx@B \@elt\bx@C \@elt\bx@D \@elt\bx@E \@elt\bx@F + \@elt\bx@G \@elt\bx@H \@elt\bx@I \@elt\bx@J \@elt\bx@K \@elt\bx@L + \@elt\bx@M \@elt\bx@N \@elt\bx@O \@elt\bx@P \@elt\bx@Q \@elt\bx@R + \@elt\bx@S \@elt\bx@T \@elt\bx@U \@elt\bx@V \@elt\bx@W \@elt\bx@X + \@elt\bx@Y \@elt\bx@Z + \@elt\bx@a \@elt\bx@b \@elt\bx@c \@elt\bx@d \@elt\bx@e \@elt\bx@f + \@elt\bx@g \@elt\bx@h \@elt\bx@i \@elt\bx@j \@elt\bx@k \@elt\bx@l + \@elt\bx@m \@elt\bx@n \@elt\bx@o \@elt\bx@p \@elt\bx@q \@elt\bx@r + \@elt\bx@s \@elt\bx@t \@elt\bx@u \@elt\bx@v \@elt\bx@w \@elt\bx@x + \@elt\bx@y \@elt\bx@z + }% + }% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\onesidemarginals} +% +%% \onesidemarginals - outputs marginals only on one side +% +% \begin{macrocode} +\def\onesidemarginals{% + \newbox\@marbox +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addmarginpar} +% \begin{macrocode} + \gdef\@addmarginpar{\@cons\@freelist\@currbox + \@tempdima\@mparbottom + \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@currbox + \ifdim\@tempdima >\z@ + \@latex@warning@no@line {Marginpar on page \thepage\space moved}% + \else + \@tempdima\z@ + \fi + \global\@mparbottom\@pageht + \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@currbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@currbox + \global\setbox\@currbox + \vbox {\vskip\@tempdima \box\@currbox}% + \global \ht\@currbox \z@ + \global \dp\@currbox \z@ + \kern -\@pagedp + \nointerlineskip + \hb@xt@\columnwidth + {\hskip\columnwidth \hskip\marginparsep \box\@currbox \hss}% + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% + }% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\marginpar} +% +% \begin{macrocode} + \gdef\marginpar{% + \ifhmode + \@bsphack\@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist{\global\count\@currbox\m@ne}{\@floatpenalty\z@ + \@fltovfmess \def\@currbox{\@tempboxa}}% + \fi + \@ifnextchar[\@xmpar\@ympar + }% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@xmpar} +% +% \begin{macrocode} + \long\gdef\@xmpar[##1]##2{\@savemarbox\@currbox{##2}\@xympar}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@ympar} +% \begin{macrocode} + \long\gdef\@ympar##1{\@savemarbox\@currbox{##1}\@xympar}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@xympar} +% \begin{macrocode} + \def\@xympar{% + \ifnum\@floatpenalty<\z@ \@cons\@currlist\@marbox \fi + \setbox\@tempboxa + \color@vbox + \vbox\bgroup + \end@float + \global\@ignorefalse \@esphack + }% + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/midfloat.dtx b/Master/texmf-dist/source/latex/sttools/midfloat.dtx new file mode 100644 index 00000000000..ba2f7d58721 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/midfloat.dtx @@ -0,0 +1,393 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 midfloat.dtx and midfloat.ins +% and the derived filebase midfloat.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{midfloat.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Insert some material in full-width on double-column page. +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{midfloat} +%<*package> + [2012/05/29 v1.1 Insert some material in full-width on double-column page] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{midfloat}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{midfloat.dtx} + \PrintChanges + \PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{439} +% +% \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.0}{1997/10/01}{some names} +% \changes{v1.1}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{midfloat.dtx} +% \title{The \textsf{midfloat} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% It is denoted to place some material (from the left column) +% in full-width at any place (but not at the top) on double-column +% page (|\twocolumn| mode). Existing text remains as it was before +% insert. Placement is restricted to one page. (It is some kind of +% dbfloat intext). +% +% \section{Usage} +% +% \DescribeMacro{strip} +% Provides new environment: +% +% \begin{verbatim} +% \begin{strip}[/] +% +% \end{strip} +% \end{verbatim} +% +% Puts |\vbox|\marg{wide onecolumn material} in full-width on +% double-column page. +% +% \medskip +% Adds |\stripsep| glue before and after (by default: |15pt|). +% +% \medskip +% It can be problems with floats and footnotes. In the case of +% problems with footnotes it is possible to correct the situation +% using commands |\footnotemark| and |\footnotetext|. +% +% \medskip +% Parameters \meta{top strip stretch skip} and \meta{bottom strip skip} are optional. +% By default \meta{top strip stretch skip}|=0pt| and \meta{bottom strip skip}|=0pt|. +% The material on the right column under strip is stretched down +% by \meta{top strip stretch skip} and below strip is moved down by \meta{bottom strip skip}. +% +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{midfloat}[1997/10/01] +% \end{macrocode} +% +% \begin{macrocode} +\newif\if@vihproof \@vihprooftrue +\newtoks\juo@sar \juo@sar={} +\@ifundefined{stripsep}{\newskip\stripsep \stripsep 15\p@}{} +\newskip\m@addvipersep \m@addvipersep\z@ +\newskip\c@addvipersep \c@addvipersep\z@ +\newdimen\ht@strip +\newdimen\right@cor +\newdimen\cor@height \cor@height=\z@ +\newdimen\juo@pr +\newdimen\juo@ht +\newdimen\c@colht +\newbox\@viper +\newbox\@rightcolumn +\newcount\juo@sk +\def\@ca#1#2#3#4{} +% \end{macrocode} +% +% \begin{macro}{\add@strip} +% \begin{macrocode} +\def\add@strip#1#2#3#4{% + \begingroup + \xdef\ex@{\global\noexpand\juo@sar{\the\juo@sar\noexpand\@ca{#1}{#2}{#3}{#4}}}% + \ex@ + \endgroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\remove@strip} +% \begin{macrocode} +\def\remove@strip#1{\ifx#1\@empty\global\juo@sk=0\else + \global\advance\juo@sk by-1\expandafter\next@item\the #1\@@#1\fi} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\next@item} +% \begin{macrocode} +\def\next@item \@ca #1#2#3#4#5\@@#6{\global #6={#5}\global\juo@pr=#1\global\juo@ht=#2% +\global\cor@height=#3\global\m@addvipersep=#4} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\strip} +% \begin{macrocode} +\def\strip{\@ifnextsymb[{\@strip}{\@strip[0pt/0pt]}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@strip} +% \begin{macrocode} +\def\@strip[#1/#2]{\global\@tempdima=#1\global\@tempdimb=#2% + \global \setbox\@viper\vbox\bgroup% + \hsize\textwidth + \@parboxrestore + \col@number \@ne + \vrule height\topskip width0pt depth0pt +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\endstrip} +% \begin{macrocode} +\def\endstrip{% + \egroup + \if@firstcolumn + \ifdim\pagetotal>\z@ + \vskip\stripsep + \global\ht@strip\pagegoal + \global\advance\ht@strip by-\pagetotal + \global\advance\ht@strip by-\stripsep + \global\advance\ht@strip by-\ht\@viper + \global\advance\ht@strip by-\stripsep + \global\juo@ht=\ht\@viper + \else + \global\ht@strip\z@ + \fi + \ifdim\ht@strip>\z@ + \unvbox\@viper + \vskip\stripsep + \add@strip{\the\pagetotal}{\the\juo@ht}{\the\@tempdima}{\the\@tempdimb}% + \global\advance\juo@sk by1 + \else + \@latex@error{Strip needs more place!}\@ehc + \if@vihproof + \framebox[\columnwidth]{??? Strip ???}% + \fi + \fi + \else + \@latex@error{Strip is used only on left column!}\@ehc + \if@vihproof + \framebox[\columnwidth]{??? Strip ???}% + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@outputdblcol} +% \begin{macrocode} +\def\@outputdblcol{% + \if@firstcolumn + \global \@firstcolumnfalse + \global \setbox\@leftcolumn \box\@outputbox + \global\c@colht\@colht\global\c@addvipersep\z@ + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \ifdim\right@cor>\z@ + \global\advance\@colht by\right@cor + \fi + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \fi + \global \setbox\@rightcolumn \vbox{}% + \else + \ifdim\c@colht>\@colht + \@tempdima\@colht + \ifdim\@colht>\z@ + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vbox to\@tempdima{% + \vskip\c@addvipersep\unvbox\@outputbox}% + \vskip\stripsep + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \global\c@addvipersep\m@addvipersep + \else + \global\setbox\@rightcolumn \vbox{% + \unvbox\@rightcolumn + \vrule height\the\juo@ht width 0pt depth 0pt + \vskip\stripsep + }% + \fi + \ifnum\juo@sk>0 + \remove@strip\juo@sar + \global\@colht\the\juo@pr + \global\advance\@colht by -\ht\@rightcolumn + \global\advance\@colht by\cor@height + \global\cor@height=0pt + \else + \global\advance\c@colht by-\ht\@rightcolumn + \global\@colht\c@colht + \fi + \else + \global \@firstcolumntrue + \global\setbox\@outputbox\vbox to\ht\@leftcolumn{% + \unvbox\@rightcolumn + \vskip\c@addvipersep + \unvbox\@outputbox + }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {% + \box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {% + \box\@outputbox \hss}% + }% + }% + \@combinedblfloats + \@outputpage + \begingroup + \@dblfloatplacement + \@startdblcolumn + \@whilesw\if@fcolmade \fi + {\@outputpage + \@startdblcolumn}% + \endgroup + \global\juo@sk=0\global\juo@sar={}% + \global\cor@height\z@\global\c@addvipersep\z@ + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cflt} +% \begin{macrocode} +\def \@cflt{% + \let \@elt \@comflelt + \setbox\@tempboxa \vbox{}% + \@toplist + \global\right@cor\ht\@tempboxa + \ifdim\right@cor>\z@ + \global\advance\right@cor by-\floatsep + \global\advance\right@cor by\textfloatsep + \fi + \setbox\@outputbox \vbox{% + \boxmaxdepth \maxdepth + \unvbox\@tempboxa + \vskip -\floatsep + \topfigrule + \vskip \textfloatsep + \unvbox\@outputbox + }% + \let\@elt\relax + \xdef\@freelist{\@freelist\@toplist}% + \global\let\@toplist\@empty +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@ifnextsymb} +% \begin{macrocode} +\def\@ifnextsymb#1#2#3{% + \let\reserved@d=#1% + \def\reserved@a{#2}\def\reserved@b{#3}% + \futurelet\@let@token\@ifnsymb} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@ifnsymb} +% \begin{macrocode} +\def\@ifnsymb{% + \ifx\@let@token\@sptoken + \let\reserved@c\reserved@b + \else + \ifx\@let@token\reserved@d + \let\reserved@c\reserved@a + \else + \let\reserved@c\reserved@b + \fi + \fi + \reserved@c} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +%% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/stabular.dtx b/Master/texmf-dist/source/latex/sttools/stabular.dtx new file mode 100644 index 00000000000..7ee9688c123 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/stabular.dtx @@ -0,0 +1,361 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 stabular.dtx and stabular.ins +% and the derived filebase stabular.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{stabular.dtx} +% +%<*package> +%% Copyright (C) 1998-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Improve tabular environment. +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{stabular} +%<*package> + [2012/05/29 v1.1 Improve tabular environment] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{stabular}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +%%\RecordChanges +\begin{document} + \DocInput{stabular.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{322} +% +% \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{<+version+>}{<+date+>}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{stabular.dtx} +% \title{The \textsf{stabular} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% \textbf{Purpose}: improve tabular environment by providing +% new commands for adds between tabular rows and allowing page break. +% +% \section{Usage} +% +% Provides new commands in tabular (used after command |\\|). +% +% \DescribeMacro{\emptyrow[\meta{row height}]} +% +% \medskip +% Adds empty row with specified \meta{row height}. +% +% \medskip +% \DescribeMacro{\tabrow\marg{tokens}[\meta{adds}]} +% +% Adds row of natural height: \meta{tokens}|\\|[\meta{adds}]. +% +% \medskip +% \DescribeMacro{stabular} +% \DescribeMacro{stabular*} +% Provides new environments: |stabular| and |stabular*|. +% It is one more multi-page version of tabular. +% +% \StopEventually{} +% +% \section{Implementation} +% +% Changed internal commands: |\@mkpream|, |\@addamp|, |\@xhline|. +% +% \iffalse +%<*package> +% \fi +% +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{stabular}[1998/03/19] +% \end{macrocode} +% +% \begin{macro}{\empty@finalstrut} +% +% \begin{macrocode} +\def\empty@finalstrut#1{% + \unskip + \ifhmode\nobreak\fi + \vrule\@width\z@\@height\z@\@depth\z@ + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\no@strut} +% \begin{macrocode} +\def\no@strut{% + \global\setbox\@arstrutbox\hbox{% + \vrule \@height\z@ + \@depth\z@ + \@width\z@ + }% + \gdef\@endpbox{\empty@finalstrut\@arstrutbox\par\egroup\hfil}% + }% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\yes@strut} +% \begin{macrocode} +\def\yes@strut{\global\setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch \ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@}% + \gdef\@endpbox{\@finalstrut\@arstrutbox\par\egroup\hfil}% +}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@mkpream} +% \begin{macrocode} +\def\@mkpream#1{\@firstamptrue\@lastchclass6 + \let\@preamble\@empty\def\empty@preamble{\add@ins}% + \let\protect\@unexpandable@protect + \let\@sharp\relax + \let\add@ins\relax + \let\@startpbox\relax + \let\@endpbox\relax + \@expast{#1}% + \expandafter\@tfor \expandafter + \@nextchar \expandafter:\expandafter=\reserved@a\do + {\@testpach\@nextchar + \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii + \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% + \ifcase \@lastchclass \@acol + \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addamp} +% \begin{macrocode} +\def\@addamp{% + \if@firstamp + \@firstampfalse + \edef\empty@preamble{\add@ins}% + \else + \edef\@preamble{\@preamble &}% + \edef\empty@preamble{\expandafter\noexpand\empty@preamble &\add@ins}% + \fi + } +\newif\iftw@hlines \tw@hlinesfalse +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@xhline} +% \begin{macrocode} +\def\@xhline{% + \ifx\reserved@a\hline + \tw@hlinestrue + \else + \ifx\reserved@a\Hline + \tw@hlinestrue + \else + \tw@hlinesfalse + \fi + \fi + \iftw@hlines + \aftergroup\do@after + \fi + \ifnum0=`{\fi}% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\do@after} +% \begin{macrocode} +\def\do@after{\emptyrow[\the\doublerulesep]} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\emptyrow} +% \begin{macrocode} +\def\emptyrow{\noalign\bgroup + \@ifnextchar[\@emptyrow{\@emptyrow[\z@]}% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@emptyrow} +% \begin{macrocode} +\def\@emptyrow[#1]{% + \no@strut + \gdef\add@ins{\vrule \@height\z@ \@depth#1 \@width\z@}% + \egroup + \empty@preamble\\ + \noalign{% + \yes@strut + \gdef\add@ins{\vrule \@height\z@ \@depth\z@ \@width\z@}% + }% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\tabrow} +% \begin{macrocode} +\def\tabrow#1{\noalign\bgroup + \@ifnextchar[{\@tabrow{#1}}{\@tabrow{#1}[]}% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@tabrow} +% \begin{macrocode} +\def\@tabrow#1[#2]{\no@strut\egroup + #1\ifx.#2.\\\else\\[#2]\fi + \noalign{\yes@strut}% + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\endstabular} +% +% \begin{macrocode} +\def\endstabular{\crcr\egroup\egroup\egroup} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\expandafter\let\csname endstabular*\endcsname\endstabular +% \end{macrocode} +% +% \begin{macro}{\stabular} +% \begin{macrocode} +\def\stabular{\let\@halignto\@empty\@stabular} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\stabular} +% \begin{macrocode} +\@namedef{stabular*}#1{\def\@halignto{to#1}\@stabular} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@stabular} +% \begin{macrocode} +\def\@stabular{\leavevmode + \bgroup + \let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv + \let\\\@tabularcr + \@stabarray + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@stabarray} +% \begin{macrocode} +\def\@stabarray{\m@th\@ifnextchar[\@sarray{\@sarray[c]}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@sarray} +% \begin{macrocode} +\def\@sarray[#1]#2{% + \bgroup + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@ + }% + \@mkpream{#2}% + \edef\@preamble{% + \ialign \noexpand\@halignto + \bgroup \@arstrut \@preamble \tabskip\z@skip \cr + }% + \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox + \let\tabularnewline\\ + \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@skip \baselineskip\z@skip + \@preamble + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/stfloats.dtx b/Master/texmf-dist/source/latex/sttools/stfloats.dtx new file mode 100644 index 00000000000..3b8b762649a --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/stfloats.dtx @@ -0,0 +1,541 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 stfloats.dtx and stfloats.ins +% and the derived filebase stfloats.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{stfloats.dtx} +% +%<*package> +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Improve float mechanism and baselineskip settings +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{stfloats} +%<*package> + [2012/05/29 v1.1 Improve float mechanism and baselineskip settings] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{stfloats}[2012/05/29] +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{stfloats.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{551} +% +% \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{v0.1}{1997/08/25}{first version} +% \changes{v0.2}{1997/09/10}{standard LaTeX2e macros are used for dblfloats at top} +% \changes{v1.0}{1997/10/01}{new commands: \cs{fnbelowfloat} and \cs{fnunderfloat}} +% \changes{v2.0}{1998/09/21}{new commands: \cs{setbaselinefloat} and \cs{setbaselinefixed}} +% \changes{v2.1}{1999/10/04}{changed dblfloat's output} +% \changes{v2.2}{1999/10/22}{changed cs{output} for older LaTeX distributions} +% \changes{v3.0}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{stfloats.dtx} +% \title{The \textsf{stfloats} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% The package improves dblfloat(s) and footnotes placements mechanism and baselineskip +% glue settings. +% +% \section{Usage} +% +% To place dblfloat(s) on top or bottom of the page just use optional +% [t] or [b]. +% +% \leftline{Example (to place figure at the page bottom):} +% +% \begin{verbatim} +% \begin{figure*}[b] +% ... +% \end{figure*} +% \end{verbatim} +% +% \DescribeMacro{\fnbelowfloat} +% Puts footnotes below the bottom floats +% +% \medskip +% \DescribeMacro{\fnunderfloat} (default and standard) +% Puts footnotes under the bottom floats. +% +% \medskip +% \DescribeMacro{\setbaselinefloat} +% Allows |\baselineskip| to stretch and shrink if the |\baselineskip| +% is set internally with command |\@setfontsize| (|\linespread| and +% |\fontsize| at user level). The settings are calculated and activated +% with command |\selectfont| (|\size@update|). +% +% \medskip +% Example: +% +% \medskip +% |\@setfontsize\normalsize\@xpt{12pt plus .1pt minus .1pt}| |\normalsize|% +% +% \medskip +% \DescribeMacro{\setbaselinefixed} (default and standard) +% Disables baselineskip to stretch and shrink even if the |\baselineskip| +% is set with command |\@setfontsize| as in the previous example in case that +% |\baselinestretch| is not empty. +% +% \medskip +% Then line spreading is not used |\baselineskip| glue can be +% controlled by ordinary |\baselinestretch| definition: +% +% \begin{itemize} +% \item +% |\def\baselinestretch{1}| - removes |\baselineskip| glue. +% \item +% |\def\baselinestretch{}| - keeps |\baselineskip| glue. +% \end{itemize} +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% +% \begin{macro}{\@dblbotlist} +% Used for dblfloat(s) to be placed at the page bottom. +% \begin{macrocode} +\gdef\@dblbotlist{} +% \end{macrocode} +% \end{macro} +% +% Additional counters for dblfloat(s) support at the page bottom. +% \begin{macrocode} +\newcount\@dblbotnum +\newcount\c@dblbotnumber +\setcounter{dblbotnumber}{2} +% \end{macrocode} +% +% \begin{macro}{\@dbflt} +% With extended set of default args: |[tp] -> [tbp]| +% \begin{macrocode} +\def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tbp]}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@dblfloatplacement} +% With adds to support dblfoat(s) placement at the page bottom. +% \begin{macrocode} +\def \@dblfloatplacement {% + \global \@dbltopnum \c@dbltopnumber + \global \@dblbotnum \c@dblbotnumber + \global \@dbltoproom \dbltopfraction\@colht + \@textmin \@colht + \advance \@textmin -\@dbltoproom + \@fpmin \dblfloatpagefraction\textheight + \@fptop \@dblfptop + \@fpsep \@dblfpsep + \@fpbot \@dblfpbot + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@addtodblcol} +% With adds to support dblfoat(s) placement at the page bottom. +% \begin{macrocode} +\def\@addtodblcol{% + \begingroup + \@insertfalse + \@setfloattypecounts + \@getfpsbit \tw@ + \ifodd\@tempcnta + \@flsetnum \@dbltopnum + \ifnum \@dbltopnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@dbldeferlist + \if@test + \else + \@bitor \@currtype \@dblbotlist + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dbltoplist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dbltopnum \m@ne + \@cons \@dbltoplist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \fi + \if@insert + \else + \@getfpsbit 4\relax + \ifodd\@tempcnta + \@flsetnum \@dblbotnum + \ifnum \@dblbotnum>\z@ + \@tempswafalse + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \else + \ifnum \@fpstype<\sixt@@n + \advance \@dbltoproom \@textmin + \ifdim \@dbltoproom>\ht\@currbox + \@tempswatrue + \fi + \advance \@dbltoproom -\@textmin + \fi + \fi + \if@tempswa + \@bitor \@currtype \@dbldeferlist + \if@test + \else + \@tempdima -\ht\@currbox + \advance\@tempdima + -\ifx \@dblbotlist\@empty \dbltextfloatsep \else + \dblfloatsep \fi + \global \advance \@dbltoproom \@tempdima + \global \advance \@colht \@tempdima + \global \advance \@dblbotnum \m@ne + \@cons \@dblbotlist \@currbox + \@inserttrue + \fi + \fi + \fi + \fi + \if@insert + \else + \@cons\@dbldeferlist\@currbox + \fi + \fi + \endgroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@combinedblfloats} +% Combines outputbox with top and bottom placed dblfloat(s). +% \begin{macrocode} +\def\@combinedblfloats{% + \ifx \@dbltoplist\@empty \else \@cdblflt \fi + \ifx \@dblbotlist\@empty \else \@cdblflb \fi + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cdblflt} +% Combines outputbox with top placed dblfloat(s). +% \begin{macrocode} +\def\@cdblflt{% + \setbox\@tempboxa \vbox{}% + \let \@elt \@comdblflelt + \@dbltoplist + \let \@elt \relax + \xdef \@freelist {\@freelist\@dbltoplist}% + \global\let \@dbltoplist \@empty + \setbox\@outputbox \vbox% to\textheight + {%\boxmaxdepth\maxdepth %% probably not needed, CAR + \unvbox\@tempboxa\vskip-\dblfloatsep + \ifnum \@dbltopnum>\m@ne + \dblfigrule + \fi + \vskip \dbltextfloatsep + \unvbox \@outputbox + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@cdblflb} +% Combines outputbox with bottom placed dblfloat(s). +% \begin{macrocode} +\def\@cdblflb{% + \setbox\@tempboxa \vbox{}% + \let \@elt \@comdblflelt + \@dblbotlist + \let \@elt \relax + \xdef \@freelist {\@freelist\@dblbotlist}% + \global\let \@dblbotlist \@empty + \setbox\@outputbox \vbox% to\textheight + {%\boxmaxdepth\maxdepth %% probably not needed, CAR + \unvbox\@outputbox + \vskip \dbltextfloatsep + \ifnum \@dblbotnum>\m@ne + \dblfigrule + \fi + \unvbox\@tempboxa + \vskip -\dblfloatsep + }% +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\@doclearpage} +% With adds to support dblfoat(s) placement at the page bottom. +% \begin{macrocode} +\def \@doclearpage {% + \ifvoid\footins + \ifvbox\@kludgeins + {\setbox \@tempboxa \box \@kludgeins}% + \fi + \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa + \setbox\@tempboxa\box\@cclv + \xdef\@deferlist{\@toplist\@botlist\@deferlist}% + \global \let \@toplist \@empty + \global \let \@botlist \@empty + \global \@colroom \@colht + \ifx \@currlist\@empty + \else + \@latexerr{Float(s) lost}\@ehb + \global \let \@currlist \@empty + \fi + \@makefcolumn\@deferlist + \@whilesw\if@fcolmade \fi{\@opcol\@makefcolumn\@deferlist}% + \if@twocolumn + \if@firstcolumn + \xdef\@dbldeferlist{\@dbltoplist\@dblbotlist\@dbldeferlist}% + \global \let \@dbltoplist \@empty + \global \let \@dblbotlist \@empty + \global \@colht \textheight + \begingroup + \@dblfloatplacement + \@makefcolumn\@dbldeferlist + \@whilesw\if@fcolmade \fi{\@outputpage + \@makefcolumn\@dbldeferlist}% + \endgroup + \else + \vbox{}\clearpage + \fi + \fi + \else + \setbox\@cclv\vbox{\box\@cclv\vfil}% + \@makecol\@opcol + \clearpage + \fi + } +% \end{macrocode} +% \end{macro} +% +% Makes |\@makecol| current definition copy to |\org@makecol|. +% \begin{macrocode} +\global\let\org@makecol\@makecol +% \end{macrocode} +% +% \begin{macro}{\fn@makecol} +% Redefined macro |\@makecol| which puts footnotes below the bottom floats. +% \begin{macrocode} +\gdef \fn@makecol {% + \setbox\@outputbox \box\@cclv + \let\@elt\relax + \xdef\@freelist{\@freelist\@midlist}% + \global \let \@midlist \@empty + \@combinefloats + \ifvoid\footins + \else + \setbox\@outputbox \vbox {% + \boxmaxdepth \@maxdepth + \unvbox \@outputbox + \vskip \skip\footins + \color@begingroup + \normalcolor + \footnoterule + \unvbox \footins + \color@endgroup + }% + \fi + \ifvbox\@kludgeins + \@makespecialcolbox + \else + \setbox\@outputbox \vbox to\@colht {% + \@texttop + \dimen@ \dp\@outputbox + \unvbox \@outputbox + \vskip -\dimen@ + \@textbottom + }% + \fi + \global \maxdepth \@maxdepth + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fnbelowfloat} +% Switch to put footnotes below the bottom floats. +% \begin{macrocode} +\def\fnbelowfloat{\global\let\@makecol\fn@makecol} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fnunderfloat} +% Switch to put footnotes under the bottom floats. +% \begin{macrocode} +\def\fnunderfloat{\global\let\@makecol\org@makecol} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\set@floatfontsize} +% Such definition |\baselineskip\f@linespread\baselineskip| removes +% any glue from the |\baselineskip| in the case |\f@linespread| is +% not empty. To prevent this |\size@update| is redefined. +% \begin{macrocode} +\def\set@floatfontsize#1#2#3{% + \@defaultunits\@tempdimb#2pt\relax\@nnil + \edef\f@size{\strip@pt\@tempdimb}% + \@defaultunits\@tempskipa#3pt\relax\@nnil + \edef\f@baselineskip{\the\@tempskipa}% + \edef\f@linespread{#1}% + \let\baselinestretch\f@linespread + \def\size@update{% +% \end{macrocode} +% Saving of the |\baselineskip| glue. +% \begin{macrocode} + \baselineskip\f@baselineskip + \@tempskipa\baselineskip\relax\baselineskip=1\baselineskip + \advance\@tempskipa by-\baselineskip\baselineskip\f@baselineskip +% \end{macrocode} +% Removes the |\baselineskip| glue in case |\f@linespread| not empty. +% \begin{macrocode} + \baselineskip\f@linespread\baselineskip +% \end{macrocode} +% Restoring of the |\baselineskip| glue. +% \begin{macrocode} + \advance\@tempskipa by\baselineskip\baselineskip\@tempskipa + \normalbaselineskip\baselineskip + \setbox\strutbox\hbox{% + \vrule\@height.7\baselineskip + \@depth.3\baselineskip + \@width\z@}% + \let\size@update\relax + }% + } +% \end{macrocode} +% \end{macro} +% +% Simple copy of the previous original |\set@fontsize| definition in |\set@@@fontsize|. +% +% \begin{macrocode} +\let\set@@@fontsize\set@fontsize +% \end{macrocode} +% +% +% \begin{macro}{\setbaselinefloat} +% It allows |\baselineskip| to be set to the value with glue. +% \begin{macrocode} +\def\setbaselinefloat{\let\set@fontsize\set@floatfontsize} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setbaselinefixed} +% It is used to restore macro definition |\set@fontsize| to the +% original one. It means that |\baselineskip| is set to the value +% without glue in the case |\baselinestretch| is not empty. +% \begin{macrocode} +\def\setbaselinefixed{% + \@tempdima=\baselinestretch\p@ + \edef\baselinestretch{\strip@pt\@tempdima}% + \let\set@fontsize\set@@@fontsize + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\output} +% It is removed from this package as the duplicate of the same +% definition in kernel since the macro definition change +% v.1.2c at 1997/11/09 in |ltoutput|. +% \end{macro} +% +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale diff --git a/Master/texmf-dist/source/latex/sttools/sttools.dtx b/Master/texmf-dist/source/latex/sttools/sttools.dtx new file mode 100644 index 00000000000..fd1e017e55a --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/sttools.dtx @@ -0,0 +1,106 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 sttools.dtx and sttools.ins +% and the derived filebases: boundbox.sty, cuted.sty, floatpag.sty, +% flushend.sty, marginal.sty, midfloat.sty, stabular.sty, +% stfloats.sty, texsort.sty. +% +% Also available from: +% http://www.vtex.lt/tex/download/macros/ +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{sttools.dtx} +% +% +%<*driver> +\documentclass{ltxdoc} +\begin{document} + \DocInput{sttools.dtx} +\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \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 \~} +% +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{sttools.dtx} +% \title{The \textsf{sttools} collection} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{2012.10.17} +% +% \maketitle +% +% \section{Introduction} +% +% This is collection of various +% packages historically placed in a bundle and maintained by Sigitas Tolu\v{s}is. +% +% \section{Usage} +% +% \begin{itemize} +% \item \textbf{boundbox.sty} -- calculate textbox coordinates on the page; +% \\\texttt{TODO: remove from bundle}; +% \item \textbf{cuted.sty} -- place some material page width wide at any +% place on twocolumn page with existing text reformatted under inserted +% material; \\\texttt{TODO: add optional rules to separate from text}; +% \item \textbf{floatpag.sty} -- set pagestyle for floats page; +% \item \textbf{flushend.sty} -- balance twocolumn page; \\\texttt{TODO: +% extend to balance any page}; +% \item \textbf{marginal.sty} -- use enlarged room for marginal inserts; +% \item \textbf{midfloat.sty} -- insert onecolumn stuff in twocolumn +% page; \\\texttt{TODO: extend to work on both columns}; +% \item \textbf{stabular.sty} -- use modified tabular environment; +% \\\texttt{TODO: remove extra stuff and leave only possibility to break +% on page boundary}; +% \item \textbf{stfloats.sty} -- enable enriched floats output mechanism; +% \item \textbf{texsort.sty} -- sort numerical values; \\\texttt{TODO: +% extend (rewrite) to support alphnanumerical values for sorting}. +% \end{itemize} +% +% Just load any of the provided packages in the standard way: +% |\usepackage{|\meta{package}|}| or +% |\RequirePackage{|\meta{package}|}|. +% +% \medskip +% To read documentation: |texdoc |\meta{package}. +% +% \StopEventually{} +% +% \Finale +\endinput diff --git a/Master/texmf-dist/source/latex/sttools/sttools.ins b/Master/texmf-dist/source/latex/sttools/sttools.ins new file mode 100644 index 00000000000..4b537051fd1 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/sttools.ins @@ -0,0 +1,57 @@ +%% Copyright (C) 2012 by Sigitas Tolu\v{s}is +%% -------------------------------------------------------------------------- +%% 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 boundbox.dtx and boundbox.ins +%% and the derived filebase boundbox.sty. +%% + +\input docstrip.tex + +\def\SimplePackage#1{% + \generate{\file{#1.sty}{\from{#1.dtx}{package}}}} + +\keepsilent + +\usedir{tex/latex/sttools} + +\preamble +\endpreamble + +\askforoverwritefalse +\SimplePackage{boundbox} +\SimplePackage{cuted} +\SimplePackage{floatpag} +\SimplePackage{flushend} +\SimplePackage{midfloat} +\SimplePackage{marginal} +\SimplePackage{stabular} +\SimplePackage{stfloats} +\SimplePackage{texsort} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* All the files with extension `.sty' *} +\Msg{* *} +\Msg{* To produce the documentation run the files with extension *} +\Msg{* '.dtx' through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/source/latex/sttools/texsort.dtx b/Master/texmf-dist/source/latex/sttools/texsort.dtx new file mode 100644 index 00000000000..cc21e6147d2 --- /dev/null +++ b/Master/texmf-dist/source/latex/sttools/texsort.dtx @@ -0,0 +1,556 @@ +% \iffalse meta-comment +% +% Copyright (C) 2012 by Sigitas Tolu\v{s}is +% --------------------------------------------------------------------------- +% 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 texsort.dtx and texsort.ins +% and the derived filebase texsort.sty. +% +% Also available from: +% http://www.vtex.lt/tex/download/macros/ +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{texsort.dtx} +% +%<*package> +%% Copyright (C) 2000-2012 by Sigitas Tolu\v{s}is +%% 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. +%% +%% PURPOSE: Sort/compress numerical lists +%% +% +%\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%\ProvidesPackage{texsort} +%<*package> + [2012/05/29 v1.1 Sort/compress alphanumerical list] +% +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{texsort}[2012/05/29] +%%\EnableCrossrefs +%%\CodelineIndex +%%\RecordChanges +\begin{document} + \DocInput{texsort.dtx} + %%\PrintChanges + %%\PrintIndex +\end{document} +% +% \fi +% +% \CheckSum{629} +% +% \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{v0.1a}{2000/06/06}{Created alfa version} +% \changes{v1.0}{2000/06/08}{Added compression} +% \changes{v1.1}{2012/05/29}{Converted to DTX file} +% +% \DoNotIndex{\newcommand,\newenvironment} +% +% \providecommand*{\url}{\texttt} +% \GetFileInfo{texsort.dtx} +% \title{The \textsf{texsort} package} +% \author{Sigitas Tolu\v{s}is \\ \url{sigitas@vtex.lt}} +% \date{\fileversion~from \filedate} +% +% \maketitle +% +% \section{Introduction} +% +% Purpose: sort/compress numerical lists. +% +% \section{Usage} +% +% \DescribeMacro{\sortlist} +% +% \leftline{Sort list:} +% +% \verb|\sortlist{1,5,20,6,23,2,1,4000,4}\to{mylist}\sep{,}| +% +% \medskip +% \leftline{Result:} +% +% \sortlist{1,5,20,6,23,2,1,4000,4}\to{mylist}\sep{,} +% \verb|\mylist->|\mylist +% +% \bigskip +% \DescribeMacro{\compresslist} +% +% \leftline{Compress list:} +% +% \verb|\compresslist{\mylist}\to{clist}\sep{,}{-}| +% +% \medskip +% \leftline{Result:} +% \compresslist{\mylist}\to{clist}\sep{,}{-}% +% \verb|\clist->|\clist +% +% \StopEventually{} +% +% \section{Implementation} +% +% \iffalse +%<*package> +% \fi +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{texsort}[2012/05/29] +% \end{macrocode} +% +% \begin{macrocode} +\newcount\t@mp@r@a +\newcount\t@mp@r@b +\newcount\t@mp@r@c +% \end{macrocode} +% +% \begin{macro}{\initarray} +% \marg{list}\marg{array} +% +% \medskip +% Converts \meta{list} to \meta{array}. +% \medskip +% \begin{macrocode} +\def\initarray#1#2{% + \bgroup + \@tempcnta=\z@ + \@for\@@refb:=#2\do{% + \advance\@tempcnta by\@ne + \bgroup + \setbox\z@\hbox{% + \expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero\@@refb\relax + }% + \ifdim\wd0>\z@\relax + \@latex@warning{Not number \@@refb!}% + \fi + \expandafter\edef\csname @a@\endcsname{\expandafter\xdef\expandafter + \noexpand\csname#1@\the\@tempcnta\endcsname{\the\t@mp@r@a}}\@a@ + \egroup + }% + \expandafter\xdef\csname #1@lenght\endcsname{\the\@tempcnta}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\outarray} +% \marg{array}\marg{sep} +% +% \medskip +% Outputs \meta{array} elements separated by \meta{sep}. +% \medskip +% \begin{macrocode} +\def\outarray#1\sep#2{% + \bgroup + \@tempcnta=\z@\relax + \@tempcntb=\getarraylenght{#1}% + \loop + \ifnum\@tempcnta<\@tempcntb + \advance\@tempcnta by\@ne\relax + \ifnum\@tempcnta>\@ne\relax#2\fi + \csname#1@\the\@tempcnta\endcsname + \repeat + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\add@zero} +% \marg{arg} +% +% \medskip +% Adds 0 before \meta{arg}. +% \medskip +% \begin{macrocode} +\def\add@zero#1{0#1} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\getarrayitem} +% \marg{array}\marg{index}\verb|\to|\marg{command} +% +% \medskip +% Gets \meta{array} element by \meta{index} to \verb|\|\meta{command}. +% \medskip +% \begin{macrocode} +\def\getarrayitem#1#2\to#3{\expandafter\xdef\csname#3\endcsname{\csname#1@#2\endcsname}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setarrayitem} +% \marg{array}\marg{index}\marg{value} +% +% \medskip +% Sets \meta{array} element by \meta{index} to \meta{value}. +% \medskip +% \begin{macrocode} +\def\setarrayitem#1#2#3{% + \bgroup + \setbox0\hbox{% + \expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero#3\relax + }% + \ifdim\wd0>\z@\relax + \@latex@warning{Not number #3!}% + \fi + \expandafter\xdef\csname#1@#2\endcsname{\the\t@mp@r@a}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\getarraylenght} +% \marg{array} +% +% \medskip +% Gets \meta{array} elements count. +% \medskip +% \begin{macrocode} +\def\getarraylenght#1{\@ifundefined{#1@lenght}{0}{\csname #1@lenght\endcsname}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\setarraylenght} +% \marg{array}\marg{value} +% +% \medskip +% Sets \meta{array} elements count to \meta{value}. +% \medskip +% \begin{macrocode} +\def\setarraylenght#1#2{\expandafter\xdef\csname #1@lenght\endcsname{#2}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\upheap} +% \marg{array}\marg{index} +% +% \medskip +% Internal macro of sort algorithm. +% \medskip +% \begin{macrocode} +\def\upheap#1#2{% + \bgroup + \getarrayitem{#1}{#2}\to{vara}% + \@namedef{#1@0}{\maxdimen}% + \@tempcntb=#2\relax + \loop + \@tempcnta=\@tempcntb + \divide\@tempcnta by2\getarrayitem{#1}{\the\@tempcnta}\to{varb}% + \ifnum\varb>\vara\relax + \else + \getarrayitem{#1}{\the\@tempcnta}\to{varb}% + \setarrayitem{#1}{\the\@tempcntb}{\varb}% + \divide\@tempcntb by2\relax + \repeat + \setarrayitem{#1}{\the\@tempcntb}{\vara}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\insertheapelem} +% \marg{array}\marg{value} +% +% \medskip +% Internal macro of sort algorithm. +% \medskip +% \begin{macrocode} +\def\insertheapelem#1#2{% + \bgroup + \@tempcnta=\getarraylenght{#1}\relax + \advance\@tempcnta by1\relax + \setarraylenght{#1}{\the\@tempcnta}\relax + \setarrayitem{#1}{\the\@tempcnta}{#2}% + \upheap{#1}{\the\@tempcnta}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\newcount\@tempcntd +% \end{macrocode} +% +% \begin{macro}{\downheap} +% \marg{array}\marg{index} +% +% \medskip +% Internal macro of sort algorithm. +% \medskip +% \begin{macrocode} +\def\downheap#1#2{% + \bgroup + \getarrayitem{#1}{#2}\to{vara}% + \@tempcntb=\getarraylenght{#1}% + \t@mp@r@c=\@tempcntb\relax + \divide\@tempcntb by2\relax + \t@mp@r@b=\@tempcntb\relax + \@tempcntb=#2\relax + \ifnum\@tempcntb>\t@mp@r@b\relax + \else + \loop + \@tempcnta=\@tempcntb \advance\@tempcnta by\@tempcntb\relax + \@tempcntd=\@tempcnta \advance\@tempcntd by1\relax + \ifnum\@tempcnta<\t@mp@r@c\relax + \getarrayitem{#1}{\the\@tempcnta}\to{temp@@a}% + \getarrayitem{#1}{\the\@tempcntd}\to{temp@@b}% + \ifnum\temp@@a<\temp@@b\relax + \@tempcnta=\@tempcntd + \fi + \fi + \getarrayitem{#1}{\the\@tempcnta}\to{temp@@a}% + \ifnum\vara>\temp@@a\relax + \t@mp@r@b=-1\relax + \else + \getarrayitem{#1}{\the\@tempcnta}\to{temp@@a}% + \setarrayitem{#1}{\the\@tempcntb}{\temp@@a}% + \@tempcntb=\@tempcnta + \fi + \ifnum\@tempcntb>\t@mp@r@b\relax + \else + \repeat + \fi + \setarrayitem{#1}{\the\@tempcntb}{\vara}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} + +% \end{macrocode} +% +% \begin{macro}{\removetop} +% \marg{array}\verb|\to|\marg{command} +% +% \medskip +% Internal macro of sort algorithm. +% \medskip +% \begin{macrocode} +\def\removetop#1\to#2{% + \bgroup + \getarrayitem{#1}{1}\to{temp@@c}% + \expandafter\xdef\csname #2\endcsname{\temp@@c}% + \@tempcnta=\getarraylenght{#1}% + \getarrayitem{#1}{\the\@tempcnta}\to{temp@@a}% + \setarrayitem{#1}{1}{\temp@@a}% + \setarrayitem{#1}{\the\@tempcnta}{}% + \advance\@tempcnta by-1\relax + \setarraylenght{#1}{\the\@tempcnta}% + \downheap{#1}{1}% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\g@addto@macrobeg} +% \marg{macro}\marg{definition} +% +% \medskip +% Adds some more \meta{definition} to \meta{macro} begining. +% \medskip +% \begin{macrocode} +\long\def\g@addto@macrobeg#1#2{% + \begingroup + \def\@a@{#2}% + \toks@\expandafter\expandafter\expandafter{\expandafter\@a@#1}% + \xdef#1{\the\toks@}% + \endgroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\sortlistarray} +% \marg{array}\marg{sorted array} +% +% \medskip +% Sorts \meta{array} and puts result to \meta{sorted array}. +% \begin{macrocode} +\def\sortlistarray#1\to#2{% + \bgroup + \@for\@@refb:=#1\do{% + \insertheapelem{@tempa@}{\@@refb}% + }% + \@tempcntb=\getarraylenght{@tempa@}% + \setarraylenght{#2}{\the\@tempcntb}% + \@for\@@refb:=#1\do{% + \removetop{@tempa@}\to{aka}% + \setarrayitem{#2}{\the\@tempcntb}{\aka}% + \advance\@tempcntb by-1\relax + }% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\sortlist} +% \marg{list}\verb|\to|\marg{macro}\verb|\sep|\marg{sep} +% +% \medskip +% Sorts \meta{list} and puts elements separated by \meta{sep} to \meta{macro}. +% \medskip +% \begin{macrocode} +\def\sortlist#1\to#2\sep#3{% + \bgroup + \@for\@@refb:=#1\do{% + \insertheapelem{@tempa@}{\@@refb}% + }% + \@tempcntb=\getarraylenght{@tempa@}% + \expandafter\def\csname#2\endcsname{}% + \expandafter\def\expandafter\@a@\expandafter{\csname#2\endcsname}% + \@for\@@refb:=#1\do{% + \removetop{@tempa@}\to{aka}% + \advance\@tempcntb by-1\relax + \expandafter\expandafter\expandafter + \g@addto@macrobeg\expandafter\@a@\expandafter{\aka}% + \ifnum\@tempcntb>0\relax + \expandafter\expandafter\expandafter + \g@addto@macrobeg\expandafter\@a@\expandafter{#3}% + \fi + }% + \egroup + } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\compresslist} +% \marg{list}\verb|\to|\marg{macro}\verb|\sep|\marg{single}\marg{multi} +% +% \medskip +% Compress \meta{list} and puts result to \marg{macro}; +% single elements separated by \meta{single}, multi by \meta{multi}. +% \medskip +% \begin{macrocode} +\def\compresslist#1\to#2\sep#3#4{% + \bgroup + \expandafter\def\csname#2\endcsname{}% + \expandafter\def\expandafter\@a@\expandafter{\csname#2\endcsname}% + \t@mp@r@a=-1\relax + \@tempcnta=-2\relax + \expandafter\@for\expandafter\@@refb\expandafter:\expandafter=#1\do{% + \ifnum\t@mp@r@a=-1\relax + \t@mp@r@a=\@@refb\relax + \t@mp@r@b=\@@refb\relax + \t@mp@r@c=\@@refb\relax + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@a}% + \else + \t@mp@r@c=\@@refb\relax + \ifnum\t@mp@r@c=\t@mp@r@a\relax + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \t@mp@r@b=\t@mp@r@c\relax + \else + \@tempcnta=\t@mp@r@b\relax + \advance\@tempcnta by1\relax + \ifnum\@tempcnta=\t@mp@r@c\relax + \t@mp@r@b=\t@mp@r@c\relax + \else + \@tempcnta=\t@mp@r@a\relax + \advance\@tempcnta by-\t@mp@r@b\relax + \ifnum\@tempcnta<-1\relax + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#4}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \else + \ifnum\t@mp@r@a<\t@mp@r@b + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% + \fi + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \fi + \t@mp@r@a=\t@mp@r@c\relax + \t@mp@r@b=\t@mp@r@c\relax + \fi + \fi + \fi + }% + \ifnum\t@mp@r@a<\t@mp@r@c\relax + \advance\t@mp@r@a by-\t@mp@r@c\relax + \ifnum\t@mp@r@a<-1\relax + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#4}% + \else + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \fi + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \fi + \egroup + } +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +%\endinput +% \end{macrocode} +% +% \iffalse +% +% \fi +% +% \Finale \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/sttools/boundbox.sty b/Master/texmf-dist/tex/latex/sttools/boundbox.sty index a08ac801f9e..1799613f736 100644 --- a/Master/texmf-dist/tex/latex/sttools/boundbox.sty +++ b/Master/texmf-dist/tex/latex/sttools/boundbox.sty @@ -1,85 +1,117 @@ -%% boundbox.sty -%% Copyright 1997 Sigitas Tolu\v sis +%% +%% This is file `boundbox.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% boundbox.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. +%% +%% PURPOSE: Calculate TeX bounding box in rounded points (LaTeX2e) +%% from left top corner of the paper %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Calculate TeX Bounding Box in points (LaTeX2e) -% -% SHORT DESCRIPTION: -% -% \@calculate -% ----------- -% Internal macro \@calculate writes TeX box dimensions -% to the token list \bound in such format: -% -% \bound{left=x1 top=y1 right=x2 bottom=y2} -% -% x1 - distance in points from the left side of paper -% to the left side of TeX box -% y1 - distance in points from the top of paper -% to the top of TeX box (including head) -% x2 - distance in points from the left side of paper -% to the right side of TeX box -% y2 - distance in points from the top of paper -% to the bottom of TeX box -% (including foot; with option "nofoot" without foot) -% -% \topoint#1#2 -% ------------ -% Dimension #1 in any unit of measure converts to value in points -% and defines it to macro #2 -% -% This package writes such special to DVI: -% \special{mt:TeXBBox left=x1 top=y1 right=x2 bottom=y2} -% -% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{boundbox}[1998/02/24] -% +\ProvidesPackage{boundbox} + [2012/05/29 v1.3 Calculate TeX bounding box in points] +%% \newif\if@withfoot \@withfoottrue +\newif\if@output@bbox@special \@output@bbox@specialtrue \DeclareOption{nofoot}{\global\@withfootfalse} +\DeclareOption{nospec}{\global\@output@bbox@specialfalse} \ProcessOptions -% -\newtoks\bound \bound={}% -\def\@@to#1#2{\begingroup - \xdef\a@act{\global\noexpand#1{\the#1#2}}\a@act -\endgroup} -% -\def\topoint#1#2{% -\@tempdimb=#1 -\@tempcnta=\@tempdimb -\multiply\@tempcnta by10 -\divide\@tempcnta by18647 \advance\@tempcnta by1 -\multiply\@tempcnta by72 \divide\@tempcnta by2540 -\expandafter\def\expandafter#2\expandafter{\the\@tempcnta}} -% -\def\@calculate{% -\@tempdima=1in -\advance\@tempdima by\hoffset -\advance\@tempdima by\oddsidemargin -\topoint{\@tempdima}{\@a}% -\advance\@tempdima\textwidth -\topoint{\@tempdima}{\@c}% -\@tempdima=1in -\advance\@tempdima by\voffset -\advance\@tempdima by\topmargin -\topoint{\@tempdima}{\@b}% -\advance\@tempdima by\headheight -\advance\@tempdima by\headsep -\advance\@tempdima\textheight -\if@withfoot - \advance\@tempdima\footskip -\fi -\topoint{\@tempdima}{\@d}% -\@tempcnta=\@d -\expandafter\def\expandafter\@d\expandafter{\the\@tempcnta}% -\@@to\bound{left=\@a\space top=\@b\space right=\@c\space bottom=\@d}% -} -\AtBeginDocument{\@calculate\special{mt:TeXBBox \the\bound}} -\endinput \ No newline at end of file +%% +\def\special@bbox@odd@prefix{mt:TeXBBox:odd} +\def\special@bbox@even@prefix{mt:TeXBBox:even} +%% +\def\roundtexdim#1#{\round@tex@dim{#1}} +\def\round@tex@dim#1#2#3{% + \expandafter\expandafter\csname get@#1@pt@data\endcsname\the#2\to#3\relax + } +\def\get@floor@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \xdef#4{\the\@tempcnta}% + \egroup + } +\def\get@round@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \ifnum#2>4\relax + \advance\@tempcnta by\@ne + \fi + \xdef#4{\the\@tempcnta}% + \egroup + } +\let\get@@pt@data\get@round@pt@data +\def\get@ceil@pt@data#1.#2#3\to#4{% + \bgroup + \@tempcnta=#1\relax + \afterassignment\@gobbletwo + \@tempcntb=#2#3\relax + \ifnum\@tempcntb>0\relax + \advance\@tempcnta by\@ne + \fi + \xdef#4{\the\@tempcnta}% + \egroup + } +\def\@calculate@bbox{% + \bgroup + \@tempdima=1in\relax + \advance\@tempdima by\hoffset + \advance\@tempdima by\oddsidemargin + \roundtexdim floor{\@tempdima}\bbox@odd@left@pt + \advance\@tempdima\textwidth + \roundtexdim ceil{\@tempdima}\bbox@odd@right@pt + \@tempdima=1in\relax + \advance\@tempdima by\hoffset + \advance\@tempdima by\evensidemargin + \roundtexdim floor{\@tempdima}\bbox@even@left@pt + \advance\@tempdima\textwidth + \roundtexdim ceil{\@tempdima}\bbox@even@right@pt + \@tempdima=1in\relax + \advance\@tempdima by\voffset + \advance\@tempdima by\topmargin + \roundtexdim floor{\@tempdima}\bbox@odd@top@pt + \global\let\bbox@even@top@pt\bbox@odd@top@pt + \advance\@tempdima by\headheight + \advance\@tempdima by\headsep + \advance\@tempdima\textheight + \if@withfoot + \advance\@tempdima\footskip + \fi + \roundtexdim ceil{\@tempdima}\bbox@odd@bottom@pt + \global\let\bbox@even@bottom@pt\bbox@odd@bottom@pt + \egroup + } +%% +\AtBeginDocument{% + \@calculate@bbox + \if@output@bbox@special + \special{\special@bbox@odd@prefix\space + left=\csname bbox@odd@left@pt\endcsname\space + top=\csname bbox@odd@top@pt\endcsname\space + right=\csname bbox@odd@right@pt\endcsname\space + bottom=\csname bbox@odd@bottom@pt\endcsname + }% + \special{\special@bbox@even@prefix\space + left=\csname bbox@even@left@pt\endcsname\space + top=\csname bbox@even@top@pt\endcsname\space + right=\csname bbox@even@right@pt\endcsname\space + bottom=\csname bbox@even@bottom@pt\endcsname + }% + \fi + } +\endinput +%% +%% End of file `boundbox.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/cuted.sty b/Master/texmf-dist/tex/latex/sttools/cuted.sty index 3b60c518455..972720acffb 100644 --- a/Master/texmf-dist/tex/latex/sttools/cuted.sty +++ b/Master/texmf-dist/tex/latex/sttools/cuted.sty @@ -1,58 +1,46 @@ -%% cuted.sty -%% Copyright 1997 Sigitas Tolu\v sis +%% +%% This is file `cuted.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% cuted.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. +%% +%% PURPOSE: Insert some onecolumn material in full-width on double-column page. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Insert some onecolumn material in full-width on double-column page. -% -% SHORT DESCRIPTION: -% -% It is denoted to place some material in full-width at any place -% on double-column page (\twocolumn mode). The part of material -% can be placed on the next page. Existing text is placed -% under inserted material in two columns (it is reformatted). -% -% Provides new environment: -% -% \begin{strip} ... \end{strip} -% ----------------------------- -% -% Puts \vbox{...} in full-width on double-column page. -% Adds \stripsep glue before and after -% (By default \stripsep=15pt plus2pt minus 2pt). -% It can be problems with floats and footnotes. In the case of -% problems with footnotes it is possible to correct the situation -% using commands \footnotemark and \footnotetext. -% -% Provides new command: -% \oldcolsbreak{#1} -% -% Adds #1 in place of original column break if strip is placed -% on the right column. -% -% \changes{1997/09/02}{improved column balancing} -% \changes{1997/09/03}{float control for \@colroom setting} -% \changes{1997/09/04}{improved \@colroom setting} -% \changes{1997/09/05}{checking for \@viper and \hold@viper} -% \changes{1997/09/09}{compatibility with flushend.sty} -% \changes{1997/09/22}{improved \output ir \@specialoutput} -% \changes{1997/10/01}{improved \output ir \@addviper} -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{cuted}[1997/10/01] -% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{cuted} + [2012/10/04 v1.5 Mixing onecolumn and twocolumn modes] +\def\on@stripcols@break{\hbox{}} +\DeclareOption{unskipbreak}{\gdef\on@stripcols@break{\unskip}} +\newif\if@flushend@auto@baselineskip +\DeclareOption{autobase}{\global\@flushend@auto@baselineskiptrue} +\ProcessOptions + \newtoks\At@ViperColsBreak \At@ViperColsBreak{} \def\oldcolsbreak#1{\global\At@ViperColsBreak{#1}} +\def\viper@top@hook{\splittopskip0pt plus 2pt} + \newbox\v@aaa \newbox\v@ccc -\@ifundefined{stripsep}{\newskip\stripsep\stripsep 15pt plus 2pt minus 2pt}{} -% +\@ifundefined{lastskip@a}{\newskip\lastskip@a}{} +\@ifundefined{lastskip@b}{\newskip\lastskip@b}{} +\@ifundefined{lastskip@d}{\newskip\lastskip@d}{} +\@ifundefined{lastbox@a}{\newbox\lastbox@a}{} +\@ifundefined{stripsep}{\newskip\stripsep \stripsep 15pt plus 2pt minus 2pt}{} + \@ifundefined{@viper}{\newbox\@viper}{} \newif\if@lastviper \@lastviperfalse \def\@outputdblcol{% @@ -74,7 +62,11 @@ }% \ifvoid\hold@viper \else - \setbox\@outputbox \vbox{\box\hold@viper\box\@outputbox}% + \setbox\@outputbox \vbox to\textheight{% + \box\hold@viper + \box\@outputbox + \vss + }% \fi \@combinedblfloats \@outputpage @@ -87,11 +79,14 @@ \ifvoid\@viper \else \global\setbox\@viper\vbox{% - \vskip-\stripsep\unvbox\@viper}\@viperoutput + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput \fi \endgroup \fi -} + } \mathchardef\@Mv=10005 \newcount\viper@penalty \def\strip{% @@ -104,18 +99,24 @@ \hsize\textwidth \@parboxrestore \col@number \@ne - \vrule height\topskip width0pt depth0pt -} + \vrule height\topskip width\z@ depth\z@ + } \def\endstrip{% - \egroup + \egroup \ifnum\viper@penalty <-\@Mii \penalty -\@Miv - \@tempdima\prevdepth %% saving and restoring \prevdepth added - \vbox{}% %% 26 May 87 to prevent extra vertical - \prevdepth \@tempdima %% space when used in vertical mode - \penalty-\@Mv\relax + \ifvmode + \@tempdima\prevdepth %% saving and restoring \prevdepth added + \vbox{}% %% 26 May 87 to prevent extra vertical + \prevdepth\@tempdima %% space when used in vertical mode + \penalty-\@Mv\relax + \else + \par + \penalty-\@Mv\relax + \noindent + \fi \fi -} + } \gdef\@viperoutput{% \global \setbox\@holdpg \vbox{% \unvbox\@holdpg @@ -140,14 +141,14 @@ \@reinserts \@addviper \fi -} + } \gdef\@specialoutput{% \ifnum \outputpenalty>-\@Mii \@doclearpage \else \ifnum \outputpenalty<-\@Miii \ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi - \ifnum \outputpenalty=-10005 + \ifnum \outputpenalty=-\@Mv \@viperoutput \ifnum \outputpenalty<\z@ \if@nobreak @@ -196,9 +197,9 @@ \fi \fi \fi -} + } \@ifundefined{hold@viper}{\newbox\hold@viper}{} -\newdimen\ht@viper +\newdimen\ht@viper \def \@addviper {% \if@firstcolumn \@insertfalse @@ -207,28 +208,27 @@ \advance \@reqcolroom \ht\@viper \advance \@reqcolroom \stripsep \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi -% +%% \@tempdimb \ht@viper \loop \setbox\v@aaa\copy\@holdpg \setbox\v@ccc\vbox to\@tempdimb{% \vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}% \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% - \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat% + \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat \loop \setbox\v@aaa\copy\@holdpg \setbox\v@ccc\vbox to\@tempdimb{% \vsplit\v@aaa to\@tempdimb\vss}% \wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}% - \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat% + \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat \wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}% \setbox\v@ccc\vbox to\@tempdimb{% \vsplit\@holdpg to\@tempdimb\vss}% -% +%% \setbox\@tempboxa \vbox {% \hb@xt@\textwidth {% \hb@xt@\columnwidth {% -% \vbox to\ht@viper{\vsplit\@holdpg to\ht@viper\vss} \hss}% \vbox to\ht@viper{\box\v@ccc\vss} \hss}% \hfil \vrule \@width\columnseprule @@ -306,41 +306,101 @@ \@reqcolroom\ht@viper \advance \@reqcolroom \ht\@viper \advance \@reqcolroom \stripsep - \global\setbox\@holdpg\vbox{\unvbox\@leftcolumn - \setbox\@tempboxa\lastbox\unskip\the\At@ViperColsBreak\unvbox\@holdpg}% + \if@flushend@auto@baselineskip + \setbox\@tempboxa\vbox{\unvcopy\@leftcolumn + \global\lastskip@d\lastskip + \global\lastskip@b\lastskip + \loop + \global\lastskip@a\lastskip@b + \unskip\unpenalty + \global\lastskip@b\lastskip + \global\advance\lastskip@d by\lastskip + \ifdim\lastskip@b=-\lastskip@a + \global\advance\lastskip@d by-\lastskip + \else + \repeat + \ifdim\lastskip@b=-\lastskip@a + \ifdim\lastskip@b=\z@ + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\ht\lastbox@a + \global\advance\lastskip@d by\lastskip + \unskip\unpenalty + \setbox\lastbox@a\lastbox + \global\advance\lastskip@d by\dp\lastbox@a + \else + \global\lastskip@d\lastskip + \global\advance\lastskip@d by\topskip + \fi + \fi + \global\advance\lastskip@d by-\topskip + }% + \ifdim\ht\@holdpg>\@colht + \global\setbox\@holdpg\vbox{\unvbox\@leftcolumn\unskip\unpenalty + \par\eject + \vbox to \@colht{\unvbox\@holdpg\unskip}% + }% + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn\unskip\unpenalty + \vskip\lastskip@d + \the\At@ViperColsBreak + \unvbox\@holdpg + \unskip + }% + \fi + \else + \global\setbox\@holdpg\vbox{% + \unvbox\@leftcolumn + \setbox\@tempboxa\lastbox + \on@stripcols@break + \the\At@ViperColsBreak + \unvbox\@holdpg + }% + \fi \global\At@ViperColsBreak{}% \ht@viper .5\ht\@holdpg + \ifdim \ht@viper>\@colht + \ht@viper \@colht + \fi \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi -% +%% \@tempdimb \ht@viper \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}% - \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% - \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat% + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{% + \vsplit\v@aaa to\@tempdimb + \vss + \vsplit\v@aaa to\@tempdimb + }% + \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% + \ifvoid\v@aaa + \else + \advance\@tempdimb 1\p@ + \repeat \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\v@aaa to\@tempdimb\vss}% - \wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}% - \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat% - \wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}% - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\@holdpg to\@tempdimb\vss}% -% + \setbox\v@aaa\copy\@holdpg + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\v@aaa to\@tempdimb\vss}% + \wlog{(2)Left:\the\ht\v@ccc\space + Right:\the\ht\v@aaa\space + Output:\the\@tempdimb + }% + \ifdim\ht\v@ccc<\ht\v@aaa + \@tempdimb \the\ht\v@aaa + \repeat + \wlog{- LAST -^^JLeft:\the\ht\v@ccc + ^^JRight:\the\ht\v@aaa + ^^JOutput:\the\@tempdimb + }% + \setbox\v@ccc\vbox to\@tempdimb{\vsplit\@holdpg to\@tempdimb\vss}% \setbox\@tempboxa\vbox{% \hb@xt@\textwidth {% - \hb@xt@\columnwidth {% -% \vbox to\ht@viper{\vsplit\@holdpg to \ht@viper\vss} \hss}% - \vbox to\ht@viper{\box\v@ccc\vss} \hss}% - \hfil - \vrule \@width\columnseprule - \hfil - \hb@xt@\columnwidth {% - \vbox to\ht@viper{\box\@holdpg\vss} \hss}% - }% - }% + \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% + }% + }% \ifvoid\hold@viper \global\setbox\hold@viper \vbox {% \unvbox\@tempboxa @@ -351,7 +411,7 @@ }% \else \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper + \unvbox\hold@viper \unvbox\@tempboxa \penalty\interlinepenalty \vskip\stripsep @@ -373,61 +433,63 @@ \advance\@tempdima by-\ht\hold@viper \global \advance \@colht \@tempdima \ifdim \@colht<2.5\baselineskip - \@latex@warning@no@line {Optional argument of \noexpand\twocolumn - too tall on page \thepage (2 stulpelis)}% + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage (2 stulpelis)}% + \@emptycol + \if@firstcolumn + \else + \@emptycol + \fi + \global\@lastvipertrue + \else + \global \vsize \@colht + \global \@colroom \@colht + \check@floats + \ifdim\@tempdima>\z@ + \global\advance\@colroom by-\@tempdima + \fi + \ifdim\@colroom<\z@ + \global\@colroom 1pt + \ifdim\@tempdima>\@colht + \@latex@warning@no@line {TOP ir/ar BOT FLOAT's + netelpa lape \thepage (2 stulpelis)}% + \fi \@emptycol \if@firstcolumn \else - \@emptycol + \@emptycol \fi \global\@lastvipertrue - \else - \global \vsize \@colht - \global \@colroom \@colht - \check@floats - \ifdim\@tempdima>\z@ - \global\advance\@colroom by-\@tempdima - \fi - \ifdim\@colroom<\z@ - \global\@colroom 1pt - \ifdim\@tempdima>\@colht - \@latex@warning@no@line {TOP ir/ar BOT FLOAT's - netelpa lape \thepage (2 stulpelis)}% - \fi - \@emptycol - \if@firstcolumn - \else - \@emptycol - \fi - \global\@lastvipertrue - \fi + \fi \fi \fi \fi \if@insert \else - \advance\@tempdima by-\ht\hold@viper - \global \advance \@colht \@tempdima - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \vsplit\@viper to \@colht - \vss - }% - \vbox{}% - \global\@firstcolumnfalse - \newpage + \advance\@tempdima by-\ht\hold@viper + \global \advance \@colht \@tempdima + \global\setbox\hold@viper \vbox {% + \unvbox\hold@viper + \csname viper@top@hook\endcsname + \vsplit\@viper to \@colht + \vss + }% + \vbox{}% + \global\@firstcolumnfalse + \newpage \fi -} + } -\def \check@floats {% +\def\check@floats{% \global\@tempdima\z@ - \let \@elt \ht@comflelt - \ifx \@toplist\@empty \else\@toplist \fi - \ifx \@botlist\@empty \else\@botlist \fi -} -\def\ht@comflelt#1{\setbox\@tempboxa\vbox{\copy #1\vskip\floatsep}% -\global\advance\@tempdima\ht\@tempboxa} - + \let\@elt\ht@comflelt + \ifx\@toplist\@empty \else \@toplist \fi + \ifx\@botlist\@empty \else \@botlist \fi + } +\def\ht@comflelt#1{% + \setbox\@tempboxa\vbox{\copy #1\vskip\floatsep}% + \global\advance\@tempdima by\ht\@tempboxa + } \output {% \let \par \@@par \ifnum \outputpenalty<-\@M @@ -466,9 +528,7 @@ \global \vsize \@colroom \fi \fi -} + } \endinput - - - - +%% +%% End of file `cuted.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/floatpag.sty b/Master/texmf-dist/tex/latex/sttools/floatpag.sty index 9dbc540c484..98b32de3206 100644 --- a/Master/texmf-dist/tex/latex/sttools/floatpag.sty +++ b/Master/texmf-dist/tex/latex/sttools/floatpag.sty @@ -1,56 +1,50 @@ -%% floatpag.sty -%% Copyright 1999 V. Statulevi\v cius +%% +%% This is file `floatpag.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% floatpag.dtx (with options: `package') +%% +%% Copyright (C) 1999-2012 by Vytas Statulevi\v{c}ius %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail vytas@vtex.lt %% 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 , +%% were used in this package. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: provides commands to apply different pagestyles -% to the full page floats. -% -% USAGE: -% \floatpagestyle{foo} will apply pagestyle 'foo' to all pages -% occupied by full page floats. -% -% \rotfloatpagestyle{foo} will apply pagestyle 'foo' to all pages -% occupied by sideways figures and tables -% produced with the help of 'rotating.sty' -% package (Sebastian Rahtz and Leonor Barroca) -% -% \thisfloatpagestyle{foo} will apply pagestyle 'foo' to a page where -% this command was used inside figure or table -% environment -% -% DEFAULT: -% \floatpagestyle{headings} -% \rotfloatpagestyle{plain} -% -% The macros, developed by Sigitas Tolusis , -% were used in this package. -% -% The following commands from the LaTeX2e kernel were redefined: -% \@xfloat, \@vtryfc -% The following command from the rotating.sty was redefined: -% \@xrotfloat -% +%% The Current Maintainer of this work is Sigitas Tolu\v{s}is. +%% +%% PURPOSE: provides commands to apply different pagestyles +%% to the full page floats. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{floatpag} + [2012/05/29 v1.1 Different pagestyles on float pages] \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{floatpag} [1999/04/29 FLOAT PAGESTYLE] \def\floatpagestyle#1{\gdef\at@float@page{\thispagestyle{#1}}} -\def\rotfloatpagestyle#1{\gdef\@r@f@pagestyle{#1}\gdef\at@rotfloat@page{\thispagestyle{#1}}} +\def\rotfloatpagestyle#1{% + \gdef\@r@f@pagestyle{#1}% + \gdef\at@rotfloat@page{\thispagestyle{#1}}% + } \floatpagestyle{headings} \rotfloatpagestyle{plain} -% \def\thisfloatpagestyle#1{% - \expandafter\expandafter\expandafter\gdef\expandafter - \csname\number\@currbox @float\endcsname{\thispagestyle{#1}}\relax} -% -% Perrabibreziame \x@float - paprasti float'ai + \expandafter\expandafter\expandafter\gdef\expandafter + \csname\number\@currbox @float\endcsname{\thispagestyle{#1}}\relax + } +%% Modify |\x@float| - ordinary floats \def\@xfloat #1[#2]{% \@nodocument \def \@captype {#1}% @@ -106,7 +100,7 @@ \advance \@tempcnta \@tempcntb \global \count\@currbox \@tempcnta \expandafter\expandafter\expandafter\gdef\expandafter - \csname\number\@currbox @float\endcsname{\at@float@page}\relax + \csname\number\@currbox @float\endcsname{\at@float@page}\relax }% \@fltovf \fi @@ -117,47 +111,55 @@ \hsize\columnwidth \@parboxrestore \@floatboxreset -}% -% -% 2e rotating.sty v. 2.10: + } +%% 2e rotating.sty v. 2.10: \def\e@xrotfloat#1[#2]{% \@float{#1}[#2]% \thisfloatpagestyle{\@r@f@pagestyle}% \begin{lrbox}\rot@float@box \begin{minipage}\textheight - } - -% 2.09 rotating.sty v. 1.6 -\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 -}% -% -% Tikrinam, kokia rotating versija: 2e ar 209: -% 1999.02.08 Tikriname dokumento pradzioje, t.y. neaisku -% kada rotating stilius buvo pakrautas: + } +%% 2.09 rotating.sty v. 1.6 +\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 + } +%% Check for |rotating| version: 2e ar 209: +%% 1999.02.08 To be sure check at begin document. \AtBeginDocument{% \@ifpackageloaded{rotating}% {\let\@xrotfloat\e@xrotfloat\let\n@xrotfloat\relax}% {\let\@xrotfloat\n@xrotfloat\let\e@xrotfloat\relax}}% -% -%% "Kablys" output proceduroje ivykdantis komanda -\def\spec@float #1{\expandafter\csname\number#1@float\endcsname - \expandafter\expandafter\expandafter\gdef\expandafter\csname\number#1@float\endcsname{}} - -\def\@vtryfc #1{% +%% "Hook" in the output procedure. +\def\spec@float#1{\expandafter\csname\number#1@float\endcsname + \expandafter\expandafter\expandafter\gdef\expandafter\csname\number#1@float\endcsname{}% + } +\def\@vtryfc#1{% \global\setbox\@outputbox\vbox{}% \let\@elt\@wtryfc \@flsucceed @@ -167,9 +169,12 @@ \vskip \@fptop \vskip -\@fpsep \unvbox \@outputbox - \vskip \@fpbot}% + \vskip \@fpbot + }% \let\@elt\relax - \xdef #1{\@failedlist\@flfail}% - \xdef\@freelist{\@freelist\@flsucceed}} - + \xdef#1{\@failedlist\@flfail}% + \xdef\@freelist{\@freelist\@flsucceed}% + } \endinput +%% +%% End of file `floatpag.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/flushend.sty b/Master/texmf-dist/tex/latex/sttools/flushend.sty index 83e3186a6c6..486986bd6e2 100644 --- a/Master/texmf-dist/tex/latex/sttools/flushend.sty +++ b/Master/texmf-dist/tex/latex/sttools/flushend.sty @@ -1,49 +1,30 @@ -%% flushend.sty -%% Copyright 1997 Sigitas Tolu\v sis +%% +%% This is file `flushend.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% flushend.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Balanced columns on last page in twocolumn mode. -% -% SHORT DESCRIPTION: -% -% \flushend (loaded by default) -% --------- -% Switches on column balancing at last page -% -% \raggedend -% ---------- -% Switches off column balancing at last page -% -% \atColsBreak={#1} -% ------------------ -% Adds #1 in place of original column break (without balancing) -% Example: \atColsBreak{\vskip-2pt} -% -% \showcolsendrule -% ---------------- -% Adds rule to the bottom of columns (just for debugging) -% -% P.S. To stretch right column by #1 add command \vskip-#1 just before -% command \end{document}. -% TO shrink right column by #1 add command \vskip#1 just before -% command \end{document}. -% Example: \vskip-10pt -% \end{document} -% -% \changes{1997/05/16}{first version} -% \changes{1997/09/09}{support for compatibility with cuted.sty} -% \changes{1997/10/01}{\vipersep changed to \stripsep for compatibility with cuted.sty} -% +%% PURPOSE: Balanced columns on last page in twocolumn mode. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{flushend} + [2012/05/29 v1.1 Balancing columns at last page] \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{flushend}[1997/10/01] -% \newbox\@aaa \newbox\@ccc \@ifundefined{@viper}{\newbox\@viper}{} @@ -61,56 +42,78 @@ \@tempdima\ht\@leftcolumn \splittopskip\topskip\splitmaxdepth\maxdepth \setbox\@tempboxa\vbox{% - \unvbox\@leftcolumn\setbox0\lastbox\unskip% - \the\atColsBreak% - \unvbox\@outputbox\setbox0\lastbox\unskip}% - \@tempdimb .5\ht\@tempboxa% - \loop - \setbox\@aaa\copy\@tempboxa% - \setbox\@ccc\vbox to\@tempdimb{% - \vsplit\@aaa to\@tempdimb\vss\vsplit\@aaa to\@tempdimb}% - \wlog{Extra height:\the\ht\@aaa\space when \the\@tempdimb}% - \ifvoid\@aaa \else \advance\@tempdimb 1pt \repeat% - \loop - \setbox\@aaa\copy\@tempboxa% - \setbox\@ccc\vbox to\@tempdimb{% - \vsplit\@aaa to\@tempdimb\vss}% - \wlog{(2)Left:\the\ht\@ccc\space Right:\the\ht\@aaa\space Output:\the\@tempdimb}% - \ifdim \ht\@ccc<\ht\@aaa \@tempdimb \the\ht\@aaa \repeat% - \wlog{- LAST -^^JExtra skip:\the\@extra@skip^^JLeft:\the\ht\@ccc^^JRight:\the\ht\@aaa^^JOutput:\the\@tempdimb}% - \setbox\@ccc\vbox to\@tempdimb{% - \vsplit\@tempboxa to\@tempdimb\vss}% - \setbox\@leftcolumn\vbox to\@tempdima{% - \vbox to\@tempdimb{\unvbox\@ccc}% - \hrule\@height\@nd@page@rule% - \vss}% - \setbox\@outputbox\vbox to\@tempdima{% - \vbox to\@tempdimb{\unvbox\@tempboxa\vfilneg\vskip\@extra@skip}% - \hrule\@height\@nd@page@rule% - \vss}% - \setbox\@outputbox \vbox {% - \hb@xt@\textwidth {% - \hb@xt@\columnwidth {% - \box\@leftcolumn \hss}% - \hfil - \vrule \@width\columnseprule - \hfil - \hb@xt@\columnwidth {% - \box\@outputbox \hss}% - }% - }% + \unvbox\@leftcolumn\setbox0\lastbox\unskip + \the\atColsBreak + \unvbox\@outputbox\setbox0\lastbox\unskip + }% + \@tempdimb .5\ht\@tempboxa + \loop + \setbox\@aaa\copy\@tempboxa + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@aaa to\@tempdimb + \vss + \vsplit\@aaa to\@tempdimb + }% + \wlog{Extra height:\the\ht\@aaa\space when \the\@tempdimb}% + \ifvoid\@aaa + \else + \advance\@tempdimb 1\p@ + \repeat + \loop + \setbox\@aaa\copy\@tempboxa + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@aaa to\@tempdimb + \vss + }% + \wlog{(2)Left:\the\ht\@ccc\space + Right:\the\ht\@aaa\space + Output:\the\@tempdimb + }% + \ifdim \ht\@ccc<\ht\@aaa + \@tempdimb \the\ht\@aaa + \repeat + \wlog{- LAST -^^JExtra skip:\the\@extra@skip + ^^JLeft:\the\ht\@ccc + ^^JRight:\the\ht\@aaa + ^^JOutput:\the\@tempdimb + }% + \setbox\@ccc\vbox to\@tempdimb{% + \vsplit\@tempboxa to\@tempdimb + \vss + }% + \setbox\@leftcolumn\vbox to\@tempdima{% + \vbox to\@tempdimb{\unvbox\@ccc}% + \hrule\@height\@nd@page@rule + \vss + }% + \setbox\@outputbox\vbox to\@tempdima{% + \vbox to\@tempdimb{% + \unvbox\@tempboxa + \vfilneg + \vskip\@extra@skip + }% + \hrule\@height\@nd@page@rule + \vss + }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {\box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\box\@outputbox \hss}% + }% + }% \else - \setbox\@outputbox \vbox {% - \hb@xt@\textwidth {% - \hb@xt@\columnwidth {% - \box\@leftcolumn \hss}% - \hfil - \vrule \@width\columnseprule - \hfil - \hb@xt@\columnwidth {% - \box\@outputbox \hss}% - }% - }% + \setbox\@outputbox \vbox {% + \hb@xt@\textwidth {% + \hb@xt@\columnwidth {\box\@leftcolumn \hss}% + \hfil + \vrule \@width\columnseprule + \hfil + \hb@xt@\columnwidth {\box\@outputbox \hss}% + }% + }% \fi \ifvoid\hold@viper \else @@ -122,20 +125,34 @@ \@dblfloatplacement \@startdblcolumn \@whilesw\if@fcolmade \fi - {\@outputpage - \@startdblcolumn}% + {\@outputpage \@startdblcolumn}% \ifvoid\@viper \else \global\setbox\@viper\vbox{% - \vskip-\stripsep\unvbox\@viper}\@viperoutput + \vskip-\stripsep + \unvbox\@viper + }% + \@viperoutput \fi \endgroup \fi } \let\prev@enddocument\enddocument \newif\if@lastpage \@lastpagefalse -\def\enddocument{\global\@lastpagetrue\let\@outputdblcol\last@outputdblcol\prev@enddocument} +\def\enddocument{% + \global\@lastpagetrue + \let\@outputdblcol\last@outputdblcol + \prev@enddocument + } \def\raggedend{\global\let\enddocument\prev@enddocument} -\def\flushend{\gdef\enddocument{\global\@lastpagetrue\let\@outputdblcol\last@outputdblcol\prev@enddocument}} +\def\flushend{% + \gdef\enddocument{% + \global\@lastpagetrue + \let\@outputdblcol\last@outputdblcol + \prev@enddocument + }% + } \def\showcolsendrule{\global\@nd@page@rule=.4pt} \endinput +%% +%% End of file `flushend.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/marginal.sty b/Master/texmf-dist/tex/latex/sttools/marginal.sty index 58b2fb373ce..40378958876 100644 --- a/Master/texmf-dist/tex/latex/sttools/marginal.sty +++ b/Master/texmf-dist/tex/latex/sttools/marginal.sty @@ -1,53 +1,54 @@ -%% marginal.sty -%% Copyright 1997 Sigitas Tolu\v sis +%% +%% This is file `marginal.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% marginal.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. +%% +%% PURPOSE: Enlarge free and show lost marginal inserts. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Enlarge free and show lost marginal inserts -% -% SHORT DESCRIPTION: -% -% \showlostmarginals -% ------------------ -% Outputs lost marginal notes at the left of page -% -% \enlargefreelist -% ---------------- -% Adds more(34) free inserts to freelist -% -% \onesidemarginals -% ----------------- -% Outputs marginal notes only on one side. It saves one half -% of the available free inserts. -% -\ProvidesPackage{marginal}[1997/04/01] -% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{marginal} + [2012/05/29 v1.1 Enlarge free and show lost marginal inserts] \newif\if@mparlost \@mparlostfalse -% \newbox\@mparlostbox \setbox\@mparlostbox\vbox{} -% -\gdef\@fltovfpar{\global\@mparlosttrue% - \@latex@warning{Too many unprocessed (marginal)floats}\relax} +\gdef\@fltovfpar{\global\@mparlosttrue + \@latex@warning{Too many unprocessed (marginal)floats}\relax + } \gdef\@fltovfmess{% - \@latex@error{Too many unprocessed floats}\@ehb} -% -\def\marginpar{\ifhmode \@bsphack\@floatpenalty -\@Mii\else - \@floatpenalty-\@Miii\fi\ifinner - \@parmoderr\@floatpenalty\z@ - \else\@next\@currbox\@freelist{}{}\@next\@marbox\@freelist{\global - \count\@marbox\m@ne}{\@floatpenalty\z@ \@fltovfmess - \def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}\fi - \@ifnextchar [\@xmpar\@ympar} -% -\long\def \@savemarbox #1#2{% - \global\setbox #1% + \@latex@error{Too many unprocessed floats}\@ehb + } +\def\marginpar{% + \ifhmode + \@bsphack\@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist{}{}% + \@next\@marbox\@freelist{\global\count\@marbox\m@ne}{\@floatpenalty\z@ + \@fltovfmess \def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}% + \fi + \@ifnextchar[\@xmpar\@ympar + } +\long\def\@savemarbox#1#2{% + \global\setbox#1% \color@vbox \vtop{% \hsize\marginparwidth @@ -57,75 +58,48 @@ \global\@minipagefalse \outer@nobreak }% - \color@endbox% - \if@mparlost\global\setbox\@mparlostbox\vbox{\unvbox\@mparlostbox\copy#1}% - \global\@mparlostfalse\fi -} -% -% \showlostmarginals - outputs lost marginal notes at the left of the page -% + \color@endbox + \if@mparlost + \global\setbox\@mparlostbox\vbox{\unvbox\@mparlostbox\copy#1}% + \global\@mparlostfalse + \fi + } \def\showlostmarginals{% \global\let\old@textbottom\@textbottom - \gdef\@textbottom{\vtop to\z@{\hbox to\z@{\kern-\wd\@mparlostbox\vbox - to\z@{\kern-\ht\@mparlostbox\box\@mparlostbox\vfill}}}\old@textbottom}% - \global\let\@fltovfmess\@fltovfpar} -% -% \enlargefreelist - Adds more(34) free inserts to freelist -% + \gdef\@textbottom{% + \vtop to\z@{% + \hbox to\z@{\kern-\wd\@mparlostbox + \vbox to\z@{\kern-\ht\@mparlostbox + \box\@mparlostbox + \vfill + }% + }% + }% + \old@textbottom + }% + \global\let\@fltovfmess\@fltovfpar + } \def\enlargefreelist{% -\newinsert\bx@S -\newinsert\bx@T -\newinsert\bx@U -\newinsert\bx@V -\newinsert\bx@W -\newinsert\bx@X -\newinsert\bx@Y -\newinsert\bx@Z -\newinsert\bx@a -\newinsert\bx@b -\newinsert\bx@c -\newinsert\bx@d -\newinsert\bx@e -\newinsert\bx@f -\newinsert\bx@g -\newinsert\bx@h -\newinsert\bx@i -\newinsert\bx@j -\newinsert\bx@k -\newinsert\bx@l -\newinsert\bx@m -\newinsert\bx@n -\newinsert\bx@o -\newinsert\bx@p -\newinsert\bx@q -\newinsert\bx@r -\newinsert\bx@s -\newinsert\bx@t -\newinsert\bx@u -\newinsert\bx@v -\newinsert\bx@w -\newinsert\bx@x -\newinsert\bx@y -\newinsert\bx@z -\gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E - \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J - \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N - \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R - \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V - \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z - \@elt\bx@a\@elt\bx@b\@elt\bx@c\@elt\bx@d\@elt\bx@e - \@elt\bx@f\@elt\bx@g\@elt\bx@h\@elt\bx@i\@elt\bx@j - \@elt\bx@k\@elt\bx@l\@elt\bx@m\@elt\bx@n - \@elt\bx@o\@elt\bx@p\@elt\bx@q\@elt\bx@r - \@elt\bx@s\@elt\bx@t\@elt\bx@u\@elt\bx@v - \@elt\bx@w\@elt\bx@x\@elt\bx@y\@elt\bx@z}% -} -% -% \onesidemarginals - outputs marginals only on one side -% + \@for\curr@option:={S,T,U,W,X,Y,Z,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}% + \do{\expandafter\newinsert\csname bx@\curr@option\endcsname}% + \gdef\@freelist{% + \@elt\bx@A \@elt\bx@B \@elt\bx@C \@elt\bx@D \@elt\bx@E \@elt\bx@F + \@elt\bx@G \@elt\bx@H \@elt\bx@I \@elt\bx@J \@elt\bx@K \@elt\bx@L + \@elt\bx@M \@elt\bx@N \@elt\bx@O \@elt\bx@P \@elt\bx@Q \@elt\bx@R + \@elt\bx@S \@elt\bx@T \@elt\bx@U \@elt\bx@V \@elt\bx@W \@elt\bx@X + \@elt\bx@Y \@elt\bx@Z + \@elt\bx@a \@elt\bx@b \@elt\bx@c \@elt\bx@d \@elt\bx@e \@elt\bx@f + \@elt\bx@g \@elt\bx@h \@elt\bx@i \@elt\bx@j \@elt\bx@k \@elt\bx@l + \@elt\bx@m \@elt\bx@n \@elt\bx@o \@elt\bx@p \@elt\bx@q \@elt\bx@r + \@elt\bx@s \@elt\bx@t \@elt\bx@u \@elt\bx@v \@elt\bx@w \@elt\bx@x + \@elt\bx@y \@elt\bx@z + }% + }% +%% \onesidemarginals - outputs marginals only on one side \def\onesidemarginals{% -\newbox\@marbox -\gdef\@addmarginpar{\@cons\@freelist\@currbox + \newbox\@marbox + \gdef\@addmarginpar{\@cons\@freelist\@currbox \@tempdima\@mparbottom \advance\@tempdima -\@pageht \advance\@tempdima\ht\@currbox @@ -139,9 +113,8 @@ \global\advance\@mparbottom\dp\@currbox \global\advance\@mparbottom\marginparpush \advance\@tempdima -\ht\@currbox - \global\setbox \@currbox - \vbox {\vskip \@tempdima - \box \@currbox}% + \global\setbox\@currbox + \vbox {\vskip\@tempdima \box\@currbox}% \global \ht\@currbox \z@ \global \dp\@currbox \z@ \kern -\@pagedp @@ -149,23 +122,33 @@ \hb@xt@\columnwidth {\hskip\columnwidth \hskip\marginparsep \box\@currbox \hss}% \nointerlineskip - \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}}% -% -\gdef\marginpar{\ifhmode \@bsphack\@floatpenalty -\@Mii\else - \@floatpenalty-\@Miii\fi\ifinner\@parmoderr\@floatpenalty\z@ - \else\@next\@currbox\@freelist{\global - \count\@currbox\m@ne}{\@floatpenalty\z@ \@fltovfmess - \def\@currbox{\@tempboxa}}\fi - \@ifnextchar [\@xmpar\@ympar}% -% -\long\gdef\@xmpar[##1]##2{\@savemarbox\@currbox{##2}\@xympar}% -\long\gdef\@ympar##1{\@savemarbox\@currbox{##1}\@xympar}% -\def \@xympar{% -% \ifnum\@floatpenalty <\z@\@cons\@currlist\@marbox\fi - \setbox\@tempboxa - \color@vbox - \vbox \bgroup - \end@float - \global \@ignorefalse \@esphack}% -} + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}% + }% + \gdef\marginpar{% + \ifhmode + \@bsphack\@floatpenalty -\@Mii + \else + \@floatpenalty-\@Miii + \fi + \ifinner + \@parmoderr\@floatpenalty\z@ + \else + \@next\@currbox\@freelist{\global\count\@currbox\m@ne}{\@floatpenalty\z@ + \@fltovfmess \def\@currbox{\@tempboxa}}% + \fi + \@ifnextchar[\@xmpar\@ympar + }% + \long\gdef\@xmpar[##1]##2{\@savemarbox\@currbox{##2}\@xympar}% + \long\gdef\@ympar##1{\@savemarbox\@currbox{##1}\@xympar}% + \def\@xympar{% + \ifnum\@floatpenalty<\z@ \@cons\@currlist\@marbox \fi + \setbox\@tempboxa + \color@vbox + \vbox\bgroup + \end@float + \global\@ignorefalse \@esphack + }% + } \endinput +%% +%% End of file `marginal.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/midfloat.sty b/Master/texmf-dist/tex/latex/sttools/midfloat.sty index d9d11129ee7..93f6248a549 100644 --- a/Master/texmf-dist/tex/latex/sttools/midfloat.sty +++ b/Master/texmf-dist/tex/latex/sttools/midfloat.sty @@ -1,72 +1,55 @@ -%% midfloat.sty -%% Copyright 1997 Sigitas Tolu\v sis +%% +%% This is file `midfloat.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% midfloat.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. +%% +%% PURPOSE: Insert some material in full-width on double-column page. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Insert some material in full-width on double-column page. -% -% SHORT DESCRIPTION: -% -% It is denoted to place some material (from the left column) -% in full-width at any place (but not at the top) on double-column -% page (\twocolumn mode). Existing text remains as it was before -% insert. Placement is restricted to one page. (It is some kind of -% dbfloat intext). -% -% Provides new environment: -% -% \begin{strip}[#1/#2] ... \end{strip} -% ----------------------------- -% -% Puts \vbox{...} in full-width on double-column page. -% Parameters #1 and #2 are optional. -% By default #1=0pt and #2=0pt. -% The material on the right column under strip is stretched down -% by #1 and below strip is moved down by #2. -% -% It can be problems with floats and footnotes. In the case of -% problems with footnotes it is possible to correct the situation -% using commands \footnotemark and \footnotetext. -% -% \changes{1997/10/01}{some names} -% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{midfloat} + [2012/05/29 v1.1 Insert some material in full-width on double-column page] \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{midfloat}[1997/10/01] -% \newif\if@vihproof \@vihprooftrue -\newtoks\juo@sar \juo@sar={} -\def\@ca#1#2#3#4{} -\@ifundefined{stripsep}{\newskip\stripsep\stripsep 15pt}{} -% -\newskip\m@addvipersep -\m@addvipersep\z@ -\newskip\c@addvipersep -\c@addvipersep\z@ +\newtoks\juo@sar \juo@sar={} +\@ifundefined{stripsep}{\newskip\stripsep \stripsep 15\p@}{} +\newskip\m@addvipersep \m@addvipersep\z@ +\newskip\c@addvipersep \c@addvipersep\z@ \newdimen\ht@strip \newdimen\right@cor -\newdimen\cor@height \cor@height=0pt +\newdimen\cor@height \cor@height=\z@ \newdimen\juo@pr \newdimen\juo@ht -\newbox\@viper -\newcount\juo@sk \newdimen\c@colht +\newbox\@viper \newbox\@rightcolumn - -\def\add@strip#1#2#3#4{\begingroup% - \xdef\ex@{\global\noexpand\juo@sar{\the\juo@sar\noexpand\@ca{#1}{#2}{#3}{#4}}}\ex@% -\endgroup} - +\newcount\juo@sk +\def\@ca#1#2#3#4{} +\def\add@strip#1#2#3#4{% + \begingroup + \xdef\ex@{\global\noexpand\juo@sar{\the\juo@sar\noexpand\@ca{#1}{#2}{#3}{#4}}}% + \ex@ + \endgroup + } \def\remove@strip#1{\ifx#1\@empty\global\juo@sk=0\else \global\advance\juo@sk by-1\expandafter\next@item\the #1\@@#1\fi} \def\next@item \@ca #1#2#3#4#5\@@#6{\global #6={#5}\global\juo@pr=#1\global\juo@ht=#2% \global\cor@height=#3\global\m@addvipersep=#4} - \def\strip{\@ifnextsymb[{\@strip}{\@strip[0pt/0pt]}} \def\@strip[#1/#2]{\global\@tempdima=#1\global\@tempdimb=#2% \global \setbox\@viper\vbox\bgroup% @@ -148,7 +131,7 @@ \global\advance\@colht by -\ht\@rightcolumn \global\advance\@colht by\cor@height \global\cor@height=0pt - \else + \else \global\advance\c@colht by-\ht\@rightcolumn \global\@colht\c@colht \fi @@ -184,7 +167,6 @@ \fi \fi } - \def \@cflt{% \let \@elt \@comflelt \setbox\@tempboxa \vbox{}% @@ -206,7 +188,6 @@ \xdef\@freelist{\@freelist\@toplist}% \global\let\@toplist\@empty } - \def\@ifnextsymb#1#2#3{% \let\reserved@d=#1% \def\reserved@a{#2}\def\reserved@b{#3}% @@ -222,5 +203,7 @@ \fi \fi \reserved@c} - +%% \endinput +%% +%% End of file `midfloat.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/stabular.sty b/Master/texmf-dist/tex/latex/sttools/stabular.sty index a408878b419..4342182a174 100644 --- a/Master/texmf-dist/tex/latex/sttools/stabular.sty +++ b/Master/texmf-dist/tex/latex/sttools/stabular.sty @@ -1,44 +1,43 @@ -%% stabular.sty -%% Copyright 1998 Sigitas Tolu\v sis +%% +%% This is file `stabular.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% stabular.dtx (with options: `package') +%% +%% Copyright (C) 1998-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Improve tabular environment. -% -% SHORT DESCRIPTION: -% -% Changed internal commands: \@mkpream, \@addamp, \@xhline -% -% Provides new commands in tabular (used after command \\): -% \emptyrow[#1] -% ------------- -% Adds empty row, #1 - height of the row -% -% \tabrow{#1}[#2] -% --------------- -% Adds row of natural height: #1\\[#2] -% -% Provides new environments: stabular and stabular* -% -------- --------- -% One more multi-page version of tabular -% +%% PURPOSE: Improve tabular environment. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{stabular} + [2012/05/29 v1.1 Improve tabular environment] \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{stabular}[1998/03/19] -% \def\empty@finalstrut#1{% - \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\z@} -\def\no@strut{\global\setbox\@arstrutbox\hbox{% + \unskip + \ifhmode\nobreak\fi + \vrule\@width\z@\@height\z@\@depth\z@ + } +\def\no@strut{% + \global\setbox\@arstrutbox\hbox{% \vrule \@height\z@ \@depth\z@ - \@width\z@}% - \gdef\@endpbox{\empty@finalstrut\@arstrutbox\par\egroup\hfil}% -}% + \@width\z@ + }% + \gdef\@endpbox{\empty@finalstrut\@arstrutbox\par\egroup\hfil}% + }% \def\yes@strut{\global\setbox\@arstrutbox\hbox{% \vrule \@height\arraystretch \ht\strutbox \@depth\arraystretch \dp\strutbox @@ -48,8 +47,10 @@ \def\@mkpream#1{\@firstamptrue\@lastchclass6 \let\@preamble\@empty\def\empty@preamble{\add@ins}% \let\protect\@unexpandable@protect - \let\@sharp\relax\let\add@ins\relax - \let\@startpbox\relax\let\@endpbox\relax + \let\@sharp\relax + \let\add@ins\relax + \let\@startpbox\relax + \let\@endpbox\relax \@expast{#1}% \expandafter\@tfor \expandafter \@nextchar \expandafter:\expandafter=\reserved@a\do @@ -57,7 +58,8 @@ \ifcase \@chclass \@classz \or \@classi \or \@classii \or \@classiii \or \@classiv \or\@classv \fi\@lastchclass\@chclass}% \ifcase \@lastchclass \@acol - \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi} + \or \or \@preamerr \@ne\or \@preamerr \tw@\or \or \@acol \fi + } \def\@addamp{% \if@firstamp \@firstampfalse @@ -65,52 +67,78 @@ \else \edef\@preamble{\@preamble &}% \edef\empty@preamble{\expandafter\noexpand\empty@preamble &\add@ins}% - \fi} + \fi + } \newif\iftw@hlines \tw@hlinesfalse -\def\@xhline{\ifx\reserved@a\hline - \tw@hlinestrue - \else\ifx\reserved@a\Hline - \tw@hlinestrue - \else - \tw@hlinesfalse - \fi\fi - \iftw@hlines - \aftergroup\do@after - \fi - \ifnum0=`{\fi}% -} +\def\@xhline{% + \ifx\reserved@a\hline + \tw@hlinestrue + \else + \ifx\reserved@a\Hline + \tw@hlinestrue + \else + \tw@hlinesfalse + \fi + \fi + \iftw@hlines + \aftergroup\do@after + \fi + \ifnum0=`{\fi}% + } \def\do@after{\emptyrow[\the\doublerulesep]} -\def\emptyrow{\noalign\bgroup\@ifnextchar[\@emptyrow{\@emptyrow[\z@]}} -\def\@emptyrow[#1]{\no@strut\gdef\add@ins{\vrule \@height\z@ \@depth#1 \@width\z@}\egroup% -\empty@preamble\\ -\noalign{\yes@strut\gdef\add@ins{\vrule \@height\z@ \@depth\z@ \@width\z@}}% -} -\def\tabrow#1{\noalign\bgroup\@ifnextchar[{\@tabrow{#1}}{\@tabrow{#1}[]}} -\def\@tabrow#1[#2]{\no@strut\egroup#1\ifx.#2.\\\else\\[#2]\fi\noalign{\yes@strut}} -% -\def\endstabular{\crcr\egroup\egroup \egroup} -\expandafter \let \csname endstabular*\endcsname = \endstabular +\def\emptyrow{\noalign\bgroup + \@ifnextchar[\@emptyrow{\@emptyrow[\z@]}% + } +\def\@emptyrow[#1]{% + \no@strut + \gdef\add@ins{\vrule \@height\z@ \@depth#1 \@width\z@}% + \egroup + \empty@preamble\\ + \noalign{% + \yes@strut + \gdef\add@ins{\vrule \@height\z@ \@depth\z@ \@width\z@}% + }% + } +\def\tabrow#1{\noalign\bgroup + \@ifnextchar[{\@tabrow{#1}}{\@tabrow{#1}[]}% + } +\def\@tabrow#1[#2]{\no@strut\egroup + #1\ifx.#2.\\\else\\[#2]\fi + \noalign{\yes@strut}% + } +\def\endstabular{\crcr\egroup\egroup\egroup} +\expandafter\let\csname endstabular*\endcsname\endstabular \def\stabular{\let\@halignto\@empty\@stabular} \@namedef{stabular*}#1{\def\@halignto{to#1}\@stabular} -\def\@stabular{\leavevmode \bgroup \let\@acol\@tabacol - \let\@classz\@tabclassz - \let\@classiv\@tabclassiv \let\\\@tabularcr\@stabarray} +\def\@stabular{\leavevmode + \bgroup + \let\@acol\@tabacol + \let\@classz\@tabclassz + \let\@classiv\@tabclassiv + \let\\\@tabularcr + \@stabarray + } \def\@stabarray{\m@th\@ifnextchar[\@sarray{\@sarray[c]}} \def\@sarray[#1]#2{% \bgroup - \setbox\@arstrutbox\hbox{% - \vrule \@height\arraystretch\ht\strutbox - \@depth\arraystretch \dp\strutbox - \@width\z@}% + \setbox\@arstrutbox\hbox{% + \vrule \@height\arraystretch\ht\strutbox + \@depth\arraystretch \dp\strutbox + \@width\z@ + }% \@mkpream{#2}% \edef\@preamble{% \ialign \noexpand\@halignto - \bgroup \@arstrut \@preamble \tabskip\z@skip \cr}% + \bgroup \@arstrut \@preamble \tabskip\z@skip \cr + }% \let\@startpbox\@@startpbox \let\@endpbox\@@endpbox - \let\tabularnewline\\% -% \let\par\@empty - \let\@sharp##% - \set@typeset@protect - \lineskip\z@skip\baselineskip\z@skip - \@preamble} + \let\tabularnewline\\ + \let\par\@empty + \let\@sharp##% + \set@typeset@protect + \lineskip\z@skip \baselineskip\z@skip + \@preamble + } \endinput +%% +%% End of file `stabular.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/stfloats.sty b/Master/texmf-dist/tex/latex/sttools/stfloats.sty index e13649e473d..d45913665ad 100644 --- a/Master/texmf-dist/tex/latex/sttools/stfloats.sty +++ b/Master/texmf-dist/tex/latex/sttools/stfloats.sty @@ -1,64 +1,33 @@ -%% stfloats.sty -%% Copyright 1997, 1999 Sigitas Tolu\v sis +%% +%% This is file `stfloats.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% stfloats.dtx (with options: `package') +%% +%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Improve float mechanism and baselineskip settings -% -% SHORT DESCRIPTION: -% -% (It is rewritten version of stkernel package) -% -% Provides new commands: -% -% \dblfloatsatbottom, \dblfloatsattop (removed!) -% ----------------------------------- -% Use instead optional parameters [b] and [t] -% for dblfloat environments (default = [tbp]). -% -% \fnbelowfloat -% ------------- -% Puts footnotes below the bottom floats -% -% \fnunderfloat (default and standard) -% ------------- -% Puts footnotes under the bottom floats -% -% \setbaselinefloat -% ----------------- -% Allows baselineskip to stretch and shrink if \baselineskip -% is set with command \@setfontsize. -% Example: \@setfontsize\normalsize\@xpt{12pt plus .1pt minus .1pt}% -% -% \setbaselinefixed (default and standard) -% Disables baselineskip to stretch and shrink even if \baselineskip -% is set with command \@setfontsize. -% Example: \@setfontsize\normalsize\@xpt{12pt plus .1pt minus .1pt}% -% -% Allows to use optional parameters [t] or [b] for dblfloats. -% -% \changes{1997/08/25}{first version} -% \changes{1997/09/10}{standard LaTeX2e macros are used for dblfloats at top} -% \changes{1997/10/01}{new commands: \fnbelowfloat and \fnunderfloat} -% \changes{1998/09/21}{new commands: \setbaselinefloat and \setbaselinefixed} -% \changes{1999/10/04}{changed dblfloat's output} -% \changes{1999/10/22}{changed \output for older LaTeX distributions} -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{stfloats}[1999/10/22] - +%% PURPOSE: Improve float mechanism and baselineskip settings +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{stfloats} + [2012/05/29 v1.1 Improve float mechanism and baselineskip settings] \gdef\@dblbotlist{} \newcount\@dblbotnum \newcount\c@dblbotnumber \setcounter{dblbotnumber}{2} \def\@dbflt#1{\@ifnextchar[{\@xdblfloat{#1}}{\@xdblfloat{#1}[tbp]}} - \def \@dblfloatplacement {% \global \@dbltopnum \c@dbltopnumber \global \@dblbotnum \c@dblbotnumber @@ -69,9 +38,7 @@ \@fptop \@dblfptop \@fpsep \@dblfpsep \@fpbot \@dblfpbot -} - - + } \def\@addtodblcol{% \begingroup \@insertfalse @@ -154,13 +121,11 @@ \fi \fi \endgroup -} - + } \def\@combinedblfloats{% - \ifx \@dbltoplist\@empty \else \@cdblflt \fi - \ifx \@dblbotlist\@empty \else \@cdblflb \fi -} - + \ifx \@dbltoplist\@empty \else \@cdblflt \fi + \ifx \@dblbotlist\@empty \else \@cdblflb \fi + } \def\@cdblflt{% \setbox\@tempboxa \vbox{}% \let \@elt \@comdblflelt @@ -178,7 +143,6 @@ \unvbox \@outputbox }% } - \def\@cdblflb{% \setbox\@tempboxa \vbox{}% \let \@elt \@comdblflelt @@ -197,9 +161,11 @@ \vskip -\dblfloatsep }% } - \def \@doclearpage {% \ifvoid\footins + \ifvbox\@kludgeins + {\setbox \@tempboxa \box \@kludgeins}% + \fi \setbox\@tempboxa\vsplit\@cclv to\z@ \unvbox\@tempboxa \setbox\@tempboxa\box\@cclv \xdef\@deferlist{\@toplist\@botlist\@deferlist}% @@ -234,10 +200,11 @@ \@makecol\@opcol \clearpage \fi -} + } \global\let\org@makecol\@makecol \gdef \fn@makecol {% - \setbox\@outputbox \box\@cclv + \setbox\@outputbox \box\@cclv + \let\@elt\relax \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats @@ -266,10 +233,9 @@ }% \fi \global \maxdepth \@maxdepth -} + } \def\fnbelowfloat{\global\let\@makecol\fn@makecol} \def\fnunderfloat{\global\let\@makecol\org@makecol} - \def\set@floatfontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% @@ -277,7 +243,7 @@ \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread - \def\size@update{% + \def\size@update{% \baselineskip\f@baselineskip \@tempskipa\baselineskip\relax\baselineskip=1\baselineskip \advance\@tempskipa by-\baselineskip\baselineskip\f@baselineskip @@ -293,34 +259,11 @@ } \let\set@@@fontsize\set@fontsize \def\setbaselinefloat{\let\set@fontsize\set@floatfontsize} -\def\setbaselinefixed{\@tempdima=\baselinestretch\p@ - \edef\baselinestretch{\strip@pt\@tempdima}\let\set@fontsize\set@@@fontsize} -\output {% - \let \par \@@par - \ifnum \outputpenalty<-\@M - \@specialoutput - \else - \@makecol - \@opcol - \@startcolumn - \@whilesw \if@fcolmade \fi - {% - \@opcol\@startcolumn}% - \fi - \ifnum \outputpenalty>-\@Miv - \ifdim \@colroom<1.5\baselineskip - \ifdim \@colroom<\textheight - \@latex@warning@no@line {Text page \thepage\space - contains only floats}% - \@emptycol - \else - \global \vsize \@colroom - \fi - \else - \global \vsize \@colroom - \fi - \else - \global \vsize \maxdimen - \fi -} +\def\setbaselinefixed{% + \@tempdima=\baselinestretch\p@ + \edef\baselinestretch{\strip@pt\@tempdima}% + \let\set@fontsize\set@@@fontsize + } \endinput +%% +%% End of file `stfloats.sty'. diff --git a/Master/texmf-dist/tex/latex/sttools/texsort.sty b/Master/texmf-dist/tex/latex/sttools/texsort.sty index ff54e804ffb..a78fe40bed4 100644 --- a/Master/texmf-dist/tex/latex/sttools/texsort.sty +++ b/Master/texmf-dist/tex/latex/sttools/texsort.sty @@ -1,118 +1,79 @@ -%% texsort.sty -%% Copyright 2000 Sigitas Tolu\v sis +%% +%% This is file `texsort.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% texsort.dtx (with options: `package') +%% +%% Copyright (C) 2000-2012 by Sigitas Tolu\v{s}is %% VTeX Ltd., Akademijos 4, Vilnius, Lithuania -%% e-mail sigitas@vtex.lt %% 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. %% -% This program can redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or (at your option) any later version. -% -% PURPOSE: Sort/compress numerical lists -% -% SHORT DESCRIPTION: -% -% \initarray#1#2 -% -------------- -% Converts list #2 to array #1 -% -% \outarray#1\sep#2 -% ----------------- -% Outputs array #1 elements separated by #2 -% -% \getarrayitem#1#2\to#3 -% ---------------------- -% Gets #2'th element from array #1 to \csname#3\endcsname -% -% \setarrayitem#1#2#3 -% ------------------- -% Sets #2'th element from array #1 to numeric value #3 -% -% \getarraylenght#1 -% ----------------- -% Gets array #1 elements count -% -% \setarraylenght#1 -% ----------------- -% Sets array #1 elements count to value #2 -% -% \upheap#1#2; \insertheapelem#1#2; \downheap#1#2; \removetop#1\to#2 -% ------------------------------------------------------------------ -% Internal macros of sort algorithm -% -% \g@addto@macrobeg#1#2 -% --------------------- -% Adds defs #2 to macro #1 begining -% -% \add@zero#1 -% ----------- -% Adds 0 before #1 -% -% \sortlistarray#1\to#2 -% --------------------- -% Sorts array #1 to array #2 -% -% \sortlist#1\to#2\sep#3 -% ---------------------- -% Sorts list #1 and puts to macro #2; elements separated by #3 -% -% \compresslist#1\to#2\sep#3#4 -% ---------------------------- -% Compress list #1 and puts to macro #2; -% single elements separated by #3, multi by #4 -% -% Changes: -% \changes{2000/06/06}{alfa version} -% \changes{2000/06/08}{added compression} -% +%% PURPOSE: Sort/compress numerical lists +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{texsort} + [2012/05/29 v1.1 Sort/compress alphanumerical list] \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texsort}[2000/06/08] -% +\ProvidesPackage{texsort}[2012/05/29] \newcount\t@mp@r@a \newcount\t@mp@r@b \newcount\t@mp@r@c - \def\initarray#1#2{% \bgroup \@tempcnta=\z@ \@for\@@refb:=#2\do{% \advance\@tempcnta by\@ne \bgroup - \setbox0\hbox{\expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero\@@refb\relax}% - \ifdim\wd0>\z@\relax\@latex@warning{Negrynas skaicius \@@refb!}\fi - \expandafter\edef\csname @a@\endcsname{\expandafter\xdef\expandafter - \noexpand\csname#1@\the\@tempcnta\endcsname{\the\t@mp@r@a}}\@a@ + \setbox\z@\hbox{% + \expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero\@@refb\relax + }% + \ifdim\wd0>\z@\relax + \@latex@warning{Not number \@@refb!}% + \fi + \expandafter\edef\csname @a@\endcsname{\expandafter\xdef\expandafter + \noexpand\csname#1@\the\@tempcnta\endcsname{\the\t@mp@r@a}}\@a@ \egroup }% \expandafter\xdef\csname #1@lenght\endcsname{\the\@tempcnta}% \egroup -} + } \def\outarray#1\sep#2{% \bgroup \@tempcnta=\z@\relax \@tempcntb=\getarraylenght{#1}% \loop - \ifnum\@tempcnta<\@tempcntb - \advance\@tempcnta by1\relax - \ifnum\@tempcnta>1\relax#2\fi\csname#1@\the\@tempcnta\endcsname + \ifnum\@tempcnta<\@tempcntb + \advance\@tempcnta by\@ne\relax + \ifnum\@tempcnta>\@ne\relax#2\fi + \csname#1@\the\@tempcnta\endcsname \repeat \egroup -} + } \def\add@zero#1{0#1} \def\getarrayitem#1#2\to#3{\expandafter\xdef\csname#3\endcsname{\csname#1@#2\endcsname}} \def\setarrayitem#1#2#3{% \bgroup - \setbox0\hbox{\expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero#3\relax}% - \ifdim\wd0>\z@\relax\@latex@warning{Negrynas skaicius #3!}\fi - \expandafter\edef\csname @a@\endcsname{\expandafter\xdef\expandafter - \noexpand\csname#1@#2\endcsname{\the\t@mp@r@a}}\@a@ + \setbox0\hbox{% + \expandafter\global\expandafter\t@mp@r@a\expandafter\add@zero#3\relax + }% + \ifdim\wd0>\z@\relax + \@latex@warning{Not number #3!}% + \fi + \expandafter\xdef\csname#1@#2\endcsname{\the\t@mp@r@a}% \egroup -} + } \def\getarraylenght#1{\@ifundefined{#1@lenght}{0}{\csname #1@lenght\endcsname}} \def\setarraylenght#1#2{\expandafter\xdef\csname #1@lenght\endcsname{#2}} - -%#1 - masyvas, #2 - elemento nr. \def\upheap#1#2{% \bgroup \getarrayitem{#1}{#2}\to{vara}% @@ -121,27 +82,24 @@ \loop \@tempcnta=\@tempcntb \divide\@tempcnta by2\getarrayitem{#1}{\the\@tempcnta}\to{varb}% - \ifnum\varb>\vara\relax\else + \ifnum\varb>\vara\relax + \else \getarrayitem{#1}{\the\@tempcnta}\to{varb}% \setarrayitem{#1}{\the\@tempcntb}{\varb}% \divide\@tempcntb by2\relax \repeat \setarrayitem{#1}{\the\@tempcntb}{\vara}% \egroup -} - -%#1 - masyvas, #2 - dedama reiksme + } \def\insertheapelem#1#2{% - \bgroup + \bgroup \@tempcnta=\getarraylenght{#1}\relax \advance\@tempcnta by1\relax \setarraylenght{#1}{\the\@tempcnta}\relax \setarrayitem{#1}{\the\@tempcnta}{#2}% \upheap{#1}{\the\@tempcnta}% \egroup -} - -%#1 - masyvas, #2 - elemento nr. + } \newcount\@tempcntd \def\downheap#1#2{% \bgroup @@ -151,9 +109,10 @@ \divide\@tempcntb by2\relax \t@mp@r@b=\@tempcntb\relax \@tempcntb=#2\relax - \ifnum\@tempcntb>\t@mp@r@b\relax\else + \ifnum\@tempcntb>\t@mp@r@b\relax + \else \loop - \@tempcnta=\@tempcntb\advance\@tempcnta by\@tempcntb\relax + \@tempcnta=\@tempcntb \advance\@tempcnta by\@tempcntb\relax \@tempcntd=\@tempcnta \advance\@tempcntd by1\relax \ifnum\@tempcnta<\t@mp@r@c\relax \getarrayitem{#1}{\the\@tempcnta}\to{temp@@a}% @@ -176,7 +135,7 @@ \fi \setarrayitem{#1}{\the\@tempcntb}{\vara}% \egroup -} + } \def\removetop#1\to#2{% \bgroup @@ -190,46 +149,48 @@ \setarraylenght{#1}{\the\@tempcnta}% \downheap{#1}{1}% \egroup -} + } \long\def\g@addto@macrobeg#1#2{% \begingroup \def\@a@{#2}% \toks@\expandafter\expandafter\expandafter{\expandafter\@a@#1}% \xdef#1{\the\toks@}% - \endgroup} - + \endgroup + } \def\sortlistarray#1\to#2{% \bgroup \@for\@@refb:=#1\do{% \insertheapelem{@tempa@}{\@@refb}% - }% + }% \@tempcntb=\getarraylenght{@tempa@}% \setarraylenght{#2}{\the\@tempcntb}% \@for\@@refb:=#1\do{% \removetop{@tempa@}\to{aka}% \setarrayitem{#2}{\the\@tempcntb}{\aka}% \advance\@tempcntb by-1\relax - }% + }% \egroup -} + } \def\sortlist#1\to#2\sep#3{% \bgroup \@for\@@refb:=#1\do{% \insertheapelem{@tempa@}{\@@refb}% - }% + }% \@tempcntb=\getarraylenght{@tempa@}% \expandafter\def\csname#2\endcsname{}% \expandafter\def\expandafter\@a@\expandafter{\csname#2\endcsname}% \@for\@@refb:=#1\do{% \removetop{@tempa@}\to{aka}% \advance\@tempcntb by-1\relax - \expandafter\expandafter\expandafter\g@addto@macrobeg\expandafter\@a@\expandafter{\aka}% + \expandafter\expandafter\expandafter + \g@addto@macrobeg\expandafter\@a@\expandafter{\aka}% \ifnum\@tempcntb>0\relax - \expandafter\expandafter\expandafter\g@addto@macrobeg\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macrobeg\expandafter\@a@\expandafter{#3}% \fi - }% + }% \egroup -} + } \def\compresslist#1\to#2\sep#3#4{% \bgroup \expandafter\def\csname#2\endcsname{}% @@ -241,12 +202,15 @@ \t@mp@r@a=\@@refb\relax \t@mp@r@b=\@@refb\relax \t@mp@r@c=\@@refb\relax - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@a}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@a}% \else \t@mp@r@c=\@@refb\relax \ifnum\t@mp@r@c=\t@mp@r@a\relax - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#3}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% \t@mp@r@b=\t@mp@r@c\relax \else \@tempcnta=\t@mp@r@b\relax @@ -257,33 +221,46 @@ \@tempcnta=\t@mp@r@a\relax \advance\@tempcnta by-\t@mp@r@b\relax \ifnum\@tempcnta<-1\relax - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#4}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#3}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#4}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% \else \ifnum\t@mp@r@a<\t@mp@r@b - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#3}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@b}% \fi - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#3}% - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% \fi \t@mp@r@a=\t@mp@r@c\relax \t@mp@r@b=\t@mp@r@c\relax \fi \fi \fi - }% + }% \ifnum\t@mp@r@a<\t@mp@r@c\relax \advance\t@mp@r@a by-\t@mp@r@c\relax \ifnum\t@mp@r@a<-1\relax - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#4}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#4}% \else - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{#3}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{#3}% \fi - \expandafter\expandafter\expandafter\g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% + \expandafter\expandafter\expandafter + \g@addto@macro\expandafter\@a@\expandafter{\the\t@mp@r@c}% \fi \egroup -} + } \endinput +%% +%% End of file `texsort.sty'. diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo index c22b76f40f3..8efc1d78f56 100755 --- a/Master/tlpkg/bin/tlpkginfo +++ b/Master/tlpkg/bin/tlpkginfo @@ -17,7 +17,8 @@ sub main { # erroneous or problematic tds files (when new, tell RobinF and author) $erroneous_tds = join ("|", - qw(countriesofeurope engpron gost hacm he-she imtekda spanish titleps), + qw(countriesofeurope engpron gost hacm he-she imtekda spanish + sttools titleps), ); # Heiko's tds files (don't propagate through CTAN fast enough). diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index c4e91bbd128..4707cbafe36 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2379,7 +2379,6 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot' 'ptptex' => '(overcite|cite|wrapfig).sty', # duplicated 'sapthesis' => '.*-ML.*\.pdf', # univ logos 'stix' => 'STIX_Font_Release_Documentation_2010.pdf', # no source - 'sttools' => 'presfull.pdf', # no source 'stubs' => 'stubs.pdf', # no source 'susy' => 'susy.pdf', # no source 'swimgraf' => 'swimgraf.pdf', # no source -- cgit v1.2.3