From 84e76f635fbeb4bac73aa771673c0e25402611b1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 10 Feb 2013 23:12:13 +0000 Subject: poemscol (10feb13) git-svn-id: svn://tug.org/texlive/trunk@29072 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/poemscol/poemscol.sty | 149 +++++++++++++++++++--- 1 file changed, 128 insertions(+), 21 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty index 8e14ff22cb5..d82159be6e7 100644 --- a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty +++ b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty @@ -22,8 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e}[1997/12/01] \ProvidesPackage{poemscol} - [2012/08/30 v2.6 poemscol file] - + [2013/02/06 v2.61 poemscol file] @@ -89,6 +88,7 @@ \newcommand{\notesvolumetitlepenalty}{\penalty-1500} \hfuzz=2pt \newcommand{\verseindent}{\hspace{2em}} +\setlength{\columnsep}{15pt} \newdimen\titleindentamount \titleindentamount=1pc \newdimen\titleindenttwoamount \titleindenttwoamount=2pc \newdimen\titleindentthreeamount \titleindentthreeamount=3pc @@ -589,6 +589,8 @@ \newtoks{\textnotescontentsname} \textnotescontentsname={Textual Notes} \newcommand{\changetextnotescontentsname}[1]{\textnotescontentsname={#1}} +\newif\iftextnotestwocol +\textnotestwocolfalse \newcommand{\maketextnotes}{\global\textnotesontrue \global\verselinenumberstrue \newwrite\textnotes @@ -607,7 +609,12 @@ \begin{center}{\normalfont \backmatterheaderfont \the\pmclnotesname}\end{center} \label{textualnotes} \lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0 -\normalfont \backmattertextfont} +\normalfont \backmattertextfont +\iftextnotestwocol +\begin{multicols}{2} +\fi +\setlength{\parindent}{-10pt} +} } \newtoks{\emendationsname} @@ -620,6 +627,8 @@ \emendationscontentsname={Emendations} \newcommand{\changeemendationscontentsname}[1]{% \emendationscontentsname={#1}} +\newif\ifemendationstwocol +\emendationstwocolfalse \newcommand{\makeemendations}{\global\emendationsontrue \newwrite\emendations \global\verselinenumberstrue @@ -638,7 +647,12 @@ \the\emendationsname}\end{center} \label{emendationnotes} \lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0 -\normalfont \backmattertextfont} +\normalfont \backmattertextfont +\ifemendationstwocol +\begin{multicols}{2} +\fi +\setlength{\parindent}{-10pt} +} } \newtoks{\explanationsname} @@ -651,6 +665,8 @@ \explanationscontentsname={Explanatory Notes} \newcommand{\changeexplanationscontentsname}[1]{% \explanationscontentsname={#1}} +\newif\ifexplanationstwocol +\explanationstwocolfalse \newcommand{\makeexplanatorynotes}{\global\explanontrue \global\verselinenumberstrue \newwrite\explanations @@ -668,7 +684,12 @@ \the\explanationsname}\end{center} \label{explanatorynotes} \lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0 -\normalfont \backmattertextfont } +\normalfont \backmattertextfont +\ifexplanationstwocol +\begin{multicols}{2} +\fi +\setlength{\parindent}{-10pt} +} } \newcommand{\@pagemarktotextnotes}[1]{% @@ -833,14 +854,17 @@ \string{\string\contentsindentoneamount\string}}% \fi } - +\newif\ifputtitleinnotes +\puttitleinnotestrue \newcommand{\t@xtnotesinfo}[1]{\iftextnoteson \iftextnotesatend \immediate\write\textnotes{\string\notespoemclubpenalty}% \ifputpagenumberinnotes \@poempagetotextnotes{poem\thepoemnumber}% \fi +\ifputtitleinnotes \@poemtitletotextnotes{#1}% +\fi \fi\fi } \newcommand{\poemtitle}[1]{% @@ -1459,11 +1483,15 @@ \string{\string\mark\string{\string\thenotepageholdertitle\string}\string}\string\unskip \string\unskip\string\relax\ \citerange :\string~\string\nolinebreak}% +\newif\iftextnotessinglepar \newcommand{\textnote}[2][0]{% \iftextnoteson \setlemmarange{#1}% \immediate\write\textnotes{\checknoteheaders}% \literaltextnote{#2}% + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% \fi \resetlemmacounters } @@ -1473,6 +1501,9 @@ \iftextnotesatend\immediate\write\textnotes{\string\nobreak}\fi% \textnote{#1}% \iftextnotesatend\immediate\write\textnotes{\string\nobreak}\fi% + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% \fi\fi } \newcommand{\tsvariant}[2][0]{% @@ -1494,6 +1525,9 @@ \def\next{#1}% \immediate\write\textnotes{\expandafter\strip\meaning\next}% \endgroup + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% \fi } \newcommand{\titletoothernotes}{\string\par @@ -1501,6 +1535,7 @@ \string\setcounterfrompageref\string{notepageholdertitle\string}% \string{\@compoundlabelscratch\string}% \string\textbf\string{\ \the\fulltitleholder\string}}% +\newif\ifemendationssinglepar \newcommand{\emendation}[2][0]{ \ifemendationson \setlemmarange{#1}% @@ -1511,6 +1546,9 @@ \else \textnote{#2}% \fi % ifrangelemma} + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% iftextnotesinglepar \fi %iftextnoteson \fi % ifredundantemendations \ifnoemendyet % firstemendation @@ -1519,12 +1557,16 @@ \global\noemendyetfalse \immediate\write\emendations{\checknoteheaders}% \literalemend{#2}% + \ifemendationssinglepar% + \literalemend{\par}% + \fi% ifemendationssinglepar \fi % ifemendationson \resetlemmacounters } \newcommand{\firstemendation}{\ifemendationsatend \immediate\write\emendations{\titletoothernotes}\fi } +\newif\ifexplanationssinglepar \newcommand{\explanatory}[2][0]{% \ifexplanon \setlemmarange{#1}% @@ -1534,7 +1576,10 @@ \global\noexplainyetfalse \immediate\write\explanations{\checknoteheaders}% \literalexplain{#2}% -\fi % ifexplanon + \ifexplanationssinglepar% + \literalexplain{\par}% + \fi% + \fi % ifexplanon \resetlemmacounters } @@ -1554,6 +1599,10 @@ \global\csname #1sontrue\endcsname \expandafter\newif\csname ifno#1yet\endcsname \csname no#1yettrue\endcsname +\expandafter\newif\csname if#1ssinglepar\endcsname +\csname #1singleparfalse\endcsname +\expandafter\newif\csname if#1stwocol\endcsname +\csname #1stwocolfalse\endcsname \expandafter\newwrite\csname #1s\endcsname \immediate\expandafter\openout\csname #1s\endcsname=\expandafter\jobname .#2 \expandafter\newcommand\csname literal#1\endcsname[1]{ @@ -1584,16 +1633,23 @@ \csname literal#1\endcsname{\lefthyphenmin=2\backmatterafterheadersink \tolerance=500\language=0 \normalfont \backmattertextfont} +\immediate\write\csname #1s\endcsname{\string\if#1stwocol} +\csname +literal#1\endcsname{\begin{multicols}{2}\fi\setlength{\parindent}{-10pt}}% \expandafter\newcommand\csname first#1\endcsname{ -\immediate\write\expandafter\csname#1s\endcsname{\titletoothernotes}} +\immediate\write\expandafter\csname #1s\endcsname{\titletoothernotes}} \expandafter\newcommand\csname #1\endcsname[2][0]{% - \setlemmarange{##1}% - \csname ifno#1yet\endcsname% - \csname first#1\endcsname% - \fi% +\setlemmarange{##1}% +\csname ifno#1yet\endcsname% + \csname first#1\endcsname% + \fi% \global\csname no#1yetfalse\endcsname% -\immediate\write\expandafter\csname #1s\endcsname{\checknoteheaders}% +\immediate\write\expandafter\csname +#1s\endcsname{\string\nobreak\string\nobreak\checknoteheaders}% \csname literal#1\endcsname{##2}% +\csname if#1ssinglepar\endcsname% +\csname literal#1\endcsname{\par}% +\fi% \resetlemmacounters% } \expandafter\newcommand\csname prose#1\endcsname[3][0]{% % @@ -1605,6 +1661,9 @@ \global\csname no#1yetfalse\endcsname% \immediate\write\expandafter\csname #1s\endcsname{\checkprosenoteheaders}% \csname literal#1\endcsname{##3}% +\csname if#1ssinglepar\endcsname% +\csname literal#1\endcsname{\par}% +\fi% \resetlemmacounters\unskip% } \expandafter\newcommand\csname pm#1\endcsname[2][0]{% @@ -1616,6 +1675,9 @@ \immediate\write\expandafter\csname #1s\endcsname{\pmchecknoteheaders\string~}% \immediate\write\expandafter\csname #1s\endcsname{\pmciterange}% \csname literal#1\endcsname{##2}% +\csname if#1ssinglepar\endcsname% +\csname literal#1\endcsname{\par}% +\fi% \pmresetlemmacounters\unskip% } \makeatletter @@ -1630,6 +1692,9 @@ \expandafter\newcommand\csname put#1s\endcsname{ \newpage\hyphenationforsmall +\csname if#1stwocol\endcsname% +\csname literal#1\endcsname{\end{multicols}}% +\fi %\iftwocol \immediate\expandafter\closeout\csname #1s\endcsname \expandafter\input \jobname.#2 \ifpoemcontentson @@ -1759,6 +1824,9 @@ r@#2\endcsname{}{}\@nil \setproselemmarange{#2}{#1}% \immediate\write\textnotes{\checkprosenoteheaders}% \literaltextnote{#3}% +\iftextnotessinglepar% +\literaltextnote{\par}% +\fi% \resetlemmacounters% \fi\unskip% } @@ -1774,6 +1842,9 @@ r@#2\endcsname{}{}\@nil \prosetextnote{#2}{#3}% \fi % ifrangelemma} \fi %iftextnoteson +\iftextnotessinglepar% +\literaltextnote{\par}% +\fi% iftextnotessinglepar \fi % ifredundantemendations \ifnoemendyet % firstemendation \firstemendation @@ -1781,7 +1852,10 @@ r@#2\endcsname{}{}\@nil \global\noemendyetfalse \immediate\write\emendations{\checkprosenoteheaders}% \literalemend{#3}% -\resetlemmacounters% +\ifemendationssinglepar% +\literalemend{\par}% +\fi% ifemendationssinglep + \resetlemmacounters% \fi\unskip% } \newcommand{\proseexplanatory}[3][0]{% @@ -1794,7 +1868,10 @@ r@#2\endcsname{}{}\@nil \global\noexplainyetfalse% \immediate\write\explanations{\checkprosenoteheaders}% \literalexplain{#3}% -\resetlemmacounters% +\ifexplanationssinglepar% + \literalexplain{\par}% + \fi% ifexplanationssinglepar + \resetlemmacounters% \fi\unskip% } \newcommand{\proseaccidental}[2]{ @@ -1803,7 +1880,10 @@ r@#2\endcsname{}{}\@nil \immediate\write\textnotes{\string\nobreak}% \prosetextnote{#1}{#2}% \immediate\write\textnotes{\string\nobreak}% - \fi\fi + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% +\fi\fi } \newcommand{\prosetsvariant}[3][0]{\iftextnoteson \ifincludetypescripts @@ -1811,7 +1891,10 @@ r@#2\endcsname{}{}\@nil \textnotes{\string\nobreak}% \prosetextnote[#1]{#2}{#3}% \immediate\write\textnotes{\string\nobreak}% - \fi\fi + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% +\fi\fi } \newcommand{\prosetsaccidental}[2]{\iftextnoteson \ifincludetypescripts\proseaccidental{#1}{#2}\fi\fi} @@ -2043,6 +2126,9 @@ r@#2\endcsname{}{}\@nil \immediate\write\textnotes{\pmchecknoteheaders\string~}% \immediate\write\textnotes{\pmciterange}% \literaltextnote{#2}% + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% \fi% \pmresetlemmacounters% \unskip} @@ -2056,7 +2142,10 @@ r@#2\endcsname{}{}\@nil \immediate\write\explanations{\pmchecknoteheaders\string~}% \immediate\write\explanations{\pmciterange}% \literalexplain{#2}% -\fi % ifexplanon + \ifexplanationssinglepar% + \literalexplain{\par}% + \fi %ifexplanationssinglepar + \fi % ifexplanon \pmresetlemmacounters% \unskip% } @@ -2079,7 +2168,10 @@ r@#2\endcsname{}{}\@nil \immediate\write\emendations{\pmchecknoteheaders\string~}% \immediate\write\emendations{\pmciterange}% \literalemend{#2}% -\fi % ifemendationson +\ifemendationssinglepar% + \literalemend{\par}% + \fi% ifemendationssinglepar + \fi % ifemendationson \pmresetlemmacounters% } \newcommand{\pmaccidental}[1]{% @@ -2088,14 +2180,20 @@ r@#2\endcsname{}{}\@nil \immediate\write\textnotes{\string\nobreak}% \pmtextnote{#1}% \immediate\write\textnotes{\string\nobreak}% - \fi\fi% + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% +\fi\fi% } \newcommand{\pmtsvariant}[2][0]{\iftextnoteson% \ifincludetypescripts% \immediate\write\textnotes{\string\nobreak}% \pmtextnote[#1]{#2}% \immediate\write\textnotes{\string\nobreak}% - \fi\fi% + \iftextnotessinglepar% + \literaltextnote{\par}% + \fi% +\fi\fi% } \newcommand{\pmtsaccidental}[1]{\iftextnoteson\ifincludetypescripts\pmaccidental{#1}\fi\fi} \newcommand{\textnotesatfoot}{% first redefine textnotes @@ -2528,6 +2626,9 @@ wherever such spaces are lost in pagination. } \newcommand{\putemendations}{ \ifemendationson +\ifemendationstwocol +\literalemend{\end{multicols}} +\fi %\iftextnotetwocol \newpage \hyphenationforsmall \immediate\closeout\emendations @@ -2546,6 +2647,9 @@ wherever such spaces are lost in pagination. \fi} \newcommand{\putexplanatory}{ \ifexplanon +\ifexplanationstwocol +\literalexplain{\end{multicols}} +\fi %\iftextnotetwocol \newpage \hyphenationforsmall \immediate\closeout\explanations @@ -2564,6 +2668,9 @@ wherever such spaces are lost in pagination. \fi} \newcommand{\puttextnotes}{ \iftextnoteson +\iftextnotestwocol +\literaltextnote{\end{multicols}} +\fi %\iftextnotetwocol \newpage \hyphenationforsmall \immediate\closeout\textnotes -- cgit v1.2.3