summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/count1to
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-06-15 03:02:35 +0000
committerNorbert Preining <norbert@preining.info>2024-06-15 03:02:35 +0000
commitf422849e68378eca23042a2f30eee3f7a8ee9a2d (patch)
tree30c5e19444d2e7b8c121d4d85b450869b6f7d8f3 /macros/latex/contrib/count1to
parent3cf00b20fd698b149023e04e31498836f2c7fffe (diff)
CTAN sync 202406150302
Diffstat (limited to 'macros/latex/contrib/count1to')
-rw-r--r--macros/latex/contrib/count1to/README.md28
-rw-r--r--macros/latex/contrib/count1to/count1to.dtx475
-rw-r--r--macros/latex/contrib/count1to/count1to.ins47
-rw-r--r--macros/latex/contrib/count1to/count1to.pdfbin0 -> 552995 bytes
4 files changed, 550 insertions, 0 deletions
diff --git a/macros/latex/contrib/count1to/README.md b/macros/latex/contrib/count1to/README.md
new file mode 100644
index 0000000000..ac3bfc11de
--- /dev/null
+++ b/macros/latex/contrib/count1to/README.md
@@ -0,0 +1,28 @@
+# The LaTeX package `count1to`
+
+Copyright (C) 1995–2009 Martin Schröder
+
+count1to 2024-06-13 v2.11 Count1to LaTeX Package
+
+This is the original release of Count1to. The new upload has only been done to split the ms-bundle.
+
+The current maintainer of this package is Marei Peischl <marei@peitex.de>
+
+***************************************************************************
+
+ This material is subject to the LaTeX Project Public License version 1.3c
+ or later. See http://www.latex-project.org/lppl.txt for details.
+
+***************************************************************************
+
+## Provided files
+
+* README.md
+* count1to.dtx
+* count1to.ins
+
+The files
+* count1to.sty
+* count1to.drv
+can be generated from the count1to.dtx by processing the count1to.ins-file.
+
diff --git a/macros/latex/contrib/count1to/count1to.dtx b/macros/latex/contrib/count1to/count1to.dtx
new file mode 100644
index 0000000000..8dba871174
--- /dev/null
+++ b/macros/latex/contrib/count1to/count1to.dtx
@@ -0,0 +1,475 @@
+%% \iffalse meta-comment
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Copyright (C) Martin Schröder, 1994–2009
+% Marei Peischl (peiTeX) <marei@peitex.de>, 2024
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% 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.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+% This package is maintained but will not receive any additional features.
+%
+% The Current Maintainer of this work is
+% Marei Peischl <marei@peitex.de>.
+%
+% This work consists of the files
+% README.md
+% count1to.dtx
+% count1to.ins
+% and the derived file
+% count1to.sty.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+% \iffalse
+\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{count1to}
+%<package> [2024-06-13 v2.11 Count1to9 Package (MS)]
+%
+%<*driver>
+\ProvidesFile{count1to.drv}
+ [2024-06-13 v2.111 Driver for Count1to9 Package]
+\documentclass[a4paper]{ltxdoc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{microtype}
+\usepackage{booktabs}
+\usepackage{url}
+\usepackage{count1to}
+\usepackage[toc]{multitoc}
+\makeatletter
+\IfFileExists{gitHeadInfo.gin}{
+ \newcommand*{\GI@githeadinfo@file}{gitHeadInfo.gin}
+}{}
+\makeatother
+\usepackage{gitinfo2}
+\usepackage{hypdoc}
+\usepackage{geometry}
+\GetFileInfo{count1to.sty}
+\setcounter{IndexColumns}{2}
+% onecolumn glossary
+\makeatletter
+ \renewenvironment{theglossary}{%
+ \glossary@prologue
+ \setlength\emergencystretch{5em}
+ \GlossaryParms \let\item\@idxitem \ignorespaces}{}
+\makeatother
+\EnableCrossrefs
+\RecordChanges
+%%\DisableCrossrefs% Say \DisableCrossrefs if index is ready
+\CodelineIndex % Index code by line number
+%\OnlyDescription % comment out for implementation details
+%%\OldMakeIndex % use if your MakeIndex is pre-v2.9
+\setcounter{IndexColumns}{2}
+\setlength{\IndexMin}{30ex}
+\setlength{\premulticols}{\IndexMin}
+\addtolength{\oddsidemargin}{1cm}
+\addtolength{\textwidth}{-1cm}
+\begin{document}
+ \DocInput{count1to.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v1.00}{1994/12/07}{New}
+% \changes{v1.01}{1994/12/09}{Documentation improved}
+% \changes{v1.02}{1996/12/29}{Documentation improved}
+% \changes{v1.20}{1998/08/09}{Documentation improved}
+% \changes{v1.22}{1999/06/08}{Moved to LPPL}
+% \changes{v2.00}{2002/08/31}{Removed \texttt{TotalPages}}
+% \changes{v2.1}{2009/05/24}{New address}
+% \changes{v2.11}{2024-06-13}{Maintainer changed + removed from ms bundle + move to git}
+%
+% \newcommand*{\Count}[1]{\texttt{\symbol{92}count#1}}
+% \newcommand*{\package}[1]{\textnormal{\sffamily#1}}
+% \newcommand*{\NEWfeature}[1]{%
+% \hskip 1sp \marginpar{\small\sffamily\raggedright
+% New feature\\#1}}
+%
+% ^^A -----------------------------
+%
+% \changes{v1.03}{1997-03-09}{Fixed use of \cs{newline} in title.}
+% \title{\unskip
+% The \package{count1to} package^^A
+% \thanks{^^A
+% The version number of this file is \fileversion,
+% revision~\#\gitAbbrevHash, last revised \protect\gitAuthorIsoDate.\protect\newline
+% The name \textsf{count1to} is a tribute to the $8+3$ file-naming
+% convention of certain ancient ``operating systems''; strictly
+% speaking it should be \textsf{count1to9}.}
+% }
+% \changes{v2.00}{2002/08/31}{Changed e-mail}
+% \author{Martin Schröder\\
+% \url{https://gitlab.com/TeXhackse/count1to}\thanks{maintained by Marei Peischl}}
+% \date{\filedate}
+% \maketitle
+%
+% ^^A -----------------------------
+%
+%
+% \begin{abstract}
+% This package sets \Count{1} to \Count{8} with the values
+% of \texttt{page} to \texttt{subparagraph}.
+% \Count{9} is used to flag odd pages.
+% The values of these counters are displayed and written in the
+% \textsf{.dvi} file by \TeX{} and can later be used to select
+% the pages of certain parts of the document for printing if the
+% device driver supports this.
+% \end{abstract}
+%
+% \pagestyle{headings}
+%
+% ^^A -----------------------------
+%
+% \tableofcontents
+%
+% ^^A -----------------------------
+%
+% \section{Introduction to version 2}
+% ^^A
+% The main change of this new version is the removal of the code for
+% the \texttt{TotalPages} label.
+% This code didn't work with the \package{hyperref}
+% package\cite{package:hyperref} and better code to achieve the
+% effect of it is contained in the \package{totpages}
+% package\cite{package:totpages}.
+% So old documents using this package will not work when they try to
+% use the \texttt{TotalPages} label; these documents must be changed
+% by inserting a \cs{usepackage\{totpages\}} in the preamble and
+% replacing all occurences of \texttt{TotalPages} by
+% \texttt{TotPages}.
+%
+% ^^A -----------------------------
+%
+% \section{Introduction}
+% ^^A
+% Most of the time users want to print only certain parts of a
+% document; but these can only be selected by using the page numbers
+% of these parts with most device drivers.
+% This can be dif\/ficult or impossible if pages in dif\/ferent
+% parts of the document have the same number---e.\,g. in the
+% frontmatter and the first text pages (iii vs. 3).
+%
+% \TeX{} provides an easy solution to this problem: whenever a page
+% is completed by the output routine and shipped out via
+% \cs{shipout}, it displayes the values of \Count{0} to \Count{9}
+% on the display (e.\,g. \texttt{[1]}) \emph{and writes them to the
+% \textsf{.dvi} file}.
+%
+% \changes{v1.02}{1996/12/29}{fixed typos}
+% \begin{quote}
+% ``The first ten \Count{} registers, \Count{0} to \Count{9},
+% are reserved for a special purpose: \TeX{} displays these ten
+% counts on your terminal whenever ouputting a page, and it
+% transmits them to the output file as an identification of that
+% page.
+% The counts are separated by decimal points on your terminal,
+% with trailing `\texttt{.0}' patterns suppressed.
+% Thus, for example, if \Count{0=5} and \Count{2=7} when a
+% page is shipped out to the \texttt{dvi} file, and if the other
+% counters are zero, \TeX{} will type `\texttt{[5.0.7]}'.
+% Plain \TeX{} uses \Count{0} for the page number, and it keeps
+% \Count{1} through~\Count{9} equal to zero; that is why you
+% see `\texttt{[1]}' when page~1 is being output.
+% In more complex applications the page numbers can have further
+% structure; ten counts are shipped out so that there will be
+% plenty of identification.''\cite[p\@. 119]{KnuthTeXa}
+% \end{quote}
+%
+% \noindent
+% Surprinsingly, until recently there existed no package for
+% \LaTeX{} that used these \Count{}ers although some drivers allow
+% the selection of pages based on other \Count{}s then \Count{0}
+% (e.\,g. em\TeX).
+%
+% This package is the solution: It used the \package{everyshi}
+% package\cite{package:everyshi} to set \Count{1} to \Count{9} before
+% each \cs{shipout} with these values. Today it is using the kernel's shipout hooks \cite{texdoc:ltshipout}.
+%
+% \begin{center}
+% \begin{tabular}{cl}\toprule
+% \Count{} & value \\ \midrule
+% 0 & relative page number (set by \LaTeX)\\
+% 1 & absolute page number\\
+% 2 & number of current \cs{part} \\
+% 3 & number of current \cs{chapter} (0 with article class)\\
+% 4 & number of current \cs{section} \\
+% 5 & number of current \cs{subsection} \\
+% 6 & number of current \cs{subsubsection} \\
+% 7 & number of current \cs{paragraph} \\
+% 8 & number of current \cs{subparagraph} \\
+% 9 & 1 on odd pages, 0 on even pages\footnotemark\\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+% \footnotetext{^^A
+% If you have a better application for \Count{9}, let me know.}
+%
+% \noindent
+% \textsf{count1to} also works with classes that do not define some
+% or all of the sectioning commands and their counters, like
+% \textsf{letter}.
+% Although it is of somewhat little use then \texttt{:-)}.
+%
+% A note for users of this package: When you select the pages of
+% some part of your document with a lower structure than
+% \cs{chapter}, remember that only \cs{part}s and \cs{chapter}s
+% start on a new page; if you want to print a complete
+% \cs{section}, you should also select the first page of the next
+% \cs{section}.
+% Also note that \TeX{} ships out the values of the counters instead
+% of their visual representation (produced with
+% \cs{the}\emph{counter}), so appendix A sets \Count{4} to 1 in the
+% article class.
+%
+% A note for developers of device drivers: Please add support for
+% \Count{1} to~\texttt{9} to your programs.
+% It would also be nice if users could easily select the next
+% page(s) after a certain count (something like
+% ``\texttt{*.*.*.*.2+1.*}'' should be possible for selecting all
+% pages with $\Count{4}\mapsto\mathrm{section}=2$ plus the first
+% page of section~3).
+%
+% ^^A -----------------------------
+%
+% \section{Options}
+% ^^A
+% The package has no options.
+%
+%
+% ^^A -----------------------------
+%
+% \section{Required packages}
+% ^^A
+% With \LaTeX2e{} releases newer than 2020/10/01 this package does not require any other package.
+%
+%
+% ^^A -----------------------------
+%
+% \StopEventually{^^A
+%
+% ^^A -----------------------------
+%
+% \section{Acknowledgements}
+% ^^A
+% As usual Rebecca Stiels improved the quality of this documentation.
+%
+%
+% ^^A -----------------------------
+%
+% \begin{thebibliography}{1}
+% \raggedright
+% \bibitem{package:lastpage}
+% Jeff Goldberg.
+% \newblock The \package{lastpage}-package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/other/lastpage}.
+% \newblock \LaTeXe{} package.
+% \bibitem{KnuthTeXa}
+% Donald~E.\ Knuth.
+% \newblock \emph{The {\TeX}Book}, volume~A of \emph{Computers
+% and Typesetting}.
+% \newblock Addison-Wes\-ley, 1986.
+% \newblock Eleventh printing, revised, May 1991.
+% \bibitem{package:totpages}
+% Wilhelm M\"uller.
+% \newblock The \package{totpages} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/totpages/}.
+% \newblock \LaTeXe{} package.
+% \bibitem{package:hyperref}
+% Sebastian Rahtz.
+% \newblock Hypertext marks in \LaTeX.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/hyperref/}.
+% \bibitem{package:everyshi}
+% Martin Schröder.
+% \newblock The \package{everyshi} package.
+% \newblock \url{CTAN: tex-archive/macros/latex/contrib/supported/ms/everyshi.dtx}.
+% \newblock \LaTeXe{} package.
+% \bibitem{texdoc:ltshipout}
+% \newblock Frank Mittelbach, \LaTeX{} Project Team.
+% \newblock The ltshipout documentation.
+% \newblock \url{https://mirrors.ctan.org/macros/latex/base/ltshipout-doc.pdf}
+% \end{thebibliography}
+%
+% }
+%
+%
+% ^^A -----------------------------
+%
+% \section{The implementation}
+% ^^A
+% \setlength{\parindent}{0pt}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \changes{v1.20}{1998/04/10}{don't require \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{require \textsf{ifthen}}
+% \changes{v2.11}{2024-06-13}{\package{everyshi} is obsolete}
+%
+% We need various \cs{if}s to check if the used counters
+% are defined.
+% \changes{v1.20}{1998/04/10}{\cs{newif} again}
+% \changes{v1.10}{1997/11/01}{\cs{newboolean}}
+% \begin{macrocode}
+\newif\if@have@part
+\newif\if@have@chapter
+\newif\if@have@section
+\newif\if@have@subsection
+\newif\if@have@subsubsection
+\newif\if@have@paragraph
+\newif\if@have@subparagraph
+% \end{macrocode}
+%
+% \begin{macro}{\@countItoIX@ifs}
+% \cs{@countItoIX@ifs} is used to set all these \cs{if}s at
+% |\begin{document}|.
+% It is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{setboolean}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@ifs}{
+ \@ifundefined{c@part} {}{\@have@parttrue}
+ \@ifundefined{c@chapter} {}{\@have@chaptertrue}
+ \@ifundefined{c@section} {}{\@have@sectiontrue}
+ \@ifundefined{c@subsection} {}{\@have@subsectiontrue}
+ \@ifundefined{c@subsubsection} {}{\@have@subsubsectiontrue}
+ \@ifundefined{c@paragraph} {}{\@have@paragraphtrue}
+ \@ifundefined{c@subparagraph} {}{\@have@subparagraphtrue}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@bugfix}
+% The current version of \LaTeX{} has the ``feature'' that only the
+% first level of counters associated with a counter via the optional
+% argument of \cs{newcounter} is reset when the counter is stepped;
+% so when you start a new chapter, the number for the subsection is
+% not reset.
+% This is normally no problem, but with this package, it is: If this
+% bug is not fixed or worked-around, then whenever you use
+% \cs{subparagraph} or some other lower sectioning command, and
+% after that a sectioning command that is at least two levels higher
+% (e.\,g. \cs{subsubsection}), the value of \texttt{subparagraph}
+% would not be reset and would still be displayed and shipped out.
+% So we have to associate \emph{all} lower-level sectioning commands
+% with the higher levels.
+% This is done via \cs{@addtoreset} at \cs{begin\{document\}}.
+% \cs{@countItoIX@bugfix} is undefined after use to save some space.
+% \changes{v2.00}{2002/08/31}{moved code for \cs{AtBeginDocument} to
+% \cs{@countItoIX@init}}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \changes{v1.02}{1996/12/29}{destruct after usage}
+% \begin{macrocode}
+\newcommand*{\@countItoIX@bugfix}{
+ \if@have@part
+ \@addtoreset{section} {part}
+ \@addtoreset{subsection} {part}
+ \@addtoreset{subsubsection}{part}
+ \@addtoreset{paragraph} {part}
+ \@addtoreset{subparagraph} {part}
+ \fi
+ \if@have@chapter
+ \@addtoreset{subsection} {chapter}
+ \@addtoreset{subsubsection}{chapter}
+ \@addtoreset{paragraph} {chapter}
+ \@addtoreset{subparagraph} {chapter}
+ \fi
+ \if@have@section
+ \@addtoreset{subsubsection}{section}
+ \@addtoreset{paragraph} {section}
+ \@addtoreset{subparagraph} {section}
+ \fi
+ \if@have@subsection
+ \@addtoreset{paragraph} {subsection}
+ \@addtoreset{subparagraph} {subsection}
+ \fi
+ \if@have@subsubsection
+ \@addtoreset{subparagraph} {subsubsection}
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@countItoIX@init}
+% \changes{v2.00}{2002/08/31}{new}
+% \cs{@countItoIX@init} calls \cs{\@countItoIX@ifs} and
+% \cs{@countItoIX@bugfix} and then frees their memory.
+% This is done at \cs{begin\{document\}} via \cs{AtBeginDocument}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@init}{%
+ \message{ABD: Count1to9 initializing macros}%
+ \@countItoIX@ifs\let\@countItoIX@ifs\undefined
+ \@countItoIX@bugfix\let\@countItoIX@bugfix\undefined
+ }
+\AddToHook{begindocument}[count1to-init]{\@countItoIX@init}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@countItoIX@shipout}
+% \cs{@countItoIX@shipout} is used for setting \Count{1} to
+% \Count{9} at each \cs{shipout}.
+% \begin{macrocode}
+\newcommand*{\@countItoIX@shipout}{
+% \end{macrocode}
+% \Count{1} is the absolute page number, which we have to maintain
+% by ourselves.
+% \begin{macrocode}
+ \global\advance \count1 by 1
+% \end{macrocode}
+% \Count{2} to \Count{8} are set with the values of
+% \cs{part} to \cs{subparagraph}, if these commands are defined.^^A
+% \footnote{We should probably also check the value of
+% \texttt{secnumdepth}, but I don't think this is necessary.}
+% \changes{v1.20}{1998/04/10}{don't use \textsf{ifthen}}
+% \changes{v1.10}{1997/11/01}{\cs{ifthenelse}}
+% \begin{macrocode}
+ \if@have@part \count2\value{part} \fi
+ \if@have@chapter \count3\value{chapter} \fi
+ \if@have@section \count4\value{section} \fi
+ \if@have@subsection \count5\value{subsection} \fi
+ \if@have@subsubsection \count6\value{subsubsection} \fi
+ \if@have@paragraph \count7\value{paragraph} \fi
+ \if@have@subparagraph \count8\value{subparagraph} \fi
+% \end{macrocode}
+% \Count{9} is set to~1 on odd pages and to~0 on even pages.
+% \begin{macrocode}
+ \ifodd\count1\count9=1 \else\count9=0 \fi
+ }
+% \end{macrocode}
+% \changes{v2.11}{2024-06-13}{Remove everyshi but add compatibility mode}
+% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{
+ \AddToHook{shipout/before}[count1to-shipout]{\@countItoIX@shipout}
+}{
+ \RequirePackage{everyshi}
+ \EveryShipount{\@countItoIX@shipout}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% ^^A -----------------------------
+%
+% \Finale
+%
+% \PrintIndex\PrintChanges
+% ^^A Make sure that the index is not printed twice
+% ^^A (ltxdoc.cfg might have a second \PrintIndex command)
+% \let\PrintChanges\relax
+% \let\PrintIndex\relax
diff --git a/macros/latex/contrib/count1to/count1to.ins b/macros/latex/contrib/count1to/count1to.ins
new file mode 100644
index 0000000000..8dccfd0487
--- /dev/null
+++ b/macros/latex/contrib/count1to/count1to.ins
@@ -0,0 +1,47 @@
+\input docstrip.tex
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{count1to.ins}
+ [2024-06-13 v2.11 Installation script for Count1to9 Package]
+
+\preamble
+
+Copyright (c) 1994–2009 Martin Schröder, 2024 Marei Peischl (peiTeX) <marei@peitex.de>
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3c
+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.3c 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
+ Marei Peischl <marei@peitex.de>.
+
+This work consists of the files count1to.dtx and count1to.ins
+and the derived file count1to.sty.
+
+\endpreamble
+\keepsilent
+\askforoverwritefalse
+\generate{%
+ \file{count1to.sty}{\from{count1to.dtx}{package}}
+}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* style files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space count1to.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file count1to.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+\endbatchfile
+%%
+%% End of file `count1to.ins'.
diff --git a/macros/latex/contrib/count1to/count1to.pdf b/macros/latex/contrib/count1to/count1to.pdf
new file mode 100644
index 0000000000..73f4923e9b
--- /dev/null
+++ b/macros/latex/contrib/count1to/count1to.pdf
Binary files differ