From dafe7a74ecbaac74ed4fa79a66986ca7bdc36ca7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 21 Dec 2017 23:56:38 +0000 Subject: poemscol (21dec17) git-svn-id: svn://tug.org/texlive/trunk@46113 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/poemscol/poemscol.sty | 157 ++++++++++++++++++++-- 1 file changed, 147 insertions(+), 10 deletions(-) (limited to 'Master/texmf-dist/tex/latex/poemscol') diff --git a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty index f7f4556987a..6cfc4fceb8a 100644 --- a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty +++ b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty @@ -22,18 +22,11 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e}[1997/12/01] \ProvidesPackage{poemscol} - [2017/11/30 v2.9 poemscol file] - + [2017/12/20 v2.95 poemscol file] %% -%% In my own book I also, strictly to save money, and at the price of -%% some ugliness, changed the definition of |\normalsize| and |\small|, -%% so that the former was 10 pt type on 11 pt leading (rather than 12 -%% pt), and that the latter was 9 pt type on 10 pt leading. You can -%% reproduce this setting by issuing |\tightleading|, although I would -%% advise not doing so unless you are under financial constraints. @@ -289,7 +282,6 @@ \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} } - \fancypagestyle{volumefirststyle}{% \fancyhf{} \fancyfoot[C]{\hfil{\small \botmark}\hfil} @@ -302,12 +294,34 @@ \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} } +\newtoks{\singlelineabbrev} +\singlelineabbrev={l.\ } +\newcommand{\changesinglelineabbrev}[1]{\singlelineabbrev={#1}} +\newtoks{\multiplelineabbrev} +\newcommand{\changemultiplelineabbrev}[1]{\multiplelineabbrev={#1}} +\multiplelineabbrev{ll.\ } +\newcommand{\myversemarks}{% + \ifthenelse{\equal{\thefirstmarks{verselinemark}}{\thebotmarks{verselinemark}}}% + {\unskip ~\the\singlelineabbrev~\thefirstmarks{verselinemark}}% if equal +{\unskip ~\the\multiplelineabbrev\thefirstmarks{verselinemark}--\thebotmarks{verselinemark}}} % if not equal +\fancypagestyle{longpoem}{% +\fancyhead{} +\fancyfoot{} +\fancyhfoffset[RO,LE]{\headoffsetlength} +\fancyhead[RO]{{\small\textrm{\thepage}}} +\fancyhead[LE]{{\small\textrm{\thepage}}} +\fancyhead[CO]{\hfil{\small{\em \leftheadervalue ~ \myversemarks}}\hfil} +\fancyhead[CE]{\hfil{\small{\em \volumeheadervalue ~ \myversemarks}}\hfil} +\fancyfoot[CE]{{\small \botmark}\hfil} +\fancyfoot[CO]{\hfil{\small \botmark}} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +} \fancypagestyle{volumetitlestyle}{% \fancyhf{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} } - \newcommand{\resetpagestyle}{\pagestyle{main} } \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} @@ -516,6 +530,9 @@ } \newcommand{\incrementverselinenumber}{% \nolinebreak\addtocounter{verselinenumber}{1}% +\makeatletter + \@ifundefined{marksthe}{\relax}{\marksthe{verselinemark}{\theverselinenumber}} +\makeatother \addtocounter{printlineindex}{1}% \ifnum\theprintlineindex>\thelineindexrepeat% \ifverselinenumbers\nobreak% @@ -941,6 +958,21 @@ \set@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}% {\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}% } +\newcommand{\poemtitleonlycontents}[1]{% +\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}% +{\contentsindenttwoamount}% +} +\newcommand{\poemtitleonlynotes}[1]{% +\m@kep@emlabel +\m@ken@teholder{#1}% +\t@xtnotesinfo{#1}% +} +\newcommand{\poemtitlenonotes}[1]{% +\set@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}% +{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}% +\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}% +{\contentsindenttwoamount}% +} \newcommand{\poemtitleitalic}[2]{% \poemtitle{#1}} \newcommand{\firstlinesettings}{\singlelinetitlefalse @@ -2371,6 +2403,111 @@ r@#2\endcsname{}{}\@nil \else \relax \fi} +\newif\ifpoemendemendationnoteson +\poemendemendationnotesontrue +\newif\ifpoemendemendationnotessinglepar +\poemendemendationnotessinglepartrue +\newcommand{\makepoemendemendationnotes}{ + \global\verselinenumberstrue + \newwrite\poemendemendationnotes + \immediate\openout\poemendemendationnotes=\jobname.pmd + \literalpoemendemendationnote{\bigskip} + } +\newcommand{\poemendemendationnote}[2][0]{% +\ifpoemendemendationnoteson + \setlemmarange{#1}% + \immediate\write\poemendemendationnotes{\checknoteheaders} + \literalpoemendemendationnote{#2}% + \ifpoemendemendationnotessinglepar% + \literalpoemendemendationnote{\par}% + \fi% + \fi +\resetlemmacounters +} +\newcommand{\literalpoemendemendationnote}[1]{% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\poemendemendationnotes{\expandafter\strip\meaning\next}% + \endgroup + } +\newcommand{\putpoemendemendationnotes}{ +\ifpoemendemendationnoteson + \immediate\closeout\poemendemendationnotes + \input \jobname.pmd +\else + \relax +\fi} +\newif\ifpoemendexplanatorynoteson +\poemendexplanatorynotesontrue +\newif\ifpoemendexplanatorynotessinglepar +\poemendexplanatorynotessinglepartrue +\newcommand{\makepoemendexplanatorynotes}{ + \global\verselinenumberstrue + \newwrite\poemendexplanatorynotes + \immediate\openout\poemendexplanatorynotes=\jobname.pxd + \literalpoemendexplanatorynote{\bigskip} + } +\newcommand{\poemendexplanatorynote}[2][0]{% +\ifpoemendexplanatorynoteson + \setlemmarange{#1}% + \immediate\write\poemendexplanatorynotes{\checknoteheaders} + \literalpoemendexplanatorynote{#2}% + \ifpoemendexplanatorynotessinglepar% + \literalpoemendexplanatorynote{\par}% + \fi% + \fi +\resetlemmacounters +} +\newcommand{\literalpoemendexplanatorynote}[1]{% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\poemendexplanatorynotes{\expandafter\strip\meaning\next}% + \endgroup + } +\newcommand{\putpoemendexplanatorynotes}{ +\ifpoemendexplanatorynoteson + \immediate\closeout\poemendexplanatorynotes + \input \jobname.pxd +\else + \relax +\fi} +\newif\ifpoemendtextnoteson +\poemendtextnotesontrue +\newif\ifpoemendtextnotessinglepar +\poemendtextnotessinglepartrue +\newcommand{\makepoemendtextnotes}{ + \global\verselinenumberstrue + \newwrite\poemendtextnotes + \immediate\openout\poemendtextnotes=\jobname.pmd + \literalpoemendtextnote{\bigskip} + } +\newcommand{\poemendtextnote}[2][0]{% +\ifpoemendtextnoteson + \setlemmarange{#1}% + \immediate\write\poemendtextnotes{\checknoteheaders} + \literalpoemendtextnote{#2}% + \ifpoemendtextnotessinglepar% + \literalpoemendtextnote{\par}% + \fi% + \fi +\resetlemmacounters +} +\newcommand{\literalpoemendtextnote}[1]{% + \begingroup + \def\next{#1}% + \newlinechar='40 + \immediate\write\poemendtextnotes{\expandafter\strip\meaning\next}% + \endgroup + } +\newcommand{\putpoemendtextnotes}{ +\ifpoemendtextnoteson + \immediate\closeout\poemendtextnotes + \input \jobname.pmd +\else + \relax +\fi} \newcommand{\quotedversecorrectiontextnote}[1][0pt] {\iftextnoteson% \immediate\write\textnotes{\string\noindent\string\kern-#1}% -- cgit v1.2.3