diff options
author | Norbert Preining <norbert@preining.info> | 2024-06-15 03:02:35 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-06-15 03:02:35 +0000 |
commit | f422849e68378eca23042a2f30eee3f7a8ee9a2d (patch) | |
tree | 30c5e19444d2e7b8c121d4d85b450869b6f7d8f3 /macros/latex/contrib/count1to | |
parent | 3cf00b20fd698b149023e04e31498836f2c7fffe (diff) |
CTAN sync 202406150302
Diffstat (limited to 'macros/latex/contrib/count1to')
-rw-r--r-- | macros/latex/contrib/count1to/README.md | 28 | ||||
-rw-r--r-- | macros/latex/contrib/count1to/count1to.dtx | 475 | ||||
-rw-r--r-- | macros/latex/contrib/count1to/count1to.ins | 47 | ||||
-rw-r--r-- | macros/latex/contrib/count1to/count1to.pdf | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000000..73f4923e9b --- /dev/null +++ b/macros/latex/contrib/count1to/count1to.pdf |