From ba9472aebfed07843bc4faa00c7b96bc86194691 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 4 Oct 2006 08:43:01 +0000 Subject: 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 --- .../texmf-dist/source/latex/poemscol/poemscol.dtx | 649 ++++++++++++++++----- 1 file changed, 513 insertions(+), 136 deletions(-) (limited to 'Master/texmf-dist/source/latex/poemscol') 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 %\NeedsTeXFormat{LaTeX2e}[1997/12/01] %\ProvidesPackage{poemscol} -% [2006/04/25 v2.49 poemscol file] +% [2006/05/19 v2.51 poemscol file] % %<*driver> \documentclass{ltxdoc} @@ -32,7 +32,7 @@ % % \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-- -- cgit v1.2.3