summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/poemscol
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2006-10-04 08:43:01 +0000
committerNorbert Preining <preining@logic.at>2006-10-04 08:43:01 +0000
commitba9472aebfed07843bc4faa00c7b96bc86194691 (patch)
tree4a952a012e2f1663beaac6384dec265fb50dd361 /Master/texmf-dist/source/latex/poemscol
parenta88bdfe70c672cfced299babf0a54881a916bcca (diff)
Fix ctan2tds for pgf installation
comment powerdot-doc-vn in tpm-ctan-check, it always breaks Update of the following packages: labelcas pstricks-add sectionbox ltxmisc frenchle flowfram verse emulateapj pst-pdf poemscol babelbib dk-bib breakurl screenplay ncctools xkeyval bibleref muthesis pst-labo pgf ncclatex active-conf xcolor commath lineno dottex makeplo git-svn-id: svn://tug.org/texlive/trunk@2240 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/poemscol')
-rw-r--r--Master/texmf-dist/source/latex/poemscol/poemscol.dtx649
1 files changed, 513 insertions, 136 deletions
diff --git a/Master/texmf-dist/source/latex/poemscol/poemscol.dtx b/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
index 90f00abd417..531b736625e 100644
--- a/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
+++ b/Master/texmf-dist/source/latex/poemscol/poemscol.dtx
@@ -18,7 +18,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01]
%<package>\ProvidesPackage{poemscol}
-%<package> [2006/04/25 v2.49 poemscol file]
+%<package> [2006/05/19 v2.51 poemscol file]
%
%<*driver>
\documentclass{ltxdoc}
@@ -32,7 +32,7 @@
%</driver>
% \fi
%
-% \CheckSum{5584}
+% \CheckSum{5976}
%
% \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
@@ -171,6 +171,25 @@
% white space after the title with pmclsidepar). Added marginal
% reference commands for sequences and sequence sections. Fixed
% errors in manual. }
+% \changes{v2.50}{2006/05/13}{Added marginal
+% reference commands for poem sections, poem subtitles, epigraphs,
+% and dedications. These commands no longer require an addition label
+% command to set the label to which they refer. Added commands to
+% make marginal references to the pages in notes sections where
+% comments on individual lines may be found, for textual notes,
+% explanatory notes, emendations, and user-defined notes. Added
+% commands for changing the names of the Table of Contents, the
+% various endnotes sections, and the running headers for the contents
+% and endnotes sections, in order to facilitate editions of works in
+% languages other than English.}
+% \changes{v2.51}{2006/05/22}{Changed prose section environment so
+% that it does not always assume that the modulo for line numbers in
+% prose is the same as the number in verse. Corrected a problem with
+% alignment of line numbers in the prosesectionnoreset environment.
+% Added commands to support generation of multiple indices using the
+% splitindex package. Fixed a variety of small bugs, including a
+% newly introduced one in the correction to textual notes for quoted
+% verse.}
% \GetFileInfo{poemscol.sty}
%
% \DoNotIndex{\newcommand,\newenvironment,\def,\edef,\else,\renewcommand,\makeatletter,\makeatother}
@@ -206,13 +225,13 @@
% \textsc, \unskip}
% \setcounter{IndexColumns}{2}
% \MakeShortVerb{|}
-% \def\fileversion{2.49}
-% \def\filedate{9 May 2006}
-% \def\docdate{9 May 2006}
+% \def\fileversion{2.51}
+% \def\filedate{22 May 2006}
+% \def\docdate{22 May 2006}
% \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{May 9, 2006}
+% \date{May 22, 2006}
% \maketitle
% \begin{abstract}
% \textsf{poemscol} provides macros for \LaTeX\ for setting
@@ -340,6 +359,9 @@
% preamble, or at least is loaded after those packages upon which it
% depends.
%
+% If you are planning to generate multiple indices, substitute
+% \textsf{splitindex} for \textsf{makeidx} in your list of packages.
+%
%
% \subsection{~Prose sections}
% If you plan to number lines in prose contexts, and to make textual
@@ -400,7 +422,17 @@
% |\leftsidepar|, and |\rightsidepar| to |\pmclsidepar|,
% |\pmclleftsidepar| and |\pmclrightsidepar| respectively. If you
% used any of these commands in your files, you will need to change
-% their names.
+% their names.
+%
+% Up to version 2.5 the |\definenewnotetype| command took four
+% arguments, using the third argument for both the running header for
+% the notes section and for the entry in the table of contents. In
+% order to make it easier to handle titles in languages other than
+% English I have found it necessary to separate these two uses, so
+% |\definenewnotetype| now takes five arguments. You will need to
+% retrofit files that use the old version of this command. You can
+% see the details at section \ref{definingnewnotes}, page
+% \pageref{definingnewnotes}.
%
% \subsection{~Incompatibility with \textsf{memoir} and \textsf{verse}}
% Unfortunately, \textsf{poemscol} is not compatible with the
@@ -861,7 +893,10 @@
% you may need to run your file through \LaTeX\ after running
% MakeIndex, to put the entry for the index into your table of
% contents. |\putpoemindex| inputs the formatted index, and adds an entry
-% for it into the table of contents.
+% for it into the table of contents. Use |\putmultiplepoemindex| if
+% you are making several indices. For instructions about
+% |\putmultiplepoemindex| see section \ref{multipleindex},
+% p.~\pageref{multipleindex}.
%
% \begin{sloppypar}\DescribeMacro{\puttextnotes}
% \DescribeMacro{\putemendations}
@@ -925,8 +960,54 @@
% ``the'' in the title. It also enables you to distinguish titles
% from first lines (by italicizing them), and to include typesetting
% information (such as italicization) in titles or first lines without
-% messing up their sort order.
-%
+% messing up their sort order.
+%
+% \subsection{Making Multiple Indices}\label{multipleindex}
+% \textsf{poemscol} can work with \textsf{splitindex} to generate
+% more than one index. You might, for instance, wish a separate index
+% of titles and index of first lines, or an index of proper names. To
+% do this, call \textsf{splitindex} in your list of packages. Then,
+% in your preamble, declare the indices you are planning to use, e.g.
+% |\newindex[Index of Titles]{idx}|
+% |\newindex[Index of First Lines]{fir}|
+% |\newindex[Onomastic Index]{ono}|. The second argument is the
+% ``shortcut'' defined by \textsf{splitindex}, and will be used to
+% mark index entries in your text (see below), and as the extension
+% for the external index files used by MakeIndex.
+%
+% Then mark up individual entries. Some entries (in the example
+% above, the ``Index of Titles'' examples) can be marked up with
+% |\index| just as if you were using only one index. Entries for
+% other indices should be marked using the |\sindex| command from
+% \textsf{splitindex}, as follows
+% \begin{verbatim}
+% \sindex[fir]{Of Man's first disobedience and the fruit}
+% \end{verbatim}
+% where the
+% first argument is the ``shortcut'' and the second is the index
+% entry. If you are loading \textsf{splitindex} with the
+% \textsf{split} option, the different types of index entry will be
+% sent to separate output streams, which each must be processed separately
+% with MakeIndex. \TeX\ has only a limited number of such output
+% streams, however, so it is probably wiser not to choose that
+% option, but to use splitindex.tex, splitindex.pl, or one of the
+% other means provided with the \textsf{splitindex} package to break
+% up the index into the separate parts, each of which must be
+% processed with MakeIndex separately.
+%
+% To include the indices, and to add entries for them to the table of
+% contents, issue |\putmultiplepoemindex| for each one.
+% |\putmultiplepoemindex| takes four arguments, which are: 1. The
+% three letter ``shortcut'' used by |\splitindex|, 2. The title of
+% the Index on its first page, 3. The running header for that index
+% section, and 4. The name of the section as you wish it to appear in
+% the Table of Contents. So, for instance
+% \begin{verbatim}
+% \putmultipleindex{fir}{INDEX OF FIRST LINES]{Index of First
+% Lines}{First Line Index} \end{verbatim}
+% includes an index with shortcut ``fir,'' title ``INDEX OF FIRST
+% LINES,'' running header ``Index of First Lines,'' and contents
+% entry ``First Line Index.''
% \section{Collections with multiple volumes}
% \DescribeEnv{volumetitlepage} \DescribeEnv{maintitlepage}
% The |\volumetitlepage| environment is an
@@ -1110,7 +1191,11 @@
% individual textnote follows the verse. It's only a problem if the
% last thing in the note is quoted verse, and the note is not the
% last one
-% on that poem.)
+% on that poem.) The command should set it flush as it is, but I have
+% found odd cases I can't understand in which that doesn't work, so
+% the command has an optional argument, which should
+% be the additional length you need to adjust the next line by to make it flush.
+% The default is 0pt.
% |\quotedversecorrectionexplanatory| and
% |\quotedversecorrectionemendation| should follow explanatory notes
% or emendations that end with snippets of verse. These three
@@ -1212,8 +1297,10 @@
% \DescribeMacro{\definenewnotetype} The |\definenewnotetype| macro
% can be used to create new kinds of endnote, in case the kinds
% \textsf{poemscol} defined are not enough. |\definenewnotetype|
-% takes four arguments. They are \begin{enumerate}
-% \item A base name used to construct \begin{itemize}
+% takes five arguments. They are
+% \begin{enumerate}
+% \item A base name used to construct
+% \begin{itemize}
% \item some |\if| variables (e.g. |\ifmynoteson| to see whether you are
% collecting ``mynotes'', and |\ifnomynoteyet| to see whether you
% have written a ``mynote'' for a particular poem yet). \textsf{poemscol}
@@ -1234,7 +1321,11 @@
% \item The name of the |\put| command (e.g. |\putmynotes|) which closes
% the external file for the notes section, reads it back in to your
% document, and adds an entry in the table of contents for that notes
-% section. This command will always be plural. \end{itemize}
+% section. This command will always be plural. \item The name of the
+% |\margref| command for putting a marginal mark next to a line
+% giving the page number in the apparatus where a note is to be found
+% (e.g. |\margrefmynote|)
+% \end{itemize}
% \item The extension for the external file which will hold the notes
% as you generate them. ``Emendations'' for instance, are written to
% an external file called |\jobname.emd| The file name will always
@@ -1244,14 +1335,18 @@
% setting running a file called ``myfile.tex'' through \LaTeX\,
% |\jobname.emd| translates to ``myfile.emd.'')
% \item The title of the notes section as you wish it to appear in
-% the running header and in the table of contents (e.g.
+% the running header (e.g.
% ``Emendations'').
% \item The title of the notes section as you wish it to appear on
% the first page of the notes section (e.g. ``EMENDATIONS'').
+% \item The title of the notes section as you wish it to appear in
+% the table of contents.
% \end{enumerate}
%
-% So, for instance,
-% |\definenewnotetype{xyznote}{xyz}{Xyznotes}{XYZNOTES}| creates the
+% So, for instance,\begin{verbatim}
+% \definenewnotetype{xyznote}{xyz}{Xyznotes to}{XYZNOTES}{Xyznotes}
+% \end{verbatim}
+% creates the
% booleans |\ifxyznoteson| and |\ifnoxyznoteyet|, the commands |\xyznote|,
% |\literalxyznote|, |\prosexyznote|, |\pmxyznote|, and |\putxyznotes| (and, although you don't ever
% have to use it explicitly, |\firstxyznote|) the output channel xyznotes,
@@ -1310,7 +1405,7 @@
% booleans which set the style of footnotes from |\emendation| and
% |\explanatory| respectively. By default, footnotes from
% |\emendation| are set in ``para'' mode, and footnotes from
-% |\explanatory| are set in ``plain'' mode. To change the explanatory
+% |\explanatory| are set in ``plain'' mode. g explanatory
% footnotes from plain to para mode, for instance, issue
% |\global\explanfootnotesparatrue|. Counterintuitive as it sounds,
% you must issue this \emph{before} issuing |\textnotesatfoot| (or the
@@ -1385,6 +1480,11 @@
% this point, and adds an entry for the index to external file for the
% table of contents.
%
+% \DescribeMacro{\putmultiplepoemindex} If you are generating
+% several indices using \textsf{splitindex} |\putmultiplepoemindex|
+% reads in one of them at this point. For instructions about this
+% command, see section \ref{multipleindex}, p.~\pageref{multipleindex}.
+%
% \DescribeMacro{\finish} The
% |\finish| macro is deprecated but still available. It is
% designed to be placed just before |\end{document}| (which, in fact,
@@ -1680,12 +1780,23 @@
% first, the title of the poem, second, the label used by the
% |\label| command on the page of the notes section to which the
% title refers. So, you would issue the poem title command this way:
-% |\poemtitle{Los desvelados}{EP_LosDesvelados_AC}|, following the
-% title with |\sources{\label{EP_LosDesvelados_AC}|. Instructions are
+% |\poemtitle{Los desvelados}{EP_LosDesvelados_AC}|. Up to version 2.49
+% of \textsf{poemscol} you had to be sure to define the label in the
+% notes sections by issuing |\sources{\label{EP_LosDesvelados_AC}}|.
+% This is no longer necessary, and |\JHpoemtitle| defines both the
+% |\label| and the |\pageref|. Instructions are
% given in section \ref{JHpoemtitle}, p.~\pageref{JHpoemtitle} for how to
% construct similar commands for sequences, sequence sections, and so
% on.
%
+% \begin{sloppypar}
+% The following related commands are defined already
+% |\JHsequencetitle|, |\JHsequencefirstsectiontitle|,
+% |\JHsequencesectiontitle|, |\JHsequencesubsectiontitle|,
+% |\JHpoemsectiontitle|, |\JHpoemfirstsectiontitle|,
+% |\JHpoemsubtitle|, |\JHepigraph|, |\JHprosesectiontitle|, and
+% |\JHdedication|.\end{sloppypar}
+%
% If you are using |\JHpoemtitle| and its siblings, you need to be
% sure to add \textsf{mparhack} to your package list. You can prevent
% the marginal reference from switching sides on alternate pages by issuing
@@ -1700,6 +1811,46 @@
% |\setmargpoemtitle{}{}| is a more general version of
% |\JHpoemtitle{}{}|, with the second argument being any commands you
% want to be issued while the title is being processed.
+%
+% \DescribeMacro{\margreftextnote}
+% Another feature of Altenberg's Heredia edition is a marginal mark
+% attached to lines to which text notes refer showing where in the
+% apparatus a comment upon that line is to be found.
+% |\margreftextnote| sets a label in the textual notes section, and
+% set a marginal note with a page reference to that label. Issue
+% |\margreftextnote| \emph{before} issuing the |\verseline| or
+% |\end{stanza}| that closes the line to which it refers. (The textual
+% note itself can be an ordinary |\textnote|, and should be place, as
+% usual, \emph{after} the |\verseline| or |\end{stanza}|.
+%
+% |\margreftextnote| generates its own label, so there is no need to
+% make up one yourself.
+%
+% |\margreftextnote| uses |\marginpar| rather
+% that |\pmclsidepar| to set the note, because I had to use
+% |\marginpar| for |\JHpoemtitle| and its siblings, and I wanted the
+% whole family of markers to be controlled by the same settings. You
+% use the settings that control the behavior of |\marginpar| (e.g.
+% |\mparswitch| and |\reversemarginpar|) to control the behavior of
+% these marks.
+%
+% \begin{sloppypar}
+% If you define a new endnote type using |\definenewnotetype|,
+% |\definenewnotetype| will also define a new |\margref| command to go
+% with it.\end{sloppypar}
+%
+% \DescribeMacro{\setmargrefmarker} Altenberg's edition used a ding
+% from the pifonts collection in the marginal marks made by
+% |\margreftextnote| and its siblings. I have set the default to
+% |\dag|, so as not to depend upon yet another style package. You can
+% choose another mark using |\setmargrefmarker| (e.g.
+% |\setmargrefmarker{\ding{228}}|).
+%
+% \DescribeMacro{\margrefemendation} |\margrefemendation| is a
+% version of |\margreftextnote| for emendations.
+%
+% \DescribeMacro{\margrefexplanatory}|\margrefexplanatory| is a
+% version of |\margreftextnote| for explanatory notes.
%
% \subsection{~Visual formatting}
% \DescribeMacro{\longpage}
@@ -1992,6 +2143,7 @@
% |\prosetextnote[]{}{}| is, with an optional argument (for use with
% line ranges, as usual), and two mandatory arguments (the first a
% label to capture the line number, the second the lemma and comment).
+
% |\proseaccidental| and |\prosetsaccidental| take only the two mandatory arguments, since
% by definition an accidental variant is confined to one line.
%
@@ -2261,7 +2413,67 @@
% \synchroref{Oh what can ail thee, knight at arms?}\verseline
% \end{verbatim}
%
-% \section{A sample driver file}
+% \section{Using \textsf{poemscol} in a Multilingual World}
+%
+% \begin{sloppypar}
+% \DescribeMacro{\changecontentsname}
+% By default, \textsf{poemscol} uses English language titles for such
+% things as the Table of Contents, the Explanatory Notes, and so on,
+% and uses English language running headers. As of version 2.5 these
+% are easily changed. To change the name of the Table of Contents
+% (the default is CONTENTS) to Inhaltsverzeichnis, issue
+% |\changecontentsname{Inhaltsverzeichnis}|. To change the running
+% header on contents pages, issue
+% |\changecontentsheader{your header}|.\end{sloppypar}
+%
+% \begin{sloppypar}
+% \DescribeMacro{\changenotesname} To change the name for the endnote
+% section for textual notes (the default is TEXTUAL NOTES), issue
+% |\changenotesname{your version}|. To change the running header (by
+% default ``Textual Notes to'') issue
+% |\changenotesheader{your version}|.
+% To change the name for
+% the textual notes in the table of contents issue
+% |\changetextnotescontentsname{your version}|.
+% \DescribeMacro{\changesinglepageabbrev}
+% \DescribeMacro{\changemultiplepageabbrev}
+% Running headers refer to single pages with the English
+% abbreviation ``p.'' and to multiple pages with the English
+% abbreviation ``pp.'' To change these issue
+% |\changesinglepageabbrev{new abbrev}| or
+% |\changemultiplepageabbrev{new abbrev}| respectively. The ultimate
+% outcome is to translate a header of the form ``Textual Notes to
+% pp.~xx-yy'' to the form appropriate for your language.\end{sloppypar}
+%
+% \begin{sloppypar}
+% \DescribeMacro{\changeemendationsname} To change the name for the endnote
+% section for emendations (the default is EMENDATIONS), issue
+% |\changeemendationsname{your version}|. To change the running header (by
+% default ``Emendations to'') issue
+% |\changeemendationsheader{your version}|. To change the name for
+% the emendations in the table of contents issue
+% |\changeemendationscontentsname{your version}.|\end{sloppypar}
+%
+%\begin{sloppypar}
+% \DescribeMacro{\changeexplanationsname} To change the name for the endnote
+% section for explanatory notes (the default is EXPLANATORY NOTES), issue
+% |\changeexplanationsname{your version}|. To change the running header (by
+% default ``Explanatory Notes to'') issue
+% |\changeexplanationsheader{your version}|.
+% To change the name for
+% the explanatory notes in the table of contents issue
+% |\changeexplanationscontentsname{your version}|.\end{sloppypar}
+%
+% \begin{sloppypar} \DescribeMacro{\changepoemindexname} To change the name
+% for the index (the default is ``Index of Titles and First Lines'', issue
+% |\changepoemindexname{your version}|. To change the running
+% header (the default is ``Index of Titles and First Lines'') issue
+% |\changepoemindexheader{your version}|. To change the contents
+% entry for the index (the default is ``Index of Titles and First Lines'')
+% issue
+% |\changepoemindexcontentsname{your version}|.\end{sloppypar}
+%
+%\section{A sample driver file}
%
% If you are compiling a collected poems, you are probably preparing your
% volume from many files. You may (or may not) wish to subdivide your
@@ -2926,10 +3138,16 @@
% where a stanza break falls on a page break. In the notes sections,
% they set the running headers.
% \begin{macrocode}
+\newtoks{\singlepageabbrev}
+\singlepageabbrev={p.}
+\newcommand{\changesinglepageabbrev}[1]{\singlepageabbrev={#1}}
+\newtoks{\multiplepageabbrev}
+\newcommand{\changemultiplepageabbrev}[1]{\multiplepageabbrev={#1}}
+\multiplepageabbrev{pp.}
\newcommand{\mymarks}{%
\ifthenelse{\equal{\firstmark}{\botmark}}%
- {\unskip to p.~\firstmark}% if equal
- {\unskip to pp.~\firstmark--\botmark}}%if not equal
+ {\unskip ~\the\singlepageabbrev~\firstmark}% if equal
+ {\unskip ~\the\multiplepageabbrev~\firstmark--\botmark}}%if not equal
\newcommand{\poemdotfill}{\dotfill}
% \end{macrocode}
% \end{macro}
@@ -3244,19 +3462,10 @@
% \begin{macro}{\verselinenumberstoright}
% \begin{macrocode}
\newcommand{\verselinenumberstoleft}{%
-% \catcode`\@=11%
-% \@mparswitchfalse%
-% \catcode`\@=12%
-% \reversemarginpar%
\setlength{\marginparsep}{18pt}%
\setlength{\marginparwidth}{10pt}%
\numbersswitchfalse\numbersrightfalse}
\newcommand{\verselinenumberstoright}{%
-% \catcode`\@=11%
-% \@mparswitchfalse%
-% \catcode`\@=12%
-% \normalmarginpar%
- % \setlength{\marginparsep}{-18pt}%
\setlength{\marginparsep}{18pt}%
\setlength{\marginparwidth}{10pt}%
\numbersswitchfalse\numbersrighttrue}
@@ -3268,21 +3477,16 @@
% \begin{macro}{\verselinenumbersouter}
% \begin{macrocode}
\newcommand{\verselinenumbersswitch}{%
-% \catcode`\@=11%
-% \@mparswitchtrue%
-% \catcode`\@=12% %
\strictpagechecktrue%
\setlength{\marginparsep}{18pt}%
\setlength{\marginparwidth}{10pt}%
\numbersswitchtrue\numbersrightfalse\pmclsideparswitchtrue}
\newif\ifnumbersgutter \numbersgutterfalse%
\newcommand{\verselinenumbersgutter}{\verselinenumbersswitch%
-%\normalmarginpar
\pmclreversesideparfalse%
\numbersguttertrue%
}
\newcommand{\verselinenumbersouter}{\verselinenumbersswitch%
-%\reversemarginpar%
\pmclreversesidepartrue%
\numbersgutterfalse}
% \end{macrocode}
@@ -3322,8 +3526,6 @@
% \begin{macrocode}
\newif\ifspeciallinelock
\speciallinelockfalse
-% \newcommand{\verseline}{\nolinebreak\incrementverselinenumber
-% \nolinebreak\\}
\newcommand{\verseline}{\ifspeciallinelock%
\relax\else%
\nolinebreak\incrementverselinenumber%
@@ -3519,6 +3721,14 @@
% |\makepoemcontents| Alternatively, you can issue |\makepoemcontents{}| with its
% optional argument, putting the page number in the argument.
% \begin{macrocode}
+\newtoks{\contentsname}
+\contentsname={CONTENTS}
+\newtoks{\contentsheadername}
+\contentsheadername={Contents}
+\newcommand{\changecontentsname}[1]{%
+\contentsname={#1}}
+\newcommand{\changecontentsheader}[1]{%
+\contentsheadername={#1}}
\newcommand{\makepoemcontents}[1][5]{\global\poemcontentsontrue
\newwrite\poemcontents
\immediate\openout\poemcontents=\jobname.ctn
@@ -3528,15 +3738,14 @@
\pagenumbering{roman}
\setcounter{page}{#1}
\fancyhead[RO,LE]{{\small\textrm{\thepage}}}
-\fancyhead[CO]{{\small{\em Contents}}}
-\fancyhead[CE]{{\small{\em Contents}}}
+\fancyhead[CO]{{\small{\em \the\contentsheadername}}}
+\fancyhead[CE]{{\small{\em \the\contentsheadername}}}
\fancyfoot{}
\backmattersink
\begin{center}{\normalfont \backmatterheaderfont
-CONTENTS}\end{center}
+\the\contentsname}\end{center}
\lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0}
\literalcontents{ \relax}}
-
% \end{macrocode}
% \end{macro}
@@ -3551,6 +3760,15 @@ CONTENTS}\end{center}
% label for sending the page number of the textual notes to the table of
% contents.
% \begin{macrocode}
+\newtoks{\notesname}
+\notesname={TEXTUAL NOTES}
+\newcommand{\changenotesname}[1]{\notesname={#1}}
+\newtoks{\notesheadername}
+\notesheadername={Textual Notes to}
+\newcommand{\changenotesheader}[1]{\notesheadername={#1}}
+\newtoks{\textnotescontentsname}
+\textnotescontentsname={Textual Notes}
+\newcommand{\changetextnotescontentsname}[1]{\textnotescontentsname={#1}}
\newcommand{\maketextnotes}{\global\textnotesontrue
\global\verselinenumberstrue
\newwrite\textnotes
@@ -3561,12 +3779,12 @@ CONTENTS}\end{center}
\fancyhead{}
\fancyfoot{}
\fancyhead[RO,LE]{{\small\textrm{\thepage}}}
-\fancyhead[CO]{{\small{\em Textual Notes~\mymarks}}}
-\fancyhead[CE]{{\small{\em Textual Notes~\mymarks}}}
+\fancyhead[CO]{{\small{\em \the\notesheadername~\mymarks}}}
+\fancyhead[CE]{{\small{\em \the\notesheadername~\mymarks}}}
\fancyfoot[C]{}
\mark{3}
\backmattersink
-\begin{center}{\normalfont \backmatterheaderfont TEXTUAL NOTES}\end{center}
+\begin{center}{\normalfont \backmatterheaderfont \the\notesname}\end{center}
\label{textualnotes}
\lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0
\normalfont \backmattertextfont}
@@ -3577,6 +3795,16 @@ CONTENTS}\end{center}
% \begin{macro}{\makeemendations}
% Next, the emendations section:
% \begin{macrocode}
+\newtoks{\emendationsname}
+\emendationsname={EMENDATIONS}
+\newcommand{\changeemendationsname}[1]{\emendationsname={#1}}
+\newtoks{\emendationsheadername}
+\emendationsheadername={Emendations to}
+\newcommand{\changeemendationsheader}[1]{\emendationsheadername={#1}}
+\newtoks{\emendationscontentsname}
+\emendationscontentsname={Emendations}
+\newcommand{\changeemendationscontentsname}[1]{%
+\emendationscontentsname={#1}}
\newcommand{\makeemendations}{\global\emendationsontrue
\newwrite\emendations
\global\verselinenumberstrue
@@ -3586,13 +3814,13 @@ CONTENTS}\end{center}
\thispagestyle{volumetitlestyle}}
\fancyhead{}
\fancyhead[RO,LE]{{\small\textrm{\thepage}}}
-\fancyhead[CO]{{\small{\em Emendations~\mymarks}}}
-\fancyhead[CE]{{\small{\em Emendations~\mymarks}}}
+\fancyhead[CO]{{\small{\em \the\emendationsheadername~\mymarks}}}
+\fancyhead[CE]{{\small{\em \the\emendationsheadername~\mymarks}}}
\fancyfoot{}
\mark{3}
\backmattersink
\begin{center}{\normalfont \backmatterheaderfont
- EMENDATIONS}\end{center}
+ \the\emendationsname}\end{center}
\label{emendationnotes}
\lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0
\normalfont \backmattertextfont}
@@ -3603,6 +3831,16 @@ CONTENTS}\end{center}
% \begin{macro}{\makeexplanatorynotes}
% And the explanatory notes:
% \begin{macrocode}
+\newtoks{\explanationsname}
+\explanationsname={EXPLANATORY NOTES}
+\newcommand{\changeexplanationsname}[1]{\explanationsname={#1}}
+\newtoks{\explanationsheadername}
+\explanationsheadername={Explanatory Notes to}
+\newcommand{\changeexplanationsheader}[1]{\explanationsheadername={#1}}
+\newtoks{\explanationscontentsname}
+\explanationscontentsname={Explanatory Notes}
+\newcommand{\changeexplanationscontentsname}[1]{%
+\explanationscontentsname={#1}}
\newcommand{\makeexplanatorynotes}{\global\explanontrue
\global\verselinenumberstrue
\newwrite\explanations
@@ -3611,13 +3849,13 @@ CONTENTS}\end{center}
{\pagestyle{volumetitlestyle}\cleardoublepage}
\thispagestyle{volumetitlestyle}}
\fancyhead[RO,LE]{{\small\textrm{\thepage}}}
-\fancyhead[CO]{{\small{\em Explanatory Notes~\mymarks}}}
-\fancyhead[CE]{{\small{\em Explanatory Notes~\mymarks}}}
+\fancyhead[CO]{{\small{\em \the\explanationsheadername~\mymarks}}}
+\fancyhead[CE]{{\small{\em \the\explanationsheadername~\mymarks}}}
\fancyfoot{}
\mark{3}
\backmattersink
\begin{center}{\normalfont \backmatterheaderfont
- EXPLANATORY NOTES}\end{center}
+ \the\explanationsname}\end{center}
\label{explanatorynotes}
\lefthyphenmin=2\backmatterafterheadersink\tolerance=500\language=0
\normalfont \backmattertextfont }
@@ -3627,14 +3865,15 @@ CONTENTS}\end{center}
% Auxiliary commands for note and title sections
% \begin{macrocode}
+%
\newcommand{\@pagemarktotextnotes}[1]{%
\immediate\write\textnotes{\string\setcounterfrompageref\string{notepageholdertitle\string}%
-\string{#1\string}}%
-\immediate\write\textnotes{\string\mark
+\string{#1\string}\string\unskip}%
+\immediate\write\textnotes{\string\mark%
\string{\string\thenotepageholdertitle\string}}%
}
\newcommand{\@poempagetotextnotes}[1]{%
- \immediate\write\textnotes{\string\par\string\argpageref\string{#1\string}}%
+\immediate\write\textnotes{\string\par\string\argpageref\string{#1\string}\string\unskip}%
\@pagemarktotextnotes{#1}}
\newcommand{\@poemtitletotextnotes}[1]{\literaltextnote{\textbf{#1}}}
% \end{macrocode}
@@ -3694,8 +3933,6 @@ CONTENTS}\end{center}
\putpagenumberinnotesfalse
\c@ntentsinfo{#1}{\contentsindentone}{\contentsvolumefont}
{\contentsindenttwoamount}
-% \literalcontents{\vspace{5pt}\par\nobreak}
-% \literaltextnote{\notesvolumetitlepenalty\bigskip\par}
\t@xtnotesinfo{\backmattervolumefont #1 \backmattertextfont\nobreak}
\putpagenumberincontentstrue
\putpagenumberinnotestrue}
@@ -3708,7 +3945,6 @@ CONTENTS}\end{center}
\c@ntentsinfo{#1}{\contentsindentone}{\contentsvolumefont}
{\contentsindenttwoamount}
\literalcontents{\vspace{5pt}\par\nobreak}
-% \literaltextnote{\notesvolumetitlepenalty\bigskip\par}
\t@xtnotesinfo{\backmattervolumefont #1 \backmattertextfont\nobreak}
\putpagenumberincontentstrue
\putpagenumberinnotestrue}
@@ -3865,7 +4101,6 @@ CONTENTS}\end{center}
% \relax
\fi\fi
}
-
\newcommand{\poemtitle}[1]{%
\set@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
@@ -3873,6 +4108,15 @@ CONTENTS}\end{center}
{\contentsindenttwoamount}%
\t@xtnotesinfo{#1}%
}
+\newcommand{\poemtitlenocontents}[1]{%
+\set@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+\t@xtnotesinfo{#1}%
+}
+\newcommand{\poemtitlebaretitle}[1]{%
+\set@p@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\poemtitleitalic} Poems with italic titles or other
@@ -4386,12 +4630,13 @@ CONTENTS}\end{center}
}
% \end{macrocode}
% \begin{macro}{\setmargpoemtitle}
-% Titles with a marginal reference to the notes, as in Altenberg's
+% Titles with a marginal reference to the notes giving the page in
+% the notes where a comment on the poem appears, as in Altenberg's
% Heredia edition.\label{JHpoemtitle} |\setmargpoemtitle| takes as
% its second argument anything you want to add to the line while the
% title is being processed. |\JHpoemtitle| is just
% |\setmargpoemtitle| with the second argument passed to |\JHlabel|,
-% which actually makes the label
+% which actually makes the marginal mark.
% \begin{macrocode}
\newcommand{\setmargpoemtitle}[2]{%
\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
@@ -4399,6 +4644,7 @@ CONTENTS}\end{center}
\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
{\contentsindenttwoamount}%
\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
}
\newcommand{\set@margp@emtitle}[7]{\setlength{\titleentryoverrun}{#6}%
{#2}%
@@ -4413,15 +4659,34 @@ CONTENTS}\end{center}
% \begin{macro}{\JHpoemtitle} Macros to set marginal line
% references.
% \begin{macrocode}
+% \newcommand{\JHpoemtitle}[2]{%
+% \setmargpoemtitle{#1}{\JHlabel{#2}}%
+% }
\newcommand{\JHpoemtitle}[2]{%
-\setmargpoemtitle{#1}{\JHlabel{#2}}%
-}
+\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+{\JHlabel{#2}}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
+}
+\newcommand{\JHprosesectiontitle}[2]{%
+\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
+{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}%
+{\JHlabel{#2}}%
+\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}%
+{\contentsindenttwoamount}%
+\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
+}
\newcommand{\JHlabel}[1]{%
-\marginpar{{\scriptsize{\dag~p.~\pageref{#1}}}}}
+\marginpar{{\scriptsize{\the\margrefmarker~p.~\pageref{#1}}}}}
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\JHsequencetitle} Macros to set marginal line
-% references for sequences and sequence sections.
+% \begin{macro}{\JHsequencetitle} Macros to set marginal page
+% references for sequences, sequence sections, poem sections, poem
+% subtitles, dedications, and epigraphs.
% \begin{macrocode}
\newcommand{\JHsequencetitle}[2]{%
\set@margp@emtitle{#1}{\sequencetitlepenalty}{\sequencetitlefont}%
@@ -4432,6 +4697,7 @@ CONTENTS}\end{center}
{\contentsindenttwoamount}%
\putpagenumberincontentstrue%
\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
}
\newcommand{\JHsequencesectiontitle}[2]{%
\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}%
@@ -4440,6 +4706,7 @@ CONTENTS}\end{center}
\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}%
{\contentsindentthreeamount}%
\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
}
\newcommand{\JHsequencefirstsectiontitle}[2]{%
\set@margp@emtitle{#1}{\par\nobreak\afterpoemtitleskip}{\poemtitlefont}%
@@ -4448,6 +4715,80 @@ CONTENTS}\end{center}
\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}%
{\contentsindentthreeamount}%
\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
+}
+\newcommand{\JHpoemsectiontitle}[2]{%
+\set@margp@emtitle{#1}{\poemtitlepenalty}{\subsectiontitlefont}%
+{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}%
+{\titleindentamount}{\JHlabel{#2}}%
+\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}%
+{\contentsindentthreeamount}%
+\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
+}
+\newcommand{\JHpoemfirstsectiontitle}[2]{%
+\set@margp@emtitle{#1}{\par\nobreak}{\subsectiontitlefont}%
+{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}%
+{\titleindentamount}{\JHlabel{#2}}%
+\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}%
+{\contentsindentthreeamount}%
+\t@xtnotesinfo{#1}%
+\sources{\label{#2}}%
+}
+\newcommand{\JHsequencesectionsubtitle}[2]{%
+\set@margp@emtitle{#1}{\par\nobreak}{\subsectiontitlefont}%
+{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}%
+{\titleindentamount}{\JHlabel{#2}}%
+\sources{\label{#2}}%
+}
+\newcommand{\JHpoemsubtitle}[2]{\JHsequencesectionsubtitle{#1}{#2}
+}
+\newcommand{\JHdedication}[2]{\nopagebreak\afterpoemtitleskip\begin{epigraphquote}%
+\emph{#1}\JHlabel{#2}\end{epigraphquote}%
+\sources{\label{#2}}\afterpoemtitleskip\nopagebreak}
+\newcommand{\JHepigraph}[2]{\nopagebreak\afterpoemtitleskip\begin{epigraphquote}%
+\emph{#1}\JHlabel{#2}\end{epigraphquote}%
+\sources{\label{#2}}\afterpoemtitleskip\nopagebreak}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\margreftextnote} Macros to set marginal page
+% references showing where in the apparatus a comment upon the
+% marked line is to be found. |\margrefspecial{}| is for occasions
+% when you might need to set the label by hand. For instance, suppose
+% you have several textnotes on a line, and the note you wish to draw
+% attention to is on a different page from the other notes.
+% |\margreftextnote| under those circumstances will point only to the
+% first note. Use |\margrefspecial| to point to the other note,
+% giving |\margrefspecial| a unique argument, and opening that note
+% with a \label{} command using the same argument.
+%
+% \begin{macrocode}
+\newcounter{margrefnumber}
+\setcounter{margrefnumber}{1}
+\newtoks{\margrefmarker}
+\margrefmarker={\dag}
+\newcommand{\setmargrefmarker}[1]{\margrefmarker={#1}}
+\newcommand{\makemargreflabel}{\string\label\string{margref\themargrefnumber\string}}
+\newcommand{\setmargref}
+{\marginpar{\scriptsize {\the\margrefmarker~p.~\pageref{margref\themargrefnumber}}}
+}
+\newcommand{\margreftextnote}{%
+\iftextnoteson\addtocounter{margrefnumber}{1}%
+\immediate\write\textnotes{\makemargreflabel}%
+\setmargref\else\relax\fi%
+}
+\newcommand{\margrefexplanatory}{%
+\ifexplanon\addtocounter{margrefnumber}{1}%
+\immediate\write\explanations{\makemargreflabel}%
+\setmargref\else\relax\fi%
+}
+\newcommand{\margrefemendation}{%
+\ifemendationson\addtocounter{margrefnumber}{1}%
+\immediate\write\emendations{\makemargreflabel}%
+\setmargref\else\relax\fi%
+}
+\newcommand{\margrefspecial}[1]{%
+\marginpar{\scriptsize {\the\margrefmarker~p.~\pageref{#1}}}
}
% \end{macrocode}
% \end{macro}
@@ -4862,7 +5203,7 @@ CONTENTS}\end{center}
\xdef#1{\the\toks@}%
\endgroup}
\makeatother
-\newcommand{\definenewnotetype}[4]{%
+\newcommand{\definenewnotetype}[5]{%
% 1. make an if and set it to true by default. make an if for the first
% instance of the command per poem and set it to false
% Thanks to Igor Pechtchanski and Ulrich Schwarz.
@@ -4973,11 +5314,19 @@ CONTENTS}\end{center}
\immediate\expandafter\closeout\csname #1s\endcsname
\expandafter\input \jobname.#2
\ifpoemcontentson
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ #3}
- \immediate\write\poemcontents{\string~ / \string~\ \string\pageref{#1notes} \string\par}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\ #5}
+ \immediate\write\poemcontents{\string~ \string\contentsleaders
+ \string~\ \string\pageref{#1notes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
}
+% 10. command for making a marginal mark at a line, giving the page
+% number in the apparatus where a note is to be found
+\expandafter\newcommand\csname margref#1\endcsname{%
+\addtocounter{margrefnumber}{1}
+\immediate\write\expandafter\csname #1s\endcsname{\makemargreflabel}%
+\setmargref
+}
}
% \end{macrocode}
% \end{macro}
@@ -5004,14 +5353,18 @@ CONTENTS}\end{center}
\newcommand{\prosesectiontitlenotitle}[1]{\poemtitlenotitle{#1}}
% \end{macrocode}
% Next, environments for prose sections. The environment resets (or
-% doesn't, in the second case) the marginal line number, at sets the
-% modulo line number to that prevailing in verse sections.
+% doesn't, in the second case) the marginal line number. The
+% default modulo line number is that prevailing in verse sections,
+% but you can change it at will.
% \begin{macrocode}
-\newenvironment{prosesection}
-{\resetlinenumber\begin{linenumbers}%
\setcounter{prosemodulo}{\value{lineindexrepeat}}%
\addtocounter{prosemodulo}{1}%
-\modulolinenumbers[\value{prosemodulo}]%
+\ifx\modulolinenumbers\undefined%
+ \relax\else
+\modulolinenumbers[\value{prosemodulo}]% if lineno is called
+\fi
+\newenvironment{prosesection}
+{\resetlinenumber\begin{linenumbers}%
\renewcommand{\linenumberfont}{\scriptsize}%
\ifnumbersright\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
%\else\ifnumbersswitch\switchlinenumbers\setlength{\linenumbersep}{\marginparsep}%
@@ -5025,10 +5378,16 @@ CONTENTS}\end{center}
{\end{linenumbers}}
\newenvironment{prosesectionnoreset}
{\begin{linenumbers}%
-\setcounter{prosemodulo}{\value{lineindexrepeat}}%
-\addtocounter{prosemodulo}{1}%
-\modulolinenumbers[\value{prosemodulo}]%
-\renewcommand{\linenumberfont}{\scriptsize}}{\end{linenumbers}}
+\renewcommand{\linenumberfont}{\scriptsize}
+\ifnumbersright\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
+%\else\ifnumbersswitch\switchlinenumbers\setlength{\linenumbersep}{\marginparsep}%
+\else\ifnumbersswitch\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}%
+\else\leftlinenumbers*\setlength{\linenumbersep}{\marginparsep}%
+\addtolength{\linenumbersep}{5pt}% seems about right
+\fi\fi
+% \noemendyettrue%
+% \noexplainyettrue%
+}{\end{linenumbers}}
% \end{macrocode}
%
% Set up commands for notes sections.
@@ -5251,17 +5610,11 @@ r@#2\endcsname{}{}\@nil
\newcommand{\setpmmodulo}[1]{\setcounter{pmmodulo}{#1}%
\addtocounter{pmmodulo}{-1}%
}
-\newcommand{\pmnumberstoleft}{%\catcode`\@=11%
-% \@mparswitchfalse%
-% \catcode`\@=12%
-% \reversemarginpar%
+\newcommand{\pmnumberstoleft}{%\catcode`\@=11%
\numbersswitchfalse\numbersrightfalse%
\setlength{\marginparsep}{18pt}%
}
\newcommand{\pmnumberstoright}{%\catcode`\@=11%
-% \@mparswitchfalse%
-% \catcode`\@=12%
-% \normalmarginpar%
\numbersswitchfalse\numbersrighttrue%
\setlength{\marginparsep}{-18pt}
% \setlength{\marginparsep}{18pt}
@@ -5270,17 +5623,11 @@ r@#2\endcsname{}{}\@nil
\setlength{\marginparsep}{18pt}%
}
\newcommand{\pmnumbersgutter}{%\catcode`\@=11%
-% \@mparswitchtrue%
-% \catcode`\@=12%
-% \normalmarginpar%
\pmnumbersswitch%
\pmclreversesideparfalse\numbersguttertrue%
\setlength{\marginparsep}{18pt}%
}
\newcommand{\pmnumbersouter}{%\catcode`\@=11%
-% \@mparswitchtrue%
-% \catcode`\@=12%
-% \reversemarginpar%
\pmnumbersswitch%
\pmclreversesidepartrue\numbersgutterfalse%
\setlength{\marginparsep}{18pt}%
@@ -5326,10 +5673,6 @@ r@#2\endcsname{}{}\@nil
{ \putpmsentencenumber\nobreak%
\setcounter{pmindexcount}{0}%
}{\relax}%
-% \ifnum\thepmindexcount>\thepmmodulo%
-% \putpmsentencenumber\nobreak%
-% \setcounter{pmindexcount}{0}%
-% \fi%
\fi%
% create header for notes if any are to occur
\ifpmparas%
@@ -5430,10 +5773,6 @@ r@#2\endcsname{}{}\@nil
{ \putpmsentencenumberfour\nobreak%
\setcounter{pmindexcount}{0}%
}{\relax}%
-% \ifnum\thepmindexcount>\thepmmodulo%
-% \putpmsentencenumberfour\nobreak%
-% \setcounter{pmindexcount}{0}%
-% \fi%
\fi%
% create header for notes if any are to occur
\ifpmparas%
@@ -5708,16 +6047,18 @@ r@#2\endcsname{}{}\@nil
% end, which will be interpreted as a paragraph break when the file is
% read back in by \LaTeX. These kludges correct that problem.
% \begin{macrocode}
-\newcommand{\quotedversecorrectiontextnote}
-{\iftextnoteson\immediate\write
-\textnotes{\string\par\string\noindent\string\kern-\parindent}\fi}% a bad kludge
-\newcommand{\quotedversecorrectionemendation}
-{\ifemendationson\immediate\write
-\emendations{\string\par\string\noindent\string\kern-\parindent}\fi}% a bad kludge
-\newcommand{\quotedversecorrectionexplanatory}
-{\ifexplanon\immediate\write
-\explanations{\string\par\string\noindent\string\kern-\parindent}\fi}% a bad kludge
-
+\newcommand{\quotedversecorrectiontextnote}[1][0pt]
+{\iftextnoteson%
+\immediate\write\textnotes{\string\noindent\string\kern-#1}%
+\fi}
+\newcommand{\quotedversecorrectionemendation}[1][0pt]
+{\ifemendationson%
+\immediate\write\emendations{\string\noindent\string\kern-#1}%
+\fi}
+\newcommand{\quotedversecorrectionexplanatory}[1][0pt]
+{\ifexplanon%
+\immediate\write\explanations{\string\noindent\string\kern-#1}%
+\fi}
% \end{macrocode}
% \subsection{~Marking stanza breaks on page turns} Use the macro
@@ -5905,13 +6246,6 @@ r@#2\endcsname{}{}\@nil
\leavevmode
\cleartoverso
\paralleltextstrue
-% \def\makeatletter{\catcode`\@11\relax}
-% \def\makeatother{\catcode`\@12\relax}
-% \makeatletter
-% \@mparswitchfalse
-% \makeatother
-% \reversemarginpar
-% \setlength{\marginparsep}{-36pt}
\renewenvironment{poem}{\raggedright
\language=255%no hyphenation in verse
\noemendyettrue
@@ -5936,7 +6270,6 @@ r@#2\endcsname{}{}\@nil
\inpoemfalse\mark{\relax}
\goodbreak\afterpoemskip%\bigskip
\fi\fi }
-
\renewenvironment{stanza}{\penalty-100\instanzatrue\mark{\nostanzaatbottomvalue\ }}
% must end stanza if parallel text. Don't worry,
% begin recto page and begin verso page will
@@ -6220,27 +6553,29 @@ r@#2\endcsname{}{}\@nil
% \poemcontents{\string~ / \string~\ \string\pageref{abbreviations} \string\par}
% \immediate\write\poemcontents{\string\par \string\smallskip}
\ifemendationson
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ Emendations}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\
+ \the\emendationscontentsname}
\immediate\write
\poemcontents{\string~ / \string~\ \string\pageref{emendationnotes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
\iftextnoteson
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ Textual Notes}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\
+ \the\textnotescontentsname}
\immediate\write
\poemcontents{\string~ / \string~\ \string\pageref{textualnotes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
\ifexplanon
\immediate\write
-\poemcontents{\string\contentspoemtitlefont\ Explanatory Notes}
+\poemcontents{\string\contentspoemtitlefont\ \the\explanationscontentsname}
\immediate\write
\poemcontents{\string~ / \string~\ \string\pageref{explanatorynotes}}
\fi
\ifindexingon
\immediate\write\poemcontents{\string\par \string\smallskip}
\immediate\write
-\poemcontents{\string\contentspoemtitlefont\ Index of Titles and First Lines}
+\poemcontents{\string\contentspoemtitlefont\ \the\poemindexcontentsname}
\immediate\write
\poemcontents{\string~ / \string~\ \string\pageref{indexpage}\string\par}
\fi
@@ -6316,9 +6651,10 @@ wherever such spaces are lost in pagination.
\input \jobname.emd
\ifpoemcontentson
\ifemendationson
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ Emendations}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\ \the\emendationscontentsname}
\immediate\write
- \poemcontents{\string~ / \string~\ \string\pageref{emendationnotes} \string\par}
+ \poemcontents{\string~ \string\contentsleaders \string~\
+ \string\pageref{emendationnotes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
\fi
@@ -6338,9 +6674,10 @@ wherever such spaces are lost in pagination.
\input \jobname.enx
\ifpoemcontentson
\ifexplanon
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ Explanatory Notes}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\ \the\explanationscontentsname}
\immediate\write
- \poemcontents{\string~ / \string~\ \string\pageref{explanatorynotes} \string\par}
+ \poemcontents{\string~ \string\contentsleaders \string~\
+ \string\pageref{explanatorynotes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
\fi
@@ -6360,9 +6697,10 @@ wherever such spaces are lost in pagination.
\input \jobname.ent
\ifpoemcontentson
\iftextnoteson
- \immediate\write\poemcontents{\string\contentspoemtitlefont\ Textual Notes}
+ \immediate\write\poemcontents{\string\contentspoemtitlefont\ \the\textnotescontentsname}
\immediate\write
- \poemcontents{\string~ / \string~\ \string\pageref{textualnotes} \string\par}
+ \poemcontents{\string~ \string\contentsleaders \string~\
+ \string\pageref{textualnotes} \string\par}
\immediate\write\poemcontents{\string\par \string\smallskip}
\fi
\fi
@@ -6376,19 +6714,55 @@ wherever such spaces are lost in pagination.
% into the table of contents.
%
% \begin{macrocode}
+\newtoks{\poemindexname}
+\poemindexname={Index of Titles and First Lines}
+\newcommand{\changepoemindexname}[1]{\poemindexname={#1}}
+\newtoks{\poemindexheadername}
+\poemindexheadername={Index of Titles and First Lines}
+\newcommand{\changepoemindexheader}[1]{\poemindexheadername={#1}}
+\newtoks{\poemindexcontentsname}
+\poemindexcontentsname={Index of Titles and First Lines}
+\newcommand{\changepoemindexcontentsname}[1]{\poemindexcontentsname={#1}}
\newcommand{\putpoemindex}{\ifindexingon
\printindex
\fi
\ifpoemcontentson\ifindexingon
\immediate\write\poemcontents{\string\par \string\smallskip}
\immediate\write
-\poemcontents{\string\contentspoemtitlefont\ Index of Titles and First Lines}
+\poemcontents{\string\contentspoemtitlefont\ \the\poemindexcontentsname}
\immediate\write
-\poemcontents{\string~ / \string~\ \string\pageref{indexpage}\string\par}
+\poemcontents{\string~\string\contentsleaders \string~\ \string\pageref{indexpage}\string\par}
\fi\fi}
+\newcommand{\putmultiplepoemindex}[4]{%
+\ifindexingon
+\poemindexname={#2}
+\poemindexheadername={#3}
+\poemindexcontentsname={#4}
+\poemindexlabelname={#4}
+\printindex[#1][#2]
+\fi
+\ifpoemcontentson\ifindexingon
+ \immediate\write\poemcontents{\string\par \string\smallskip}
+ \immediate\write
+\poemcontents{\string\contentspoemtitlefont\ \the\poemindexcontentsname}
+ \immediate\write
+\poemcontents{\string~ \string\contentsleaders \string~\
+\string\pageref{\the\poemindexlabelname}\string\par}
+ \fi\fi
+}
+\newcommand{\noteaboutstanzamarkpage}{\begin{volumetitlepage}
+%\thispagestyle{volumetitlestyle}
+\vspace{106pt}
+\begin{center}
+{\poemtitlefont Note}
+\end{center}
+
+\noindent The symbol \stanzaatbottomvalue\ is used to indicate
+a space between sections of a poem
+wherever such spaces are lost in pagination.
+\end{volumetitlepage}}
% \end{macrocode}
% \end{macro}
-
% \subsection{~Visual formatting} The ideal in \LaTeX\ is to separate
% content markup and formatting as completely as possible. In the text
% itself you simply mark the logical units (a poem, a title, a stanza,
@@ -6437,23 +6811,25 @@ wherever such spaces are lost in pagination.
% \begin{macro}{theindex}
% And the environment for the index:
% \begin{macrocode}
+\newtoks{\poemindexlabelname}
+\poemindexlabelname={indexpage}
+\newcommand{\changepoemindexlabelname}[1]{\poemindexlabelname={#1}}
\renewenvironment{theindex}
{{\par\clearpage{\pagestyle{volumetitlestyle}\cleardoublepage}
\thispagestyle{volumetitlestyle}}
\makeatletter
\def\pmclidxitem{\par\hangindent 1em}
-% \makeatother
\fancyhead[RO,LE]{{\small\textrm{\thepage}}}
-\fancyhead[CO]{{\small{\em Index of Titles and First Lines}}}
-\fancyhead[CE]{{\small{\em Index of Titles and First Lines}}}
+\fancyhead[CO]{{\small{\em \the\poemindexheadername}}}
+\fancyhead[CE]{{\small{\em \the\poemindexheadername}}}
\fancyfoot{}
- \label{indexpage}
+ \label{\the\poemindexlabelname}
\lefthyphenmin=2\tolerance=500\language=0
\normalfont \backmattertextfont
\raggedright
\begin{multicols}
{2}[\backmattersink\begin{center}{\normalfont
-\backmatterheaderfont INDEX OF TITLES AND FIRST LINES}\end{center}
+\backmatterheaderfont \the\poemindexname}\end{center}
\backmatterafterheadersink]%
\let\item\pmclidxitem}
{\end{multicols}\clearpage}
@@ -6480,4 +6856,5 @@ wherever such spaces are lost in pagination.
{\endlist}
% \end{macrocode}
% \Finale
-\endinput \ No newline at end of file
+\endinput
+--------------060108090809060900030409--