diff options
author | Karl Berry <karl@freefriends.org> | 2016-08-11 21:44:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-08-11 21:44:36 +0000 |
commit | 72359d06a0dae6db49c037ae52498c5815eac0d1 (patch) | |
tree | 7c9707d0c26257a0808b9eb45b9351a43a8ffad8 /Master/texmf-dist/tex/latex/notespages | |
parent | 331998aa63cb82e63c8b2d1e0152a454d7cd027e (diff) |
notespages (11aug16)
git-svn-id: svn://tug.org/texlive/trunk@41839 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/notespages')
-rw-r--r-- | Master/texmf-dist/tex/latex/notespages/notespages.sty | 633 |
1 files changed, 633 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/notespages/notespages.sty b/Master/texmf-dist/tex/latex/notespages/notespages.sty new file mode 100644 index 00000000000..a0600451ce9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/notespages/notespages.sty @@ -0,0 +1,633 @@ +%% +%% This is file `notespages.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% notespages.dtx (with options: `package') +%% +%% Copyright 2016 Mike Kaufmann +%% m.km@gmx.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 Mike Kaufmann. +%% +%% This work consists of the files notespages.dtx and notespages.ins +%% and the derived files notespages.sty and np-test.tex. +%% +%% \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 \~} +%% +%% +\def\fileversion{0.8} +\def\filedate{2016/08/10} + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{notespages}[\filedate\space + v\fileversion\space filling documents, so the total number of pages + is a multiple of a given number] +\RequirePackage{xkeyval} +\newcommand*{\npnotesname}{Notes} +\newcommand*{\npnotestext}{This page is intentionally left blank.} +\newcommand*{\remainingtextheight}{} +\newdimen\remainingtextheight +\newcommand*{\notestitletext}{} +\newcommand*{\notesareatext}{} +\newcommand*{\np@startnotes}{} +\newcommand*{\np@pagestyle}{} +\newcommand*{\np@notesstyle}{} +\newcommand*{\np@titlestyle}{} +\newcommand*{\np@titleskip}{} +\newdimen\np@titleskip +\newcommand*{\np@notesalign}{} +\newcommand*{\np@mark}{} +\newcommand*{\np@marktext}{} +\newcommand*{\np@hparts}{} +\newcount\np@hparts +\newcommand*{\np@vparts}{} +\newcount\np@vparts +\newcommand*{\np@height}{} +\newdimen\np@height +\newcommand*{\np@width}{} +\newdimen\np@width +\newcommand*{\np@save@marks@tokens}{} +\newtoks\np@save@marks@tokens +\newcommand*{\ifnp@marktext@set}{} +\newif\ifnp@marktext@set\np@marktext@setfalse +\newcommand*{\ifnp@mark@new}{} +\newif\ifnp@mark@new\np@mark@newfalse +\newcommand*{\ifnp@std@class}{} +\newif\ifnp@std@class\np@std@classfalse +\@ifclassloaded{article}{\np@std@classtrue}{} +\@ifclassloaded{report}{\np@std@classtrue}{} +\@ifclassloaded{book}{\np@std@classtrue}{} +\@ifclassloaded{memoir}{\np@std@classtrue}{} +\newcommand*{\np@minpages}{} +\newcount\np@minpages +\newcommand*{\np@endpages}{} +\newcount\np@endpages +\newcommand*{\np@multiple}{} +\newcount\np@multiple +\newcommand*{\np@notepages}{} +\newcount\np@notepages +\newcommand*{\ifnp@started@on@new@page}{} +\newif\ifnp@started@on@new@page +\newcommand*{\np@fill@minspace}{} +\newdimen\np@fill@minspace +\newcommand*{\np@fill@maxspace}{} +\newdimen\np@fill@maxspace +\newcommand*{\np@fill@topskip}{} +\newdimen\np@fill@topskip +\newcommand*{\np@tempcnta}{} +\newcount\np@tempcnta +\newcommand*{\np@tempcntb}{} +\newcount\np@tempcntb +\newcommand*{\np@tempdima}{} +\newdimen\np@tempdima +\newcommand*{\np@tempa}{} +\newcommand*{\np@check@num@range}[4]{\relax + \ifnum#2<#3\relax + \PackageWarning{notespages}{% + Value for #1 to small, set to #3\MessageBreak}#2=#3\relax + \else\ifnum#2>#4\relax + \PackageWarning{notespages}{% + Value for #1 to large, set to #4\MessageBreak}#2=#4\relax + \fi\fi} +\newcommand*{\np@err@defined}[1]{% + \PackageError{notespages}% + {Key #1 is already defined.\MessageBreak}% + {The key #1 may have been defined by some other package\MessageBreak + or the NotesPages package was loaded twice.}} +\key@ifundefined{np}{startnotes}{}{\np@err@defined{startnotes}} +\define@choicekey{np}{startnotes}[\np@startnotes]% + {clearpage,newpage}[clearpage]{} +\key@ifundefined{np}{allowfloats}{}{\np@err@defined{allowfloats}} +\define@boolkey{np}{allowfloats}[true]{} +\key@ifundefined{np}{pagestyle}{}{\np@err@defined{pagestyle}} +\define@cmdkey{np}[np@]{pagestyle}[current]{% + \def\np@tempa{current}\ifx\np@tempa\np@pagestyle\else + \@ifundefined{ps@#1}{% + \PackageWarning{notespages}{% + `#1' is not a valid pagestyle, set to default\MessageBreak}% + \def\np@pagestyle{current}}{}\fi} +\key@ifundefined{np}{notesstyle}{}{\np@err@defined{notesstyle}} +\define@choicekey{np}{notesstyle}[\np@notesstyle]% + {plain,lines,vlines,grid,text}[grid]{} +\newcommand*{\np@notesstyle@nominations}{plain,lines,vlines,grid,text} +\newcommand*{\np@def@notesstyle@key}{} +\def\np@def@notesstyle@key#1\np@end{% + \define@choicekey{np}{notesstyle}[\np@notesstyle]{#1}[grid]{}} +\key@ifundefined{np}{titlestyle}{}{\np@err@defined{titlestyle}} +\@ifundefined{minisec}{% + \define@choicekey{np}{titlestyle}[\np@titlestyle]% + {none,text,section,subsection,subsubsection}[section]{}% + \newcommand*{\np@titlestyle@nominations}% + {none,text,section,subsection,subsubsection}}{% + \define@choicekey{np}{titlestyle}[\np@titlestyle]% + {none,text,section,subsection,subsubsection,minisec}[section]{}% + \newcommand*{\np@titlestyle@nominations}% + {none,text,section,subsection,subsubsection,minisec}} +\newcommand*{\np@def@titlestyle@key}{} +\def\np@def@titlestyle@key#1\np@end{% + \define@choicekey{np}{titlestyle}[\np@titlestyle]{#1}[section]{}} +\key@ifundefined{np}{titletext}{}{\np@err@defined{titletext}} +\define@key{np}{titletext}[\npnotesname]% + {\ifnp@marktext@set\else\def\np@marktext{#1}\fi + \def\notestitletext{#1}} +\key@ifundefined{np}{titleskip}{}{\np@err@defined{titleskip}} +\define@key{np}{titleskip}[0pt]{\np@titleskip=#1} +\key@ifundefined{np}{titlenotesfill}{}{\np@err@defined{titlenotesfill}} +\define@boolkey{np}{titlenotesfill}[true]{} +\key@ifundefined{np}{notestext}{}{\np@err@defined{notestext}} +\define@key{np}{notestext}[\npnotestext]{\def\notesareatext{#1}} +\key@ifundefined{np}{notestextalign}{}{\np@err@defined{notestextalign}} +\define@choicekey{np}{notestextalign}[\np@notesalign]% + {left,right,center,none}[center]{} +\key@ifundefined{np}{mark}{}{\np@err@defined{mark}} +\define@choicekey{np}{mark}[\np@mark]{both,right,left,keep}[both]{} +\key@ifundefined{np}{marktext}{}{\np@err@defined{marktext}} +\define@cmdkey{np}[np@]{marktext}[\npnotesname]{\np@marktext@settrue} +\key@ifundefined{np}{markuppercase}{}{\np@err@defined{markuppercase}} +\define@boolkey{np}{markuppercase}[true]{} +\newcommand*{\np@init@markuppercase}{% + \ifnp@std@class + \setkeys{np}{markuppercase=true}% + \else + \setkeys{np}{markuppercase=false}% + \fi} +\key@ifundefined{np}{hparts}{}{\np@err@defined{hparts}} +\define@key{np}{hparts}[25]% + {\np@hparts=#1\np@check@num@range{hparts}{\np@hparts}{1}{200}} +\key@ifundefined{np}{vparts}{}{\np@err@defined{vparts}} +\define@key{np}{vparts}[0]% + {\np@vparts=#1\np@check@num@range{vparts}{\np@vparts}{0}{300}} +\key@ifundefined{np}{usenotesareaheight}{}% + {\np@err@defined{usenotesareaheight}} +\define@boolkey{np}{usenotesareaheight}[true]{} +\key@ifundefined{np}{multiple}{}{\np@err@defined{multiple}} +\define@key{np}{multiple}[4]% + {\np@multiple=#1\np@check@num@range{multiple}{\np@multiple}{1}{100}} +\key@ifundefined{np}{minpages}{}{\np@err@defined{minpages}} +\define@key{np}{minpages}[0]% + {\np@minpages=#1\np@check@num@range{minpages}{\np@minpages}{0}{100}} +\key@ifundefined{np}{endpages}{}{\np@err@defined{endpages}} +\define@key{np}{endpages}[0]% + {\np@endpages=#1\np@check@num@range{endpages}{\np@endpages}{0}{100}} +\key@ifundefined{np}{fillminspace}{}{\np@err@defined{fillminspace}} +\define@key{np}{fillminspace}[0.25\textheight]{\np@fill@minspace=#1} +\key@ifundefined{np}{fillmaxspace}{}{\np@err@defined{fillmaxspace}} +\define@key{np}{fillmaxspace}[\textheight]{\np@fill@maxspace=#1} +\key@ifundefined{np}{filltopskip}{}{\np@err@defined{filltopskip}} +\define@key{np}{filltopskip}[0pt]{\np@fill@topskip=#1} +\key@ifundefined{np}{filltopfill}{}{\np@err@defined{filltopfill}} +\define@boolkey{np}{filltopfill}[true]{} +\key@ifundefined{np}{empty}{}{\np@err@defined{empty}} +\define@key{np}{empty}[]{\setkeys{np}{% + pagestyle=empty,notesstyle=plain,titlestyle=none}} +\key@ifundefined{np}{vacant}{}{\np@err@defined{vacant}} +\define@key{np}{vacant}[]{\setkeys{np}{pagestyle=empty, + notesstyle=text,titlestyle=none,titleskip=0.3\textheight}} +\key@ifundefined{np}{default}{}{\np@err@defined{default}} +\define@key{np}{default}[]{\setkeys{np}{% + startnotes,allowfloats=false,pagestyle,notesstyle, + titlestyle,titletext,titleskip,titlenotesfill=false, + notestext,notestextalign, + mark,marktext, + hparts=25,vparts=0,usenotesareaheight=false, + minpages,endpages,multiple=4, + fillminspace,fillmaxspace,filltopskip,filltopfill}% + \np@init@markuppercase} +\setkeys{np}{default} +\ProcessOptionsX<np> +\newcommand*{\npnpinfo}[1]{% + \expandafter\def\csname np@np@info.#1\endcsname{}} +\AtEndDocument{\if@filesw\newwrite\tf@npm + \immediate\openout\tf@npm\jobname.npm\fi + \ifnp@mark@new + \PackageWarningNoLine{notespage}{% + New notes pages were added. + Please rerun LaTeX to get header marks right.}% + \fi} +\newcommand*{\tracingnpmarks}{} +\newcount\tracingnpmarks +\tracingnpmarks\z@ +\newcommand{\np@tracing@marks}[3]{% + \ifnum\tracingnpmarks>\z@ + \PackageInfo{notespages}{#1 header marks: #2 done\MessageBreak + #3\MessageBreak}% + \fi} +\newcommand*{\ifnp@page@has@np}{} +\newif\ifnp@page@has@np +\newcommand*{\np@page@has@np}[1]{% + \@ifundefined{np@np@info.#1}% + {\np@page@has@npfalse}{\np@page@has@nptrue}} +\newcommand*{\np@mark@keep}{TT\fi + \def\np@tempa{keep}\ifx\np@tempa\np@mark} +\newcommand*{\np@savemark}{% + \if\np@mark@keep + \np@tracing@marks{save}{not}{mark=keep (1)}% + \else + \np@tempcnta\c@page\advance\np@tempcnta\m@ne + \np@page@has@np{\the\np@tempcnta}\ifnp@page@has@np + \np@tracing@marks{save}{not}{np on previous page (2)}% + \else + \np@tracing@marks{save}{}{mark not keep (3)}% + \global\np@save@marks@tokens\expandafter{\@themark}% + \fi + \fi} +\newcommand*{\np@@markleft}[3]{\markboth{#3}{#2}} +\newcommand*{\np@@markright}[3]{\markboth{#1}{#3}} +\newcommand*{\np@markleft}[1]{% + \expandafter\np@@markleft\the\np@save@marks@tokens{#1}} +\newcommand*{\np@markright}[1]{% + \expandafter\np@@markright\the\np@save@marks@tokens{#1}} +\newcommand*{\np@setmark}{ + \if\np@mark@keep + \np@tracing@marks{set}{not}{mark=keep (4)}% + \else + \np@page@has@np{\the\c@page}\ifnp@page@has@np\else + \global\np@mark@newtrue + \fi + \def\np@tempa{both}\ifx\np@tempa\np@mark + \np@tracing@marks{set}{}{mark=both (5)}% + \ifKV@np@markuppercase + \markboth{\MakeUppercase{\np@marktext}}% + {\MakeUppercase{\np@marktext}}% + \else + \markboth{\np@marktext}{\np@marktext}% + \fi + \else + \def\np@tempa{right}\ifx\np@tempa\np@mark + \np@tracing@marks{set}{}{mark=right (6)}% + \ifKV@np@markuppercase + \np@markright{\MakeUppercase{\np@marktext}}% + \else + \np@markright{\np@marktext}% + \fi + \else + \def\np@tempa{left}\ifx\np@tempa\np@mark + \np@tracing@marks{set}{}{mark=left (7)}% + \ifKV@np@markuppercase + \np@markleft{\MakeUppercase{\np@marktext}}% + \else + \np@markleft{\np@marktext}% + \fi + \fi + \fi + \fi + \fi} +\newcommand*{\np@restore@@mark}[4]{% + \begingroup + \let\label\relax \let\index\relax \let\glossary\relax + \@temptokena {#4}% + \unrestored@protected@xdef\@themark{% + {\protect\ifnum\the\np@tempcnta=\c@page + #3\protect\else #1\protect\fi}% + {\the\@temptokena}}% + \@temptokena \expandafter{\@themark}% + \mark{\the\@temptokena}% + \@temptokena {#4}% + \unrestored@protected@xdef\@themark{{#3}{\the\@temptokena}}% + \endgroup + \if@nobreak\ifvmode\nobreak\fi\fi} +\newcommand*{\np@restore@mark}[2]{% + \expandafter\np@restore@@mark\@themark{#1}{#2}} +\newcommand*{\np@restoremark}{% + \if\np@mark@keep + \np@tracing@marks{restore}{not}{mark=keep (8)}% + \else + \np@tempcnta\c@page\advance\np@tempcnta\@ne + \np@page@has@np{\the\np@tempcnta}\ifnp@page@has@np + \np@tracing@marks{restore}{not}{np on next page (9)}% + \else + \np@tracing@marks{restore}{}{(10)}% + \expandafter\np@restore@mark\the\np@save@marks@tokens + \fi + \fi} +\newcommand*{\np@startnotespage}{% + \expandafter\csname \np@startnotes\endcsname} +\newcommand*{\np@setpagestyle}{% + \def\np@tempa{current}\ifx\np@tempa\np@pagestyle\else + \thispagestyle{\np@pagestyle}\fi} +\newcommand*{\np@ts@section}{\section*{\notestitletext}} +\newcommand*{\np@ts@subsection}{\subsection*{\notestitletext}} +\newcommand*{\np@ts@subsubsection}{\subsubsection*{\notestitletext}} +\newcommand*{\np@ts@minisec}{\minisec{\notestitletext}} +\newcommand*{\np@ts@text}{\noindent\notestitletext\par} +\newcommand*{\np@ts@none}{} +\newcommand*{\np@maketitle}{\csname np@ts@\np@titlestyle\endcsname} +\newcommand*{\np@calcheight}{% + \ifdim\pagegoal=\maxdimen + \remainingtextheight\textheight + \else + \remainingtextheight\pagegoal + \advance\remainingtextheight by -\pagetotal + \advance\remainingtextheight by -\lineskip + \fi} +\newcommand*{\np@Tc}{} +\newcount\np@Tc +\newcommand*{\np@Zc}{} +\newcount\np@Zc +\newcommand*{\np@Nc}{} +\newcount\np@Nc +\newcommand*{\np@Z}{} +\newdimen\np@Z +\newcommand*{\np@N}{} +\newdimen\np@N +\newcommand*{\np@result}{} +\newcommand*{\np@calcnextdigit}{% + \multiply\np@Tc\np@Nc + \advance\np@Zc-\np@Tc + \multiply\np@Zc10\relax + \np@Tc\np@Zc + \divide\np@Tc\np@Nc + \xdef\np@result{\np@result\number\np@Tc}} +\newcommand*{\np@divide}{% + \gdef\np@result{}% + \global\np@Zc\np@Z\global\np@Nc\np@N + \ifnum\np@Zc<\z@\np@Zc-\np@Zc\gdef\np@result{-}\fi + \ifnum\np@Nc<\z@\np@Nc-\np@Nc\xdef\np@result{\np@result-}\fi + \np@Tc\np@Zc + \divide\np@Tc\np@Nc + \xdef\np@result{\np@result\number\np@Tc.}% + \np@calcnextdigit\np@calcnextdigit\np@calcnextdigit + \np@calcnextdigit\np@calcnextdigit\np@calcnextdigit} +\newcommand*{\np@dddivide}[2]{\global\np@Z#1\global\np@N#2\np@divide} +\newcommand*{\np@truncate}{} +\def\np@truncate#1.#2\np@end{#1} +\newcommand{\np@ns@plain}{% + \phantom{\rule{\textwidth}{\remainingtextheight}}} +\newcommand{\np@calc@vheight}{% + \ifKV@np@usenotesareaheight + \np@height\remainingtextheight\divide\np@height\np@vparts + \np@tempcntb\np@vparts + \else + \np@height\textheight\divide\np@height\np@vparts + \np@dddivide\remainingtextheight\np@height + \expandafter\np@tempdima\np@result\p@ + \advance\np@tempdima0.01\p@ + \edef\np@tempa{\expandafter\np@truncate\the\np@tempdima\np@end}% + \np@tempcntb\np@tempa\relax + \fi} +\newcommand{\np@ns@lines}{% + \ifnum\np@vparts=\z@\relax + \PackageWarning{notespages}{vparts is 0, there are no lines + \MessageBreak}% + \np@ns@plain + \else\ifnum\np@vparts=\@ne\relax + \let\unitlength\relax + \begin{picture}(\textwidth,\remainingtextheight)(\z@,\z@)% + \color{NotesHColor}% + \multiput(\z@,\z@)(\z@,\remainingtextheight){2}% + {\line(1,0){\textwidth}}% + \end{picture}% + \else + \np@calc@vheight + \let\unitlength\relax + \begin{picture}(\textwidth,\remainingtextheight)(\z@,\z@)% + \color{NotesHColor}% + \multiput(\z@,\z@)(\z@,\np@height){\np@tempcntb}% + {\line(1,0){\textwidth}}% + \end{picture}% + \fi\fi} +\newcommand{\np@ns@vlines}{% + \np@width\textwidth\divide\np@width\np@hparts + \np@tempcnta\np@hparts\advance\np@tempcnta\@ne\relax + \let\unitlength\relax + \begin{picture}(\textwidth,\remainingtextheight)(\z@,\z@)% + \color{NotesVColor}% + \multiput(\z@,\z@)(\np@width,\z@){\np@tempcnta}% + {\line(0,1){\remainingtextheight}}% + \end{picture}} +\newcommand{\np@ns@grid}{% + \np@width\textwidth\divide\np@width\np@hparts + \np@tempcnta\np@hparts\advance\np@tempcnta\@ne\relax + \ifnum\np@vparts=\z@\relax + \np@height\np@width + \np@dddivide\remainingtextheight\np@height + \expandafter\np@tempdima\np@result\p@ + \advance\np@tempdima0.01\p@ + \edef\np@tempa{\expandafter\np@truncate\the\np@tempdima\np@end}% + \np@tempcntb\np@tempa\relax + \np@tempdima\np@height\multiply\np@tempdima\np@tempcntb + \advance\np@tempcntb\@ne\relax + \else\ifnum\np@vparts=\@ne\relax + \np@height\remainingtextheight + \np@tempcntb\tw@\relax + \np@tempdima\np@height + \else + \np@calc@vheight + \np@tempdima\np@height\multiply\np@tempdima\np@tempcntb + \advance\np@tempcntb\@ne + \fi\fi + \let\unitlength\relax + \begin{picture}(\textwidth,\remainingtextheight)(\z@,\z@)% + \color{NotesVColor}% + \multiput(\z@,\z@)(\np@width,\z@){\np@tempcnta}% + {\line(0,1){\np@tempdima}}% + \color{NotesHColor}% + \multiput(\z@,\z@)(\z@,\np@height){\np@tempcntb}% + {\line(1,0){\textwidth}}% + \end{picture}} +\newcommand{\np@ns@text}{% + \def\np@tempa{none}\ifx\np@tempa\np@titlestyle + \hrule\@height\z@ + \vspace*{\np@titleskip}% + \fi + \def\np@tempa{left}\ifx\np@tempa\np@notesalign + \raggedright + \else + \def\np@tempa{right}\ifx\np@tempa\np@notesalign + \raggedleft + \else + \def\np@tempa{center}\ifx\np@tempa\np@notesalign + \centering + \fi + \fi + \fi + \color{NotesTextColor}\notesareatext} +\newcommand{\np@inner@notespage}{\parfillskip\z@ plus 1fil% + \csname np@ns@\np@notesstyle\endcsname} +\newcommand*{\np@notespage}{% + \ifKV@np@allowfloats\else + \def\np@tempa{newpage}\ifx\np@tempa\np@startnotes + \edef\np@orig@textfraction{\textfraction}% + \gdef\textfraction{1}% + \fi + \fi + \np@startnotespage + \np@savemark + \np@setmark + \if\np@mark@keep\else + \protected@write\@auxout{}% + {\string\@writefile{npm}{\string\npnpinfo{\the\c@page}}}% + \fi + \np@setpagestyle + \np@maketitle + \def\np@tempa{none}\ifx\np@tempa\np@titlestyle\else + \vspace*{\np@titleskip}% + \fi + \noindent\np@calcheight + \ifKV@np@titlenotesfill\vfill\noindent\fi + \np@inner@notespage + \np@restoremark + \ifKV@np@allowfloats\else + \def\np@tempa{newpage}\ifx\np@tempa\np@startnotes + \xdef\textfraction{\np@orig@textfraction}% + \fi + \fi + \newpage} +\newcommand*{\notespage}[1][]{% + \begingroup + \np@marktext@setfalse\setkeys{np}{#1}% + \np@notespage + \endgroup} +\newcommand*{\notespages}[1][]{% + \begingroup + \np@marktext@setfalse\setkeys{np}{#1}% + \ifdim\pagetotal=\z@ + \np@started@on@new@pagetrue\else\np@started@on@new@pagefalse\fi + \np@notepages\c@page + \ifnp@started@on@new@page\advance\np@notepages\m@ne\fi + \divide\np@notepages\np@multiple + \multiply\np@notepages\np@multiple + \advance\np@notepages-\c@page + \ifnp@started@on@new@page\advance\np@notepages\@ne\fi + \ifnum\np@notepages<\z@ + \advance\np@notepages\np@multiple\fi + \np@tempcnta\np@endpages + \np@tempcntb\np@endpages + \divide\np@tempcnta\np@multiple + \multiply\np@tempcnta\np@multiple + \advance\np@tempcntb-\np@tempcnta + \advance\np@notepages-\np@tempcntb + \np@tempcnta\np@minpages + \divide\np@tempcnta\np@multiple + \multiply\np@tempcnta\np@multiple + \advance\np@notepages\np@tempcnta + \ifnum\np@notepages<\np@minpages + \advance\np@notepages\np@multiple\relax\fi + \ifnum\np@notepages>\z@\relax + \loop\ifnum\np@notepages>\z@\relax + \np@notespage\advance\np@notepages\m@ne\relax + \repeat + \fi + \endgroup} +\newcommand*{\notesfill}[1][]{% + \begingroup + \setkeys{np}{#1}% + \np@calcheight + \advance\remainingtextheight-\np@fill@topskip + \ifdim\remainingtextheight<\np@fill@minspace\else + \ifdim\remainingtextheight>\np@fill@maxspace + \np@tempdima\remainingtextheight + \advance\np@tempdima-\np@fill@maxspace + \else + \np@tempdima=\z@ + \fi + \vspace*{\np@fill@topskip} + \ifKV@np@filltopfill\vfill\fi + \np@maketitle + \def\np@tempa{none}\ifx\np@tempa\np@titlestyle\else + \vspace*{\np@titleskip}% + \fi + \noindent\np@calcheight + \advance\remainingtextheight-\np@tempdima + \ifKV@np@titlenotesfill\vfill\noindent\fi + \np@inner@notespage\newpage + \fi + \endgroup} +\newcommand*{\setnotespages}[1]{% + \np@marktext@setfalse\setkeys{np}{#1}} +\newcommand*{\definenotesoption}[2]{% + \key@ifundefined{np}{#1}{\define@key{np}{#1}[]{\setkeys{np}{#2}}}% + {\PackageError{notespages}% + {Key #1 is already defined.\MessageBreak}% + {The key #1 may have been defined by some package\MessageBreak + or you tried to redefine this key.}}} +\newcommand{\definenotesstyle}[2]{% + \edef\np@notesstyle@nominations{\np@notesstyle@nominations,#1}% + \expandafter\np@def@notesstyle@key\np@notesstyle@nominations\np@end + \long\expandafter\def\csname np@ns@#1\endcsname{#2}} +\newcommand{\definetitlestyle}[2]{% + \edef\np@titlestyle@nominations{\np@titlestyle@nominations,#1}% + \expandafter\np@def@titlestyle@key\np@titlestyle@nominations\np@end + \long\expandafter\def\csname np@ts@#1\endcsname{#2}} +\let\np@orig@chapter\chapter +\newcommand{\nppatchchapter}[1]{% + \@ifundefined{chapter}{}{% + \def\chapter{\notespages[#1]\np@orig@chapter}}} +\newcommand*{\np@lang@german}{\def\npnotesname{Notizen}% + \def\npnotestext{Diese Seite wurde absichtlich leer gelassen.}} +\newcommand*{\np@lang@english}{\def\npnotesname{Notes}% + \def\npnotestext{This page is intentionally left blank.}} +\newcommand*{\np@lang@french}{\def\npnotesname{Notes}% + \def\npnotestext{Cette page est laiss\'{e}e intentionnellement vide.}} +\newcommand*{\np@declarelang}[2]{% + \@ifpackagewith{babel}{#1}{% + \expandafter\addto + \csname extras#1\expandafter\endcsname + \csname np@lang@#2\endcsname}{}} +\newcommand*{\np@supportbabel}{% + \@ifpackageloaded{babel}{% + \np@declarelang{english}{english}% + \np@declarelang{USenglish}{english}% + \np@declarelang{american}{english}% + \np@declarelang{UKenglish}{english}% + \np@declarelang{british}{english}% + \np@declarelang{canadian}{english}% + \np@declarelang{australian}{english}% + \np@declarelang{newzealand}{english}% + \np@declarelang{austrian}{german}% + \np@declarelang{german}{german}% + \np@declarelang{germanb}{german}% + \np@declarelang{ngerman}{german}% + \np@declarelang{naustrian}{german}% + \np@declarelang{french}{french}% + \np@declarelang{francais}{french}% + \np@declarelang{canadien}{french}% + \np@declarelang{acadian}{french}}{}} +\np@supportbabel +\newcommand*{\np@setcolors}{% + \@ifundefined{\string\color @NotesHColor}% + {\definecolor{NotesHColor}{gray}{0.7}}{}% + \@ifundefined{\string\color @NotesVColor}% + {\definecolor{NotesVColor}{gray}{0.7}}{}% + \@ifundefined{\string\color @NotesTextColor}% + {\definecolor{NotesTextColor}{gray}{0.7}}{}} + +\newcommand*{\np@setxcolors}{% + \providecolor{NotesHColor}{gray}{0.7}% + \providecolor{NotesVColor}{gray}{0.7}% + \providecolor{NotesTextColor}{gray}{0.7}} + +\newcommand*{\np@supportcolor}{% + \@ifpackageloaded{xcolor}{\np@setxcolors}{% + \@ifpackageloaded{color}{\np@setcolors}{\let\color\@gobble}}} +\AtBeginDocument{\InputIfFileExists{\jobname.npm}{}{}% + \np@supportbabel\np@supportcolor} +\endinput +%% +%% End of file `notespages.sty'. |