summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/poemscol/poemscol.pdfbin559140 -> 582767 bytes
-rw-r--r--Master/texmf-dist/source/latex/poemscol/poemscol.dtx486
-rw-r--r--Master/texmf-dist/source/latex/poemscol/poemscol.ins2
-rw-r--r--Master/texmf-dist/tex/latex/poemscol/poemscol.sty244
4 files changed, 689 insertions, 43 deletions
diff --git a/Master/texmf-dist/doc/latex/poemscol/poemscol.pdf b/Master/texmf-dist/doc/latex/poemscol/poemscol.pdf
index 200a8290603..477f7fd14e0 100644
--- a/Master/texmf-dist/doc/latex/poemscol/poemscol.pdf
+++ b/Master/texmf-dist/doc/latex/poemscol/poemscol.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/poemscol/poemscol.dtx b/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
index fe2953bd6cc..9be56367ef4 100644
--- a/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
+++ b/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% !TEX TS-program = dtxmk
%
-% Copyright (C) 2005 by John Burt <burt@brandeis.edu>
+% Copyright (C) 2013 by John Burt <burt@brandeis.edu>
% --------------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -19,7 +19,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01]
%<package>\ProvidesPackage{poemscol}
-%<package> [2013/08/20 v2.64 poemscol file]
+%<package> [2015/6/18 v2.7 poemscol file]
%
%<*driver>
\documentclass{ltxdoc}
@@ -33,7 +33,7 @@
%</driver>
% \fi
%
-% \CheckSum{6228}
+% \CheckSum{6702}
%
% \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
@@ -201,6 +201,10 @@
% \changes{v2.64}{2013/08/02}{Bug fix: remove extra white space in
% custom endnotes for prose sections when notes are in single paragraph mode. Fix
% appearance of page number in endnote sections.}
+% \changes{v2.65}{2013/12/20}{Modifications to parallel text macros,
+% corrections to manual.}
+% \changes{v2.66}{2015/5/14}{Change to page styles}
+% \changes{v2.7}{2015/6/18}{Improvements to parallel texts.}
%
% \DoNotIndex{\newcommand,\newenvironment,\def,\edef,\else,\renewcommand,\makeatletter,\makeatother}
% \DoNotIndex{\abovedisplayskip,\belowdisplayskip,\abovedisplayshortskip,\belowdisplayshortskip}
@@ -231,12 +235,19 @@
% \nobreak, \par, \textbf}
% \DoNotIndex{\closeout,\em,\emph,\expandafter,\Huge,\it,\jobname,\kern,\newif,
% \newwrite,\p@,\pageref,\renewenvironment,\rm,\scriptsize,\string,
-% \textsc, \unskip} \setcounter{IndexColumns}{2} \MakeShortVerb{|}
-% \def\fileversion{2.64} \def\filedate{2 August 2013} \def\docdate{2
-% August2013} \title{Typesetting Poetry Collections with
+% \textsc, \unskip}
+% \setcounter{IndexColumns}{2}
+% \MakeShortVerb{|}
+% \def\fileversion{2.7}
+% \def\filedate{17 June 2015}
+% \def\docdate{17 June 2015}
+% \title{Typesetting Poetry Collections with
% \textsf{poemscol}\thanks{This document corresponds to
-% \textsf{poemscol}~\fileversion, dated \filedate.}} \author{John Burt
-% \\ \texttt{burt@brandeis.edu}} \date{June 20, 2013} \maketitle
+% \textsf{poemscol}~\fileversion, dated \filedate.}}
+% \author{John Burt
+% \\ \texttt{burt@brandeis.edu}}
+% \date{17 June 2015}
+% \maketitle
% \begin{abstract} \textsf{poemscol} provides macros for \LaTeX\ for
% setting collections of poetry. It is especially suited for setting
% collections of poetry in which several volumes are combined, such as
@@ -393,7 +404,10 @@
% emendations sections also have multiple paragraph notes, you should
% re-define them in order to produce footnotes in plain rather than in
% para mode, if you wish to produce footnotes rather than endnotes.
-%
+% \textsf{manyfoot} sometimes gets into conflicts with other packages
+% over the number of |\counts| it uses, causeing \LaTeX\ to complain
+% that there is no room for a |\newcount|. If this happens,
+% issue |\usepackage{etex}| and |\reserveinserts|.
%
% \subsection{~Verse drama and \textsf{dramatist}}
% Massimiliano Dominici has made his \textsf{dramatist} package
@@ -440,15 +454,32 @@
% \textsf{memoir} class and the \textsf{verse} package, because they
% share some command names. I am preparing a workaround for this
% problem.
+%
+% \subsection{~Parallel Text Editions} If you are using the |\keepttitlestraight|
+% hack described below at \ref{parallelhack}, you should add \textsf{etoolbox}
+% to your package list.
%
% \subsection{~Crop marks}
% \textsf{poemscol} no longer provides cropmarks, but is compatible with
% the style packages that do. I use \textsf{crop}, with the
% letter,pdftex,cam, and center options.
%
+% \subsection{~Conflict with \textsf{BibLaTeX} }
+% \BibTeX\ works with \textsf{poemscol} with no problem. But a bug I haven't
+% yet tracked down (probably involving |\makeatletter|)
+% complicates the use of \textsf{BibLaTeX}. To use \textsf{BibLaTeX}
+% you will need to open up the .bbl file. You will find near the top
+% the following lines:\\
+% |\makeatletter|\\
+% |\@ifundefined{ver@biblatex.sty}|\\
+% | {\@latex@error|\\
+% |{Missing 'biblatex' package}|\\
+% | {The bibliography requires the 'biblatex' package.}|\\
+% | \aftergroup\endinput}|\\
+% |{}|\\
+% Just comment out these lines and you will be able to use the .bbl file as usual.
%
-%
-%
+%
% \section{Marking up individual poems}
% First, a word about the command names. The command names may seem
% ugly and long. And there are separate commands for many tasks that
@@ -1950,7 +1981,7 @@
% \section{Customizing page geometry}
%
%
-% \subsection{~Font sizes, skips, sinks indents, and penalties}
+% \subsection{~Font sizes, skips, sinks, indents, and penalties}
%
% \label{changingfontsandleading}
% \textsf{poemscol} sets the font sizes, but not the font family, of
@@ -2422,7 +2453,8 @@
% verse and chapter, |\biblechapter| and |\bibleverse| are provided
% for convenience.
-% \section{Parallel Text Editions}
+% \section{Parallel Text Editions} \label{parallelhack}
+% \subsection{Parallel Texts in Verse}
% \textsf{poemscol} does not make parallel texts in which the texts are
% set in parallel on the same page, but it can help one make parallel
% text editions in which the contrasting versions are set on facing
@@ -2444,6 +2476,8 @@
% \DescribeMacro{\finishrectopage}
% \DescribeMacro{\startversopage}
% \DescribeMacro{\finishversopage}
+% \DescribeMacro{\finishparalleltexts}
+% \DescribeEnv{parallelverse}
% You must begin a region of parallel text on a \emph{verso} page.
% Setting parallel texts requires one to redefine the poem and stanza
% environments. A parallel text region must begin with
@@ -2452,7 +2486,10 @@
% Recto pages should begin with |\startrectopage| and end with
% |\finishrectopage|. You have to declare the page breaks manually,
% so be sure you are putting the two |\finish| commands in places which
-% will work.
+% will work. |\finishparalleltexts| just makes certain that stanzas, and poems
+% that you opened in a region of parallel texts are closed when you leave it.
+% |\startparalleltexts| and |\finishparalleltexts| can be issued on their own
+% but I have combined them to make the |parallelverse| environment.
%
% Although usually with \textsf{poemscol} it is up to you where to put
% the marginal line numbers, when you issue |\startparalleltexts| the
@@ -2460,6 +2497,59 @@
% margin, line cross references (marking which lines in the recto text
% correspond to which lines in the verso text) are in the right margin.
%
+% \DescribeMacro{\versopoemtitle}
+% \DescribeMacro{\rectopoemtitle}
+% \DescribeMacro{\versopoemtitlenocontents}
+% \DescribeMacro{\rectopoemtitlenocontents}
+% If you are making a parallel text edition, you will probably need to
+% use |\definenewnotetype| to make the different kinds of endnote
+% for the parallel texts. For instance, you may use something like |\rectoexplanatory|
+% and |\versoexplanatory| for explanatory notes for the poems on the recto
+% and verso pages. Without special care, \textsf{poemscol} may become
+% confused about whether it has seen, for example, a |\rectoexplanatory| for
+% a particular poem or not, and, if |\settitleinnotes| is set, may neglect to put the
+% title in the notes for the first note for that poem. To remedy this, use |\versopoemtitle|
+% and |\rectopoemtitle| rather than |\poemtitle| in sections of parallel texts.
+%
+% \DescribeMacro{\keeptitlestraight}
+% \DescribeMacro{\resetitleinnotes}
+% While setting parallel texts \textsf{poemscol} checks at the beginning of every
+% verso or recto page whether the the different species of endnote for the poem on
+% that page has appeared before. On rare occasions this turns out not to be frequently
+% enough. In this case, the following hack, |\keeptitlesstraight| will check whether the verso or recto
+% poem has set that species of note each time it is issued. Suppose, for instance,
+% that you have defined, using |\definenewnotetype|, the following six
+% kinds of endnotes: |\versotextnote| |\versoemendation|, |\versoexplanatory|,
+% |\rectotextnote|, |\rectoemendation|, and |\rectoexplanatory|. You should
+% define a new command called |\keeptitlesstraight| to keep track of these six
+% kinds of note. Here is how it might look:\\
+% |\newcommand{\keeptitlesstraight}{|\\
+% |\pretocmd{\versotextnote}{\versotitleinnotescheck}{\relax}{\relax}|
+% |\pretocmd{\versoemendation}{\versotitleinnotescheck}{\relax}{\relax}|
+% |\pretocmd{\versoexplanatory}{\versotitleinnotescheck}{\relax}{\relax}|
+% |\pretocmd{\rectotextnote}{\rectotitleinnotescheck}{\relax}{\relax}|
+% |\pretocmd{\rectoemendation}{\rectotitleinnotescheck}{\relax}{\relax}|
+% |\pretocmd{\rectoexplanatory}{\rectotitleinnotescheck}{\relax}{\relax}|
+% |}|\\
+% All those fields filled with |\relax| are for reporting the success of failure
+% |\pretocmd| has had in appending |\versotitleinnotescheck| (or |\rectotitleinnotescheck|)
+% to the different endnotes commands. You may wish to replace
+% the |\relax| with something like |\typeout{versotextnote modified}| or
+% |\typeout{versotextnote not modified}|.
+%
+% Should a section of non-parallel texts follow a section of parallel texts, you
+% will need to issue the following hack after the parallel texts close:\\
+% |\newcommand{\resettitleinnotes}{|\\
+% |\noversoemendationyettrue%|\\
+% |\noversoexplanatoryyettrue%|\\
+% |\noversotextnoteyettrue%|\\
+% |\norectoemendationyettrue%|\\
+% |\norectoexplanatoryyettrue%|\\
+% |\norectotextnoteyettrue%|\\
+% |}|
+%
+%
+%
% \DescribeMacro{\synchrolabel} \DescribeMacro{\synchroref}
% \DescribeMacro{\setsynchroflag} To mark these cross references, you
% need to make a label on the verso side, and a corresponding
@@ -2495,6 +2585,36 @@
% \synchroref{Oh what can ail thee, knight at arms?}\verseline
% \end{verbatim}
%
+% \subsection{Parallel Prose Passages}
+% \DescribeMacro{\startparalleltextprose}
+% \DescribeMacro{\finishparalleltextprose}
+% \DescribeMacro{\startversoprosepage}
+% \DescribeMacro{\finishversoprosepage}
+% \DescribeMacro{\startrectoprosepage}
+% \DescribeMacro{\finishrectoprosepage}
+% \textsf{poemscol} is not designed to manage long parallel texts in prose,
+% but for shorter texts up to a couple of dozen pages, such as
+% two versions of an Author's Preface, say, \textsf{poemscol} has the |parallelprose|
+% environment. (You can also use |\startparalleltextprose| and |\finishparalleltextprose|.)
+% Like passages of parallel text in verse, parallel prose passages must start
+% on a verso page. Each verso page must start with |\startversoprosepage| and finish with
+% |\finishversoprosepage|, and each recto page must start with |\startrectoprosepage|
+% and finish with |\finishrectoprosepage|. If a page continues a paragraph from the previous
+% page, say, from a previous recto page, put the beginning of the
+% text on the second page right after the |\startrectopage| command. (Alternatively, you could just
+% begin that page with |\noindent|.)
+%
+% \DescribeMacro{\parastart}
+% \DescribeMacro{\paraend}
+% You must mark the beginning and end of every paragraph in parallel prose passages
+% with |\parastart| and |\paraend|.
+%
+% You will have to pick the page breaks manually, using |\newpage|, once you find where
+% \LaTeX\ would naturally break the page. Because how \LaTeX\ justifies text is a little
+% unpredictable, however, you may find that the line before the page break, which filled
+% the line before you added the page break, is actually a little shorter, and thus is
+% no longer justified. To fix this, add an |\hfil| between each word of the last line.
+%
% \section{Using \textsf{poemscol} in a Multilingual World}
%
% \begin{sloppypar}
@@ -3009,12 +3129,14 @@
\advance\leftmargin\runoverindentvalue}
\item[]}
{\endlist}
+\newif\ifinquotedverse
\newenvironment{quotedverse}{%
+ \inquotedversetrue
\let\\=\@centercr%
\list{}{\itemsep\z@ \itemindent -\runoverindentvalue\listparindent \itemindent
\rightmargin 0sp\leftmargin 0sp\advance\leftmargin
\runoverindentvalue}\item[]}
- {\endlist}
+ {\endlist\inquotedversefalse}
% rfoverse (flushes runover to right) (Just a placeholder now.)
% \newif\ifrfv
% \rfvfalse
@@ -3190,7 +3312,7 @@
% \begin{macrocode}
\fancypagestyle{volumefirststyle}{%
\fancyhf{}
-\fancyfoot[C]{\hfil{\small \botmark}}
+\fancyfoot[C]{\hfil{\small \botmark}\hfil}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
@@ -4526,7 +4648,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
+% \end{macro}
%
% \subsubsection{Poetic Sequences: Setting the Main Title}
% \begin{macro}{\sequencetitle}
@@ -5658,8 +5780,9 @@ literal#1\endcsname{\begin{multicols}{2}\fi\setlength{\parindent}{-10pt}}%
\relax\else
\modulolinenumbers[\value{prosemodulo}]% if lineno is called
\fi
+\newif\ifinprosesection
\newenvironment{prosesection}
-{\resetlinenumber\begin{linenumbers}%
+{\inprosesectiontrue\resetlinenumber\begin{linenumbers}%
\renewcommand{\linenumberfont}{\scriptsize}%
\ifnumbersright\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
%\else\ifnumbersswitch\switchlinenumbers\setlength{\linenumbersep}{\marginparsep}%
@@ -5670,7 +5793,7 @@ literal#1\endcsname{\begin{multicols}{2}\fi\setlength{\parindent}{-10pt}}%
\noemendyettrue%
\noexplainyettrue%
}
-{\end{linenumbers}}
+{\end{linenumbers}\inprosesectionfalse}
\newenvironment{prosesectionnoreset}
{\begin{linenumbers}%
\renewcommand{\linenumberfont}{\scriptsize}
@@ -5796,7 +5919,7 @@ r@#2\endcsname{}{}\@nil
% \end{macro}
% \begin{macro}{\prosetextnote}
% \begin{macrocode}
-\newcommand{\proselinelabel}[1]{\unskip\linelabel{#1}}
+\newcommand{\proselinelabel}[1]{\ifhmode\unskip\fi\linelabel{#1}}
\newcommand{\prosetextnote}[3][0]{%
\iftextnoteson%
\unskip\proselinelabel{#2}%
@@ -6388,7 +6511,6 @@ r@#2\endcsname{}{}\@nil
\immediate\write\explanations{\string\noindent\string\kern-#1}%
\fi}
% \end{macrocode}
-
% \subsection{~Marking stanza breaks on page turns} Use the macro
% below to change the symbol used to mark cases in which there is or is
% not a stanza break at a page turn.
@@ -6399,16 +6521,15 @@ r@#2\endcsname{}{}\@nil
\nostanzaatbottom{\relax}
% \end{macrocode}
% \subsection{~Parallel Texts}
-% First, two utility macros from the memoir class:
-% \begin{macro}{\cleartorecto}
+% First, three utility macros from the memoir class:
+% \begin{macro}{\cleartorecto}
% A repeat of |\cleardoublepage|; clears to a recto (odd-numbered) page.
% \begin{macrocode}
\def\cleartorecto{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}\thispagestyle{empty}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% \begin{macro}{\cleartoverso}
% Clears to a verso (even-numbered) page.
@@ -6416,13 +6537,28 @@ r@#2\endcsname{}{}\@nil
\def\cleartoverso{\clearpage\if@twoside
\ifodd\c@page\hbox{}\thispagestyle{empty}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
+%
+% \begin{macro}{\ifenv}
+% Macro for testing whether one is in a particular environment.
+% \begin{macrocode}
+\makeatletter
+\def\ifenv#1{%
+ \def\reserved@a{#1}%
+ \ifx\reserved@a\@currenvir
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\makeatother
+% \end{macrocode}
+% \end{macro}
% Macros for forcing the marginal line numbers to the left side or
% the right side. These marginal line numbers, unlike those made with
-% |\marginpar|, do not float. This code is modelled after code from
+% |\marginpar|, do not float. This code is modeled after code from
% the memoir class, by Peter Wilson.
%
% \begin{macro}{\pmclleftsidepar}
@@ -6533,6 +6669,24 @@ r@#2\endcsname{}{}\@nil
\rectopoemstillopenfalse
\newif\ifversopoemstillopen
\versopoemstillopenfalse
+% the same for prose sections
+\newif\ifrectoprosesectionpending
+\rectoprosesectionpendingfalse
+\newif\ifversoprosesectionpending
+\versoprosesectionpendingfalse
+\newif\ifrectoprosesectionstillopen
+\rectoprosesectionstillopenfalse
+\newif\ifversoprosesectionstillopen
+\versoprosesectionstillopenfalse
+% the same for quoted verse
+\newif\ifrectoquotedversepending
+\rectoquotedversependingfalse
+\newif\ifversoquotedversepending
+\versoquotedversependingfalse
+\newif\ifrectoquotedversestillopen
+\rectoquotedversestillopenfalse
+\newif\ifversoquotedversestillopen
+\versoquotedversestillopenfalse
% \end{macrocode}
% A further set of booleans is required for emendations and
% explanatory notes. Again the idea is that if a poem is artificially
@@ -6632,6 +6786,133 @@ r@#2\endcsname{}{}\@nil
\nolinebreak
}
}
+\newenvironment{parallelverse}{\startparalleltexts}
+{\finishparalleltexts}
+\newtoks{\versotitleholder}
+\newtoks{\rectotitleholder}
+\newcommand{\makeversotitleholder}[1]{%
+\versotitleholder={#1}%
+}
+\newcommand{\makerectotitleholder}[1]{%
+\rectotitleholder={#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\versopoemtitle}
+% \begin{macrocode}
+\makeatletter
+\newcommand{\versopoemtitle}[1]{%
+\versoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+}
+\newcommand{\versoset@p@emtitle}[6]{\setlength{\titleentryoverrun}{#6}%
+{#2}%
+{#3 \begin{titleentryenvironment}%
+{\ifcentertitleson\begin{center}#4 #1\end{center}\else #4 #1\fi}%
+\end{titleentryenvironment}}%
+{#5}%
+\m@kep@emlabel
+\versom@ken@teholder{#1}%
+\setlength{\titleentryoverrun}{\z@}}
+\newcommand{\versom@ken@teholder}[1]{%
+\ifsinglelinetitle
+\versotitleholder={#1}%
+\global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+\else\iftitlefirstline
+ \versotitleholder={#1}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else\iftitlemiddleline
+ \titlesofar=\versotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \versotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else
+ \titlesofar=\versotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \versotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \fi
+ \fi
+ \fi
+}
+\newcommand{\versotitletoothernotes}{\string\par
+\ifputpagenumberinnotes%
+\string\argpageref\string{\@compoundlabelscratch\string}%
+\string\setcounterfrompageref\string{notepageholdertitle\string}%
+\string{\@compoundlabelscratch\string}%
+\fi%
+\string\textbf\string{\ \the\versotitleholder\string}
+}%
+\newcommand{\versopoemtitlenocontents}[1]{%
+\versoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+}
+\newcommand{\versotitleinnotescheck}{\ifparalleltexts\let\titletoothernotes=\versotitletoothernotes\fi}
+\makeatother
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\rectopoemtitle}
+% \begin{macrocode}
+\makeatletter
+\newcommand{\rectopoemtitle}[1]{%
+\rectoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+}
+\newcommand{\rectoset@p@emtitle}[6]{\setlength{\titleentryoverrun}{#6}%
+{#2}%
+{#3 \begin{titleentryenvironment}%
+{\ifcentertitleson\begin{center}#4 #1\end{center}\else #4 #1\fi}%
+\end{titleentryenvironment}}%
+{#5}%
+\m@kep@emlabel
+\rectom@ken@teholder{#1}%
+\setlength{\titleentryoverrun}{\z@}}
+\newcommand{\rectom@ken@teholder}[1]{%
+\ifsinglelinetitle
+\rectotitleholder={#1}%
+\global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+\else\iftitlefirstline
+ \rectotitleholder={#1}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else\iftitlemiddleline
+ \titlesofar=\rectotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \rectotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else
+ \titlesofar=\rectotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \rectotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \fi
+ \fi
+ \fi
+}
+\newcommand{\rectotitletoothernotes}{\string\par
+\ifputpagenumberinnotes%
+\string\argpageref\string{\@compoundlabelscratch\string}%
+\string\setcounterfrompageref\string{notepageholdertitle\string}%
+\string{\@compoundlabelscratch\string}%
+\fi%
+\string\textbf\string{\ \the\rectotitleholder\string}
+}%
+\newcommand{\rectopoemtitlenocontents}[1]{%
+\rectoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+%\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+%{\contentsindenttwoamount}%
+%\t@xtnotesinfo{#1}%
+}
+\newcommand{\rectotitleinnotescheck}{\ifparalleltexts\let\titletoothernotes=\rectotitletoothernotes\fi}
+\makeatother
% \end{macrocode}
% \end{macro}
% \begin{macro}{\saveversoline}
@@ -6700,7 +6981,7 @@ r@#2\endcsname{}{}\@nil
% \end{macrocode}
% \end{macro}
% Finally, the |\startversopage|, |\finishversopage|, |\startrectopage|
-% and |\finishrectopage| macros:
+% |\finishrectopage| and |\finishparalleltexts| macros:
% \begin{macro}{\startversopage}
% \begin{macrocode}
\newcommand{\startversopage}{
@@ -6730,7 +7011,8 @@ r@#2\endcsname{}{}\@nil
\noexplainyetfalse
\global\versoexplanationspendingfalse
\fi
-\versotrue\restoreversoline}
+\rectofalse\versotrue\restoreversoline
+\let\titletoothernotes=\versotitletoothernotes}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\finishversopage}
@@ -6792,7 +7074,8 @@ r@#2\endcsname{}{}\@nil
\noexplainyetfalse
\global\rectoexplanationspendingfalse
\fi
-\rectotrue\restorerectoline}
+\versofalse\rectotrue\restorerectoline
+\let\titletoothernotes=\rectotitletoothernotes}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\finishrectopage}
@@ -6824,6 +7107,147 @@ r@#2\endcsname{}{}\@nil
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\finishparalleltexts}
+% \begin{macrocode}
+\newcommand{\finishparalleltexts}{
+\ifinstanza
+\end{stanza}
+\fi
+\ifinpoem
+\end{poem}
+\fi
+\ifinprosesection
+\end{prosesection}
+\fi
+\ifinquotedverse
+\end{quotedverse}
+\fi
+\rectofalse\versofalse\paralleltextsfalse
+}
+% \end{macrocode}
+% \end{macro}
+% \subsection{~Parallel Texts in Prose}
+% First, some booleans.
+% \begin{macro}{\ifversopassagestillopen}
+% \begin{macrocode}
+\newif\ifversopassagestillopen
+\versopassagestillopenfalse
+\newif\ifrectopassagestillopen
+\rectopassagestillopenfalse
+% \end{macrocode}
+% \end{macro}
+% When the last recto page ended, was the last paragraph finished?
+% True means the next recto should continue the paragraph from the last recto
+% \begin{macro}{\ifinpara}
+% \begin{macrocode}
+\newif\ifinpara
+\inparafalse
+\newif\ifrectoparapending
+\rectoparapendingfalse
+\newif\ifrectoparaopen
+\rectoparaopenfalse
+\newif\ifversoparapending
+\versoparapendingfalse
+\newif\ifversoparaopen
+\versoparaopenfalse
+% \end{macrocode}
+% \end{macro}
+% Counters: prosepage versoproselinecounter, etc., and commands to set them.
+% \begin{macro}{\makeprosepagelabel}
+% \begin{macrocode}
+\newcounter{prosepage}
+\setcounter{prosepage}{1}
+\newcommand{\makeprosepagelabel}{\proselinelabel{prosepageno\theprosepage}}
+\newcounter{versoproselinecounter}
+\newcommand{\saveversoproseline}{%
+\refstepcounter{prosepage}%
+\makeprosepagelabel
+\setcounterfromref{versoproselinecounter}{prosepageno\theprosepage}
+}
+\newcommand{\restoreversoproseline}{\setcounter{linenumber}{\value{versoproselinecounter}}}%
+\newcounter{rectoproselinecounter}
+\newcommand{\saverectoproseline}{%
+\refstepcounter{prosepage}%
+\makeprosepagelabel
+\setcounterfromref{rectoproselinecounter}{prosepageno\theprosepage}
+}
+\newcommand{\restorerectoproseline}{\setcounter{linenumber}%
+ {\value{rectoproselinecounter}}}%
+% \end{macrocode}
+% \end{macro}
+% The |\parastart| and |\paraend| macros, to mark the beginning and end
+% of paragraphs
+% \begin{macro}{\parastart}
+% \begin{macrocode}
+\newcommand{\parastart}{\inparatrue}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\paraend}
+% \begin{macrocode}
+\newcommand{\paraend}{\inparafalse}
+% \end{macrocode}
+% \end{macro}
+% |\startparalleltextsprose| and |\finishparalleltextsprose|
+% \begin{macro}{\startparalleltextsprose}
+% \begin{macrocode}
+\newcommand{\startparalleltextsprose}{%
+\leavevmode
+\cleartoverso
+\paralleltextstrue
+\inparafalse
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\finishparalleltextsprose}
+% \begin{macrocode}
+\newcommand{\finishparalleltextsprose}{%
+\paralleltextsfalse}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{parallelprose}
+% \begin{macrocode}
+\newenvironment{parallelprose}{\startparalleltextprose} {\finishparalleltextsprose}
+% \end{macrocode}
+% \end{macro}
+% |\startversoprosepage|
+% \begin{macro}{\startversoprosepage}
+% \begin{macrocode}
+\newcommand{\startversoprosepage}{%
+\let\titletoothernotes=\versotitletoothernotes
+\restoreversoproseline%
+\ifversoparapending{\inparatrue}\else{\inparafalse}\fi%
+\ifinpara{\noindent}\else{\relax}\fi%
+}
+% \end{macrocode}
+% \end{macro}
+% |\finishversoprosepage|
+% \begin{macro}{\finishversoprosepage}
+% \begin{macrocode}
+\newcommand{\finishversoprosepage}{%
+\ifinpara{\versoparapendingtrue}\else{\versoparapendingfalse}\fi%
+\saveversoproseline%
+}
+% \end{macrocode}
+% \end{macro}
+% |\startrectoprosepage|
+% \begin{macro}{\startrectoprosepage}
+% \begin{macrocode}
+\newcommand{\startrectoprosepage}{%
+\let\titletoothernotes=\rectotitletoothernotes
+\restorerectoproseline%
+\ifrectoparapending{\inparatrue}\else{\inparafalse}\fi%
+\ifinpara{\noindent}\else{\relax}\fi%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\finishrectoprosepage}
+% \begin{macrocode}
+\newcommand{\finishrectoprosepage}{%
+\ifinpara{\rectoparapendingtrue}\else{\rectoparapendingfalse}\fi%
+\saverectoproseline
+}
+% \end{macrocode}
+% \end{macro}
% \subsection{~Finishing up}
% \begin{macro}{\finish}
% The |\finish| macro reads in the notes,
diff --git a/Master/texmf-dist/source/latex/poemscol/poemscol.ins b/Master/texmf-dist/source/latex/poemscol/poemscol.ins
index 5d4cb70e69c..0628d333e1b 100644
--- a/Master/texmf-dist/source/latex/poemscol/poemscol.ins
+++ b/Master/texmf-dist/source/latex/poemscol/poemscol.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2002 by John Burt
+%% Copyright (C) 2013 by John Burt
%%
%% This file may be distributed and/or modified under the conditions
%% of the LateX Project Public License, either verison 1.2 of this
diff --git a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty
index 0686ae5934f..825ae7c4c68 100644
--- a/Master/texmf-dist/tex/latex/poemscol/poemscol.sty
+++ b/Master/texmf-dist/tex/latex/poemscol/poemscol.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1997/12/01]
\ProvidesPackage{poemscol}
- [2013/08/20 v2.64 poemscol file]
+ [2015/6/18 v2.7 poemscol file]
@@ -142,12 +142,14 @@
\advance\leftmargin\runoverindentvalue}
\item[]}
{\endlist}
+\newif\ifinquotedverse
\newenvironment{quotedverse}{%
+ \inquotedversetrue
\let\\=\@centercr%
\list{}{\itemsep\z@ \itemindent -\runoverindentvalue\listparindent \itemindent
\rightmargin 0sp\leftmargin 0sp\advance\leftmargin
\runoverindentvalue}\item[]}
- {\endlist}
+ {\endlist\inquotedversefalse}
\newcounter{verselinenumber}
\newcounter{printlineindex}
@@ -264,7 +266,7 @@
\fancypagestyle{volumefirststyle}{%
\fancyhf{}
-\fancyfoot[C]{\hfil{\small \botmark}}
+\fancyfoot[C]{\hfil{\small \botmark}\hfil}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}
@@ -1765,8 +1767,9 @@ literal#1\endcsname{\begin{multicols}{2}\fi\setlength{\parindent}{-10pt}}%
\relax\else
\modulolinenumbers[\value{prosemodulo}]% if lineno is called
\fi
+\newif\ifinprosesection
\newenvironment{prosesection}
-{\resetlinenumber\begin{linenumbers}%
+{\inprosesectiontrue\resetlinenumber\begin{linenumbers}%
\renewcommand{\linenumberfont}{\scriptsize}%
\ifnumbersright\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
\else\ifnumbersswitch\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
@@ -1776,7 +1779,7 @@ literal#1\endcsname{\begin{multicols}{2}\fi\setlength{\parindent}{-10pt}}%
\noemendyettrue%
\noexplainyettrue%
}
-{\end{linenumbers}}
+{\end{linenumbers}\inprosesectionfalse}
\newenvironment{prosesectionnoreset}
{\begin{linenumbers}%
\renewcommand{\linenumberfont}{\scriptsize}
@@ -1858,7 +1861,7 @@ r@#2\endcsname{}{}\@nil
\string{\string\mark\string{\string\thenotepageholdernote\string}\string}%
\string{\string\mark\string{\string\thenotepageholdertitle\string}\string}\string\unskip
\string\unskip\string\relax\ \proseciterange :\string~\string\nolinebreak}%
-\newcommand{\proselinelabel}[1]{\unskip\linelabel{#1}}
+\newcommand{\proselinelabel}[1]{\ifhmode\unskip\fi\linelabel{#1}}
\newcommand{\prosetextnote}[3][0]{%
\iftextnoteson%
\unskip\proselinelabel{#2}%
@@ -2309,7 +2312,6 @@ r@#2\endcsname{}{}\@nil
{\ifexplanon%
\immediate\write\explanations{\string\noindent\string\kern-#1}%
\fi}
-
\newcommand{\stanzaatbottom}[1]{\global\edef\stanzaatbottomvalue{#1}}
\stanzaatbottom{*}
\newcommand{\nostanzaatbottom}[1]{\global\edef\nostanzaatbottomvalue{#1}}
@@ -2317,11 +2319,19 @@ r@#2\endcsname{}{}\@nil
\def\cleartorecto{\clearpage\if@twoside \ifodd\c@page\else
\hbox{}\thispagestyle{empty}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
\def\cleartoverso{\clearpage\if@twoside
\ifodd\c@page\hbox{}\thispagestyle{empty}%
\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
-
+\makeatletter
+\def\ifenv#1{%
+ \def\reserved@a{#1}%
+ \ifx\reserved@a\@currenvir
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\makeatother
\newdimen\pmclsavsk
\newcount\pmclsavsf
\def\pmclbsphack{%
@@ -2385,6 +2395,22 @@ r@#2\endcsname{}{}\@nil
\rectopoemstillopenfalse
\newif\ifversopoemstillopen
\versopoemstillopenfalse
+\newif\ifrectoprosesectionpending
+\rectoprosesectionpendingfalse
+\newif\ifversoprosesectionpending
+\versoprosesectionpendingfalse
+\newif\ifrectoprosesectionstillopen
+\rectoprosesectionstillopenfalse
+\newif\ifversoprosesectionstillopen
+\versoprosesectionstillopenfalse
+\newif\ifrectoquotedversepending
+\rectoquotedversependingfalse
+\newif\ifversoquotedversepending
+\versoquotedversependingfalse
+\newif\ifrectoquotedversestillopen
+\rectoquotedversestillopenfalse
+\newif\ifversoquotedversestillopen
+\versoquotedversestillopenfalse
\newif\ifrectoemendationspending
\rectoemendationspendingfalse
\newif\ifversoemendationspending
@@ -2456,6 +2482,122 @@ r@#2\endcsname{}{}\@nil
\nolinebreak
}
}
+\newenvironment{parallelverse}{\startparalleltexts}
+{\finishparalleltexts}
+\newtoks{\versotitleholder}
+\newtoks{\rectotitleholder}
+\newcommand{\makeversotitleholder}[1]{%
+\versotitleholder={#1}%
+}
+\newcommand{\makerectotitleholder}[1]{%
+\rectotitleholder={#1}%
+}
+\makeatletter
+\newcommand{\versopoemtitle}[1]{%
+\versoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+}
+\newcommand{\versoset@p@emtitle}[6]{\setlength{\titleentryoverrun}{#6}%
+{#2}%
+{#3 \begin{titleentryenvironment}%
+{\ifcentertitleson\begin{center}#4 #1\end{center}\else #4 #1\fi}%
+\end{titleentryenvironment}}%
+{#5}%
+\m@kep@emlabel
+\versom@ken@teholder{#1}%
+\setlength{\titleentryoverrun}{\z@}}
+\newcommand{\versom@ken@teholder}[1]{%
+\ifsinglelinetitle
+\versotitleholder={#1}%
+\global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+\else\iftitlefirstline
+ \versotitleholder={#1}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else\iftitlemiddleline
+ \titlesofar=\versotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \versotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else
+ \titlesofar=\versotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \versotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \fi
+ \fi
+ \fi
+}
+\newcommand{\versotitletoothernotes}{\string\par
+\ifputpagenumberinnotes%
+\string\argpageref\string{\@compoundlabelscratch\string}%
+\string\setcounterfrompageref\string{notepageholdertitle\string}%
+\string{\@compoundlabelscratch\string}%
+\fi%
+\string\textbf\string{\ \the\versotitleholder\string}
+}%
+\newcommand{\versopoemtitlenocontents}[1]{%
+\versoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+}
+\newcommand{\versotitleinnotescheck}{\ifparalleltexts\let\titletoothernotes=\versotitletoothernotes\fi}
+\makeatother
+\makeatletter
+\newcommand{\rectopoemtitle}[1]{%
+\rectoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+}
+\newcommand{\rectoset@p@emtitle}[6]{\setlength{\titleentryoverrun}{#6}%
+{#2}%
+{#3 \begin{titleentryenvironment}%
+{\ifcentertitleson\begin{center}#4 #1\end{center}\else #4 #1\fi}%
+\end{titleentryenvironment}}%
+{#5}%
+\m@kep@emlabel
+\rectom@ken@teholder{#1}%
+\setlength{\titleentryoverrun}{\z@}}
+\newcommand{\rectom@ken@teholder}[1]{%
+\ifsinglelinetitle
+\rectotitleholder={#1}%
+\global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+\else\iftitlefirstline
+ \rectotitleholder={#1}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else\iftitlemiddleline
+ \titlesofar=\rectotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \rectotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \else
+ \titlesofar=\rectotitleholder
+ \titleincrement={~#1}%
+ \global\edef\titleconcat{\the\titlesofar \the\titleincrement}%
+ \rectotitleholder=\expandafter{\titleconcat}%
+ \global\edef\@compoundlabelscratch{poem\thepoemnumber}%
+ \fi
+ \fi
+ \fi
+}
+\newcommand{\rectotitletoothernotes}{\string\par
+\ifputpagenumberinnotes%
+\string\argpageref\string{\@compoundlabelscratch\string}%
+\string\setcounterfrompageref\string{notepageholdertitle\string}%
+\string{\@compoundlabelscratch\string}%
+\fi%
+\string\textbf\string{\ \the\rectotitleholder\string}
+}%
+\newcommand{\rectopoemtitlenocontents}[1]{%
+\rectoset@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+}
+\newcommand{\rectotitleinnotescheck}{\ifparalleltexts\let\titletoothernotes=\rectotitletoothernotes\fi}
+\makeatother
\newcommand{\saveversoline}{\setcounter{versolinecounter}%
{\value{verselinenumber}}%
\setcounter{versoindexscratch}{\value{printlineindex}}}
@@ -2503,7 +2645,8 @@ r@#2\endcsname{}{}\@nil
\noexplainyetfalse
\global\versoexplanationspendingfalse
\fi
-\versotrue\restoreversoline}
+\rectofalse\versotrue\restoreversoline
+\let\titletoothernotes=\versotitletoothernotes}
\newcommand{\finishversopage}{
\saveversoline\versofalse\
\ifinpoem
@@ -2556,7 +2699,8 @@ r@#2\endcsname{}{}\@nil
\noexplainyetfalse
\global\rectoexplanationspendingfalse
\fi
-\rectotrue\restorerectoline}
+\versofalse\rectotrue\restorerectoline
+\let\titletoothernotes=\rectotitletoothernotes}
\newcommand{\finishrectopage}{\saverectoline\rectofalse
\ifinpoem
\global\rectopoempendingtrue
@@ -2581,6 +2725,84 @@ r@#2\endcsname{}{}\@nil
\noexplainyetfalse
\fi
}
+\newcommand{\finishparalleltexts}{
+\ifinstanza
+\end{stanza}
+\fi
+\ifinpoem
+\end{poem}
+\fi
+\ifinprosesection
+\end{prosesection}
+\fi
+\ifinquotedverse
+\end{quotedverse}
+\fi
+\rectofalse\versofalse\paralleltextsfalse
+}
+\newif\ifversopassagestillopen
+\versopassagestillopenfalse
+\newif\ifrectopassagestillopen
+\rectopassagestillopenfalse
+\newif\ifinpara
+\inparafalse
+\newif\ifrectoparapending
+\rectoparapendingfalse
+\newif\ifrectoparaopen
+\rectoparaopenfalse
+\newif\ifversoparapending
+\versoparapendingfalse
+\newif\ifversoparaopen
+\versoparaopenfalse
+\newcounter{prosepage}
+\setcounter{prosepage}{1}
+\newcommand{\makeprosepagelabel}{\proselinelabel{prosepageno\theprosepage}}
+\newcounter{versoproselinecounter}
+\newcommand{\saveversoproseline}{%
+\refstepcounter{prosepage}%
+\makeprosepagelabel
+\setcounterfromref{versoproselinecounter}{prosepageno\theprosepage}
+}
+\newcommand{\restoreversoproseline}{\setcounter{linenumber}{\value{versoproselinecounter}}}%
+\newcounter{rectoproselinecounter}
+\newcommand{\saverectoproseline}{%
+\refstepcounter{prosepage}%
+\makeprosepagelabel
+\setcounterfromref{rectoproselinecounter}{prosepageno\theprosepage}
+}
+\newcommand{\restorerectoproseline}{\setcounter{linenumber}%
+ {\value{rectoproselinecounter}}}%
+\newcommand{\parastart}{\inparatrue}
+\newcommand{\paraend}{\inparafalse}
+\newcommand{\startparalleltextsprose}{%
+\leavevmode
+\cleartoverso
+\paralleltextstrue
+\inparafalse
+}
+\newcommand{\finishparalleltextsprose}{%
+\paralleltextsfalse}
+\newenvironment{parallelprose}{\startparalleltextprose} {\finishparalleltextsprose}
+\newcommand{\startversoprosepage}{%
+\let\titletoothernotes=\versotitletoothernotes
+\restoreversoproseline%
+\ifversoparapending{\inparatrue}\else{\inparafalse}\fi%
+\ifinpara{\noindent}\else{\relax}\fi%
+}
+\newcommand{\finishversoprosepage}{%
+\ifinpara{\versoparapendingtrue}\else{\versoparapendingfalse}\fi%
+\saveversoproseline%
+}
+\newcommand{\startrectoprosepage}{%
+\let\titletoothernotes=\rectotitletoothernotes
+\restorerectoproseline%
+\ifrectoparapending{\inparatrue}\else{\inparafalse}\fi%
+\ifinpara{\noindent}\else{\relax}\fi%
+}
+\newcommand{\finishrectoprosepage}{%
+\ifinpara{\rectoparapendingtrue}\else{\rectoparapendingfalse}\fi%
+\saverectoproseline
+}
\newcommand{\finish}{
\small\bf \hyphenchar\font=45