summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/counttexruns
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/counttexruns
Initial commit
Diffstat (limited to 'macros/latex/contrib/counttexruns')
-rw-r--r--macros/latex/contrib/counttexruns/README37
-rw-r--r--macros/latex/contrib/counttexruns/counttexruns.dtx212
-rw-r--r--macros/latex/contrib/counttexruns/counttexruns.ins23
-rw-r--r--macros/latex/contrib/counttexruns/counttexruns.pdfbin0 -> 231467 bytes
4 files changed, 272 insertions, 0 deletions
diff --git a/macros/latex/contrib/counttexruns/README b/macros/latex/contrib/counttexruns/README
new file mode 100644
index 0000000000..8f6745463b
--- /dev/null
+++ b/macros/latex/contrib/counttexruns/README
@@ -0,0 +1,37 @@
+LaTeX package 'counttexruns'
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Copyright (C) 2012 by Robin Schneider <ypid23@aol.de>
+
+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.
+
+CTAN: http://www.ctan.org/pkg/counttexruns
+Code repository: https://github.com/ypid/latex-packages/counttexruns
+
+
+ DESCRIPTION
+The counttexruns package counts how often a LaTeX document is compiled.
+
+From a statistical perspective you maybe want to know how often you compiled a
+document. This is exactly the task I wrote this package for. For a few years I
+used a bash script and -shell-escape to do this but I decided to write this
+small package to do the trick a little nicer.
+
+To print the count you can use the macro \thecounttexruns.
+
+
+ GENERATING THE FILES
+You can generate the counttexruns.sty file with: pdflatex counttexruns.ins
+
+The documentation can be generated with:
+pdflatex counttexruns.dtx
+makeindex -s gglo.ist -o counttexruns.gls counttexruns.glo
+makeindex -s gind counttexruns
+pdflatex counttexruns.dtx
+thumbpdf counttexruns
+pdflatex counttexruns.dtx
diff --git a/macros/latex/contrib/counttexruns/counttexruns.dtx b/macros/latex/contrib/counttexruns/counttexruns.dtx
new file mode 100644
index 0000000000..fbf7d23dd6
--- /dev/null
+++ b/macros/latex/contrib/counttexruns/counttexruns.dtx
@@ -0,0 +1,212 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2012 by Robin Schneider <ypid23@aol.de>
+%
+% 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 Robin Schneider.
+%
+% This work consists of the files counttexruns.dtx and counttexruns.ins
+% and the derived filebase counttexruns.sty.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{counttexruns.dtx}
+%</driver>
+%<package>%% See file 'counttexruns.dtx' for copyright and licence.
+%<package>\NeedsTeXFormat{LaTeX2e}[1998/12/01]
+%<package>\ProvidesPackage{counttexruns}
+%<*package>
+ [2012/08/31 v1.00a Count compilations of a document]
+%</package>
+%
+%<*driver>
+\documentclass[english]{ltxdoc}
+\newcommand{\PackageURL}{https://github.com/ypid/latex-packages/tree/master/counttexruns}
+\newcommand{\PackageCTANURL}{http://www.ctan.org/pkg/counttexruns}
+\newcommand{\PackageAuthor}{Robin Schneider}
+\newcommand{\PackageAuthorEmail}{ypid23@aol.de}
+\newcommand{\PackageName}{\PrintPackage{count\TeX runs}}
+\newcommand{\PrintPackage}[1]{\textsf{#1}}
+\usepackage{counttexruns}
+\usepackage{
+ babel,
+ csquotes,
+ xcolor,
+ url,
+ hypdoc,
+ ifthen,
+}
+\GetFileInfo{counttexruns.dtx}
+\hypersetup{
+ pdftitle={A manual for \PackageName},
+ pdfauthor={\PackageAuthor{} <\PackageAuthorEmail>},
+ pdfsubject={\fileinfo},
+ baseurl={\PackageURL},
+ pdfkeywords={This document corresponds to \PackageName~\fileversion,
+ dated \filedate}
+}
+
+\title{The \PackageName{} package\thanks{This document
+corresponds to \PackageName~\fileversion, dated \filedate.}}
+\author{\PackageAuthor \\
+ \texttt{\href{mailto:\PackageAuthorEmail?subject=LaTeX package counttexruns}%
+ {\PackageAuthorEmail}%
+ }%
+}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{counttexruns.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{52}
+%
+% \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{1.00}{2012/08/27}{Initial version}
+% \changes{1.00a}{2012/08/31}{Minor details fixed}
+%
+% \DoNotIndex{\RequirePackage, \DeclareOption, \ProcessOptions}
+% \DoNotIndex{\PackageWarning, \MessageBreak}
+% \DoNotIndex{\DeclareStringOption, \ProcessLocalKeyvalOptions}
+% \DoNotIndex{\DeclareRobustCommand, \newcommand, \renewcommand}
+% \DoNotIndex{\newenvironment}
+% \DoNotIndex{\if, \else, \fi, \ifcase, \or, \ifthenelse, \AND, \value, \relax}
+% \DoNotIndex{\%, \IfFileExists, \immediate, \arabic}
+%% ^^A \% is ignored ...
+% \DoNotIndex{\@currname, \newcounter, \setcounter}
+% \DoNotIndex{\endinput}
+%
+% \maketitle
+%
+% \phantomsection
+% \addcontentsline{toc}{section}{\abstractname}
+% \begin{abstract}
+% The \PackageName{} package counts how often a \LaTeX{} document is
+% compiled.\\
+% Location on CTAN: \url{\PackageCTANURL} \\
+% Fork me on GitHub: \url{\PackageURL} \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Introduction}
+% From a statistical perspective you maybe want to know how often you compiled
+% a document. This is exactly the task I wrote this package for. For a few
+% years I used a bash script and -shell-escape to do this but I decided to
+% write this small package to do the trick a little nicer.
+%
+% \section{Usage}
+% Just load the package placing
+% \begin{quote}
+% |\usepackage{counttexruns}|
+% \end{quote}
+% in the preamble of your \LaTeXe{} source file.
+%
+% The counter will be stored in a file with the same prefix as your document
+% (|\jobname|) but with the file extension \enquote{.ctr}. You can change the
+% default extension by setting it as package option like this:
+% \begin{quote}
+% |\usepackage[extension=ctr]{counttexruns}|
+% \end{quote}
+%
+% \DescribeMacro{\thecounttexruns}
+% To print the count you can use the macro |\thecounttexruns|. You can also use
+% and even change the \LaTeX{} counter \enquote{counttexruns}. This will not disturb
+% \PackageName.
+%
+% By the way this documentation was \thecounttexruns{}
+% time\ifthenelse{\equal{\value{counttexruns}}{1}}{}{s} compiled during
+% development.
+%
+% You can use the package \PrintPackage{ifthen} for checking if a counter is
+% one: \\ |time\ifthenelse{\equal{\value{counttexruns}}{1}}{}{s}|
+%
+%
+% \StopEventually{}
+%
+% \section{Implementation}
+% \iffalse
+%<*package>
+% \fi
+% \begin{macro}{\thecounttexruns}
+% First a new counter and file handle is declared.
+% The |\newcounter| will also declare the macro |\thecounttexruns|.
+% \begin{macrocode}
+\newcounter{counttexruns}
+\newwrite\@counttexrunsfile
+% \end{macrocode}
+% Then the package options are processed.
+% \begin{macrocode}
+\RequirePackage{kvoptions}
+\DeclareStringOption[ctr]{extension}
+\ProcessLocalKeyvalOptions*
+% \end{macrocode}
+% \end{macro}
+% Here it is checked if the file already exists and if that is the case the
+% number of compile events will be stored in the \LaTeX{} counter
+% \enquote{counttexruns}.
+% \begin{macrocode}
+\IfFileExists{\jobname.\counttexruns@extension}{
+ \immediate\openin\@counttexrunsfile=\jobname.\counttexruns@extension
+ \immediate\read\@counttexrunsfile to \@counttexruns
+ \immediate\read\@counttexrunsfile to \@counttexruns
+ \immediate\closein\@counttexrunsfile
+ \setcounter{counttexruns}{\@counttexruns}
+}{}
+% \end{macrocode}
+% Here the counter \enquote{counttexruns} is increment by one.
+% \begin{macrocode}
+\stepcounter{counttexruns}
+% \end{macrocode}
+% At this point the new count is written back to the file.
+% \begin{macrocode}
+\immediate\openout\@counttexrunsfile=\jobname.\counttexruns@extension
+\catcode`\%=11\relax
+\immediate\write\@counttexrunsfile{%% This file
+ '\jobname.\counttexruns@extension' was generated by the package counttexruns}
+\catcode`\%=14\relax
+\immediate\write\@counttexrunsfile{\arabic{counttexruns}}
+\immediate\closeout\@counttexrunsfile
+% \end{macrocode}
+% Well, thats is~\dots
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/counttexruns/counttexruns.ins b/macros/latex/contrib/counttexruns/counttexruns.ins
new file mode 100644
index 0000000000..30fd771eff
--- /dev/null
+++ b/macros/latex/contrib/counttexruns/counttexruns.ins
@@ -0,0 +1,23 @@
+%% See file 'counttexruns.dtx' for copyright and licence.
+\input docstrip.tex
+
+\keepsilent
+\usedir{tex/latex/counttexruns}
+\usepreamble\mypreamble
+\askforoverwritefalse
+\generate{\nopreamble\file{counttexruns.sty}{\from{counttexruns.dtx}{package}}}
+
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space counttexruns.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files}
+\Msg{* `counttexruns.dtx' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/counttexruns/counttexruns.pdf b/macros/latex/contrib/counttexruns/counttexruns.pdf
new file mode 100644
index 0000000000..0850bc06e5
--- /dev/null
+++ b/macros/latex/contrib/counttexruns/counttexruns.pdf
Binary files differ