diff options
author | Karl Berry <karl@freefriends.org> | 2006-05-23 20:48:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-05-23 20:48:49 +0000 |
commit | a0656ca84ce9566ca07f791707f6f26d7e6942c8 (patch) | |
tree | 250cc8ca9a1ece9a2098d932be59d8d9988293f6 /Master/texmf-dist/source/latex | |
parent | 48c9a8207e08e743610a9b7eefb304de26b1cf57 (diff) |
poemscol update
git-svn-id: svn://tug.org/texlive/trunk@1584 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/poemscol/poemscol.dtx | 1014 |
1 files changed, 705 insertions, 309 deletions
diff --git a/Master/texmf-dist/source/latex/poemscol/poemscol.dtx b/Master/texmf-dist/source/latex/poemscol/poemscol.dtx index 09877adbdae..90f00abd417 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> [2005/10/05 v2.391 poemscol file] +%<package> [2006/04/25 v2.49 poemscol file] % %<*driver> \documentclass{ltxdoc} @@ -32,7 +32,7 @@ %</driver> % \fi % -% \CheckSum{5214} +% \CheckSum{5584} % % \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 @@ -135,8 +135,42 @@ % than marginpars.} % \changes{v2.39}{2005/9/07}{Left a DeclareOption hanging in version % 2.38. Fixed that.} -% \changes{v2.391}{2005/9/07}{Corrections to user's guide.} -% +% \changes{v2.391}{2005/10/06}{Corrections to user's guide.} +% \changes{v2.392}{2005/10/13}{More corrections to user's guide.} +% \changes{v2.394}{2005/12/10}{More corrections to user's guide.} +% \changes{v2.4}{2006/02/25}{Commands to make new kinds of endnotes +% also make notes for line numbered prose sections and for prose +% sections with paragraph and sentence numbering.} +% \changes{v2.41}{2006/03/02}{Fixed a bug in line numbers of new +% kinds of prose note.} +% \changes{v2.42}{2006/03/04}{Fixed error in handling conditionals when +% setting prose numbered by sentence and paragraph.} +% \changes{v2.43}{2006/03/06}{Notes in prose numbered by sentence +% and paragraph number can refer only to the sentence number even +% when paragraphs are also being counted.} +% \changes{v2.44}{2006/03/07}{Fixed a bug which caused new kinds of +% endnotes in prose sections to add unwanted white space to the +% output.} +% \changes{v2.45}{2006/04/08}{Use of sidepar in v2.38 introduced a +% problem, causing line numbers sometimes to drift up a point. +% Changed commands for putting verse line numbers, but not paragraph and +% sentence numbers, to use marginpars again.} +% \changes{v2.46}{2006/04/10}{Changed definition of sidepar so that +% it uses struts to find the depth of the line, restored line number +% commands to use sidepar and its variants.} +% \changes{v2.47}{2006/04/12}{Changed name of sidepar to +% pcmclsidepar to avoid conflicts with the sidepar command from the +% memoir class, since they are no longer exactly the same. Added +% commands to put a marginal reference to the notes section in the +% margins of poem titles.} +% \changes{v2.48}{2006/04/13}{Added more general form of the +% commands to put a marginal reference to the notes section in the +% margins of poem titles.} +% \changes{v2.49}{2006/04/25}{Changed marginal reference command to +% use marginpar rather than pmclsidepar (alas, it still adds vertical +% white space after the title with pmclsidepar). Added marginal +% reference commands for sequences and sequence sections. Fixed +% errors in manual. } % \GetFileInfo{poemscol.sty} % % \DoNotIndex{\newcommand,\newenvironment,\def,\edef,\else,\renewcommand,\makeatletter,\makeatother} @@ -172,13 +206,13 @@ % \textsc, \unskip} % \setcounter{IndexColumns}{2} % \MakeShortVerb{|} -% \def\fileversion{2.391} -% \def\filedate{5 October 2005} -% \def\docdate{5 October 2005} +% \def\fileversion{2.49} +% \def\filedate{9 May 2006} +% \def\docdate{9 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{October 5, 2005} +% \date{May 9, 2006} % \maketitle % \begin{abstract} % \textsf{poemscol} provides macros for \LaTeX\ for setting @@ -294,13 +328,17 @@ % \section{Dependencies and compatibility with other packages} % % \textsf{poemscol} depends upon several other packages, which you -% should be sure you have in your preamble and search path: +% should be sure you have in your preamble and search path: % \textsf{fancyhdr} for managing the running headers, \textsf{makeidx} % and \textsf{multicol} for managing the index, \textsf{geometry}, and -% \textsf{ifthen} and \textsf{keyval} to simplify page geometry. -% You should make sure that \textsf{poemscol} is the very last -% package you load in your preamble, or at least is loaded after those -% packages upon which it depends. +% \textsf{ifthen} and \textsf{keyval} to simplify page geometry. If +% you are using the |\JHpoemtitle| alternate form of the |\poemtitle| +% command, you need to add \textsf{mparhack} to your package list, to +% make sure that the marginal references |\JHpoemtitle| adds appear on +% the correct side of the page. You should make sure that +% \textsf{poemscol} is the very last package you load in your +% preamble, or at least is loaded after those packages upon which it +% depends. % % % \subsection{~Prose sections} @@ -352,9 +390,17 @@ % |\makeverselinenumbers|. Because the counter ``linenumber'' has % been changed to ``verselinenumber,'' you must use % |\global\verselinenumbersfalse| to turn off line numbering, rather -% than |\global\linenumbersfalse| as before. You will probably need -% to change only one line to make files from prior versions of -% \textsf{poemscol} run. +% than |\global\linenumbersfalse| as before. +% +% Up to version 2.44 \textsf{poemscol} borrowed the code for +% |\sidepar| non-floating marginal paragraphs from the memoir class, +% and also made |\leftsidepar| and |\rightsidepar| commands on their +% model. Version 2.46 modified Peter Wilson's original code for +% |\sidepar|, so therefore I have changed the names of |\sidepar|, +% |\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. % % \subsection{~Incompatibility with \textsf{memoir} and \textsf{verse}} % Unfortunately, \textsf{poemscol} is not compatible with the @@ -539,7 +585,6 @@ % numbering off, issue |\global\verselinenumbersfalse|. To turn it % back on, issue |\makeverselinenumbers|. % -% % \DescribeMacro{\verselinenumberstoright} % \DescribeMacro{\verselinenumberstoleft} % \DescribeMacro{\verselinenumbersswitch} @@ -549,14 +594,22 @@ % |\verselinenumberstoleft| in your preamble. % |\verselinenumberstoright| puts the line numbers in the right % margin. (These two commands use non-floating marginal note macros -% derived from the \textsf{memoir} class, |\leftsidepar| and -% |\rightsidepar|, respectively.) If you wish them to appear in the -% outer margins, issue |\verselinenumbersouter| in your preamble. If -% you want the line numbers to appear in the inner margins, issue -% |\verselinenumbersgutter| in your preamble. (These two commands use -% |\sidepar|, from the \textsf{memoir} class.) You can adjust the -% distance between the marginal line number and the text with -% |\setlength{\marginparsep}{}|. +% derived from the \textsf{memoir} class, |\pmclleftsidepar| and +% |\pmclrightsidepar|, respectively.) If you wish them to appear in +% the outer margins, issue |\verselinenumbersouter| in your preamble. +% If you want the line numbers to appear in the inner margins, issue +% |\verselinenumbersgutter| in your preamble. (These two commands use +% |\pmclsidepar|, derived from |\sidepar| from the \textsf{memoir} +% class, but modified by Dan Leucking.) You can adjust the distance +% between the marginal line number and the text with +% |\setlength{\marginparsep}{}|.The default value for |\marginparsep| +% is 18pt, and the default value for the width of the box in which +% the line numbers are set, |\marginparwidth|, is 10 pt. +% +% The line numbers should print on the baseline. You can adjust them +% to move them up or down by changing the value of a length called +% |\pmclsideparvshift|. The default value is +% |\setlength{\pmclsideparvshift}{0ex}|. % % \subsection{~Special features} % \DescribeMacro{\linebend} \textsf{poemscol} automatically runs over @@ -606,7 +659,7 @@ % than the run over portion of long ``bent'' lines are indented, so % that the two cases can be visually distinguished. By default, the % length of |\verseindent| is 2em. To change it, say to 3em, issue -% |\setlength{\verseindent}{3em}| +% |\renewcommand{\verseindent}{\hspace{3em}}| % % % \DescribeMacro{\brokenline} @@ -625,6 +678,7 @@ % end of the first, whatever the font size or special formatting of the % first line. % +% % The sestet of Yeats's sonnet ``Leda and the Swan,'' has such a broken % line: % \begin{verse} @@ -666,7 +720,6 @@ % the beginning of runover lines with |\startverseline|. % % \DescribeMacro{\startverseline} -% \DescribeMacro{\tweakstartverseline} % If you begin a verse line with |\startverseline| the line number % will be set level with the beginning of the line rather than with % the end. This is useful, for instance, if you want to ensure that @@ -674,12 +727,18 @@ % beginning of the line. You can, if you don't want to keep track of % where runover lines are, start every line with |\startverseline|. % -% Rather than setting the line number of every runover line level -% with the beginning of the line, it may make more sense for you to -% set the line number level with the beginning in cases where the -% line number is to the left, and level with the end in cases where -% the line number is to the right. To do this, issue -% |\tweakstartverseline| in your preamble. +% \DescribeMacro{\tweakstartverseline} +% Rather than setting the line number of every runover line level with +% the beginning of the line, it may make more sense for you to set the +% line number level with the beginning in cases where the line number +% is to the left, and level with the end in cases where the line +% number is to the right. You might want to do this, for instance, if +% you have decided to set all the verse lines at the outer margin (by +% issuing |\verselinenumbersouter| in your preamble), or have decided to +% set all the verse lines at the inner margin (by issuing +% |\verselinenumbersgutter| in your preamble). To ensure that +% |\startverseline| does this, issue |\tweakstartverseline| in your +% preamble. % % \DescribeMacro{\stanzalinestraddle} % Some poets (such as Robert Penn Warren) occasionally introduce a @@ -709,7 +768,7 @@ % between a verse environment that indents runover lines and a verse % environment that flushes runover lines to the right. I have seen % examples of this kind of environment from Markus Kohm and Christian -% Ebert, but so far they don't play well with \textsf{poemscol} +% Ebert, but so far I haven't been able to persuade them to play well with \textsf{poemscol} % % \DescribeMacro{\poemlinelabel} \label{poemlinelabel} |\poemlinelabel{}| enables crossreferences % by line number. To make a line label, issue |\poemlinelabel{text of label}| @@ -723,20 +782,24 @@ % number of the page on which the label appears. % % \section{Making a table of contents} -% \DescribeMacro{\makepoemcontents} I found the normal \LaTeX\ macros -% for making tables of contents unsuited to poetry, so I have -% provided my own. To make a table of contents for your -% poems, issue |\makepoemcontents| in your preamble. Information for -% your table of contents will be written to an external file with the -% extension .ctn. You may need to run your book through \LaTeX\ twice -% in order to generate a table of contents, the first time to generate -% the correct page numbers, and the second time to set the table of -% contents. (Under some circumstances --- if you have an index, for -% instance --- you may need three passes rather -% than two.) |\makepoemcontents| takes an optional argument, which sets the -% page number for the table of contents. If your publisher wishes to add some -% front matter so that the contents will appear on page vii, you should issue -% |\makepoemcontents{7}|. +% \DescribeMacro{\makepoemcontents} +% I found the normal \LaTeX\ macros for making tables of contents +% unsuited to poetry, so I have provided my own. To make a table of +% contents for your poems, issue |\makepoemcontents|. It might seem +% as though you would want to issue this command in your preamble. In +% fact it is better, for reasons explained below, to issue it +% immediately after issuing the |\putpoemcontents|, the command which +% inputs and typesets a table of contents from a prior run. +% Information for your table of contents will be written to an +% external file with the extension .ctn. You may need to run your +% book through \LaTeX\ twice in order to generate a table of contents, +% the first time to generate the correct page numbers, and the second +% time to set the table of contents. (Under some circumstances --- if +% you have an index, for instance --- you may need three passes rather +% than two.) |\makepoemcontents| takes an optional argument, which +% sets the page number for the table of contents. If your publisher +% wishes to add some front matter so that the contents will appear on +% page vii, you should issue |\makepoemcontents{7}|. % All of the commands that generate lines in the table of contents are % somewhat messy and somewhat rigid, but you can modify them if you @@ -745,14 +808,14 @@ % volume title, a poem title, or something else), then the title % itself. If the entry is for a poem, for a section of a poem, or for % a section of a poetic sequence, a slash follows the title, followed -% by the page number. If you wish to give \emph{all} your entries a different -% look altogether, -% modify the |\c@ntentsinfo| macro below. To change the appearance of -% a \emph{particular} kind of entry (for all sequences of poems, for -% instance), go to the definition of the title of that kind of entry -% (e.g. |\sequencetitle|) below, find the line where it calls the -% |\c@ntentsinfo| macro, and change the arguments to that macro to -% suit you. +% by the page number. If you wish to give \emph{all} your entries a +% different look altogether, modify the |\c@ntentsinfo| macro below +% (see section \ref{poemtitlecode}, page \pageref{poemtitlecode}. To +% change the appearance of a \emph{particular} kind of entry (for all +% sequences of poems, for instance), go to the definition of the title +% of that kind of entry (e.g. |\sequencetitle|) below, find the line +% where it calls the |\c@ntentsinfo| macro, and change the arguments +% to that macro to suit you. % %\DescribeMacro{\setcontentsleaders} By default the title and the page % are separated by a slash (actually by |~/~|). If you wish to change @@ -761,25 +824,27 @@ % |\setcontentsleaders{\poemdotfill}|, which will flush the number to % the right margin, and insert leading dots up to the number. % -% \DescribeMacro{\putpoemcontents} |\putpoemcontents| will input the -% table of contents file if it exists, and complain on your log file -% if it does not. Because the table of contents uses a special page -% style and special fonts |\putpoemcontents| restores the default -% fancy page style once it has input the contents, and restores -% |\normalfont| as well. Be sure to reset the style of page numbering -% (from |\pagenumbering{roman}| to |\pagenumbering{arabic}|) after -% issuing |\putpoemcontents|, since when you read in the external file -% created by |\makepoemcontents| the page numbering will be set to -% roman. The command |\resetpagestyle| (which is called by -% |\putpoemcontents|) will reset the fancy page style to that used in -% the main body of the volume, but it won't change the page numbering -% to arabic, in case there is some frontmatter between the contents -% and the main text, so you should be sure to do so yourself. If you -% neglect to issue |\pagenumbering{arabic}| before you begin to get to -% your poems your page numbering will remain in roman numerals. The -% notes sections use the page numbers from the poem to construct -% running headers of the form ``Notes to pp.~xx--yy,'' and if those -% numbers are roman numerals you will get the infamous ``Missing +% \DescribeMacro{\putpoemcontents}\label{putpoemcontents} +% |\putpoemcontents| will input the table of contents file if it +% exists, and complain on your log file if it does not. Because the +% table of contents uses a special page style and special fonts +% |\putpoemcontents| restores the default fancy page style once it has +% input the contents, and restores |\normalfont| as well. Be sure to +% reset the style of page numbering (from |\pagenumbering{roman}| to +% |\pagenumbering{arabic}|) after issuing |\putpoemcontents|, since +% when you read in the external file created by |\makepoemcontents| +% the page numbering will be set to roman. The command +% |\resetpagestyle| (which is called by |\putpoemcontents|) will reset +% the fancy page style to that used in the main body of the volume, +% but it won't change the page numbering to arabic, in case there is +% some frontmatter between the contents and the main text, so you +% should be sure to do so yourself. If you neglect to issue +% |\pagenumbering{arabic}| before you begin to get to your poems your +% page numbering will remain in roman numerals. The notes sections +% use the page numbers from the poem to construct running headers of +% the form ``Notes to pp.~xx--yy.'' If those numbers are roman +% numerals rather than arabic ones, \textsf{poemscol} will not +% recognize them as numbers, and you will get the infamous ``Missing % Number'' error that puzzles so many users of \LaTeX. % % Because |\putpoemcontents| uses the table of contents file from a @@ -798,15 +863,18 @@ % contents. |\putpoemindex| inputs the formatted index, and adds an entry % for it into the table of contents. % -% \begin{sloppypar}\DescribeMacro{\puttextnotes} |\puttextnotes|, -% |\putemendations|, |\putexplanatory|, like|\putpoemindex|, input the -% formatted notes sections, and put entries for them into your table -% of contents. As with |\putpoemindex|, you will have to run \LaTeX\ again to set the table of -% contents properly. The first run sets a label to find the page -% number to add to the table of contents, and the second run actually -% sets the table of contents. (These commands are described below, in section -% \ref{putexternalfiles}.) All of these commands also restore normal -% hyphenation. \end{sloppypar} +% \begin{sloppypar}\DescribeMacro{\puttextnotes} +% \DescribeMacro{\putemendations} +% \DescribeMacro{\putexplanatory} +% |\puttextnotes|, and its siblings |\putemendations| and +% |\putexplanatory|, like |\putpoemindex|, input the formatted notes +% sections, and put entries for them into your table of contents. As +% with |\putpoemindex|, you will have to run \LaTeX\ again to set the +% table of contents properly. The first run sets a label to find the +% page number to add to the table of contents, and the second run +% actually sets the table of contents. (These commands are described +% below, in section \ref{putexternalfiles}.) All of these commands +% also restore normal hyphenation. \end{sloppypar} % % \DescribeMacro{\finish} Rather than issuing |\putpoemcontents| in % the proper place, and |\puttextnotes| and its siblings in their @@ -820,7 +888,9 @@ % you print the book with the contents at the end, so when you print % it you must retrieve the contents pages and put them in the proper % place. I found the convenience worth the hassle, but you might not. -% This command is deprecated now. +% This command is deprecated now. But I have retained it, since the +% few users who gave me their opinions of the matter told me that +% they preferred to use |\finish| than |\puttextnotes|. % % % @@ -869,22 +939,28 @@ % recto page. These divider pages have special % page styles, with no page numbers and no running headers. % +% \begin{sloppypar} % \DescribeMacro{\wholebooktitle} \DescribeMacro{\volumetitle} % \DescribeMacro{\volumetitlefirstline} % \DescribeMacro{\volumetitlemiddleline} -% \DescribeMacro{\volumetitlelastline} \DescribeMacro{\volumesubtitle} -% \DescribeMacro{\volumesectiontitle} |\wholebooktitle{}| is for the -% title of the entire collection. The |\volumetitle{}|, -% |\volumetitlefirstline{}|, |\volumetitlemiddleline|, and -% |\volumetitlelastline{}| macros are for the titles of volumes -% gathered into the collection. (The last two commands are for long -% titles. You may want to specify how a long title is broken up both -% in the text and in the table of contents.) |\volumesubtitle{}| is -% for setting the subtitle to a volume. |\volumesectiontitle{}| is -% for setting the title of a section of a volume. In addition to -% setting the text in the body of your edition, these commands send -% the title (and the formatting information about it) to the table of -% contents file and to the textnotes file. +% \DescribeMacro{\volumetitlelastline} +% \DescribeMacro{\volumesubtitle} +% \DescribeMacro{\volumesectiontitle} +% |\wholebooktitle{}| is for the title of the entire collection. +% |\volumetitle{}| is for the title of an individual volume within a +% Collected Poems. The |\volumetitlefirstline{}|, +% |\volumetitlemiddleline{}|, and |\volumetitlelastline{}| macros are +% for multi-line titles of volumes gathered into the collection. (Use +% these last commands if you want to specify how a long title is +% broken up both in the text and in the table of contents. +% \textsf{poemscol} will break up long titles on its own anyway, but +% you might not be happy with how it breaks up the lines.) +% |\volumesubtitle{}| is for setting the subtitle to a volume. +% |\volumesectiontitle{}| is for setting the title of a section of a +% volume. In addition to setting the text in the body of your +% edition, these commands send the title (and the formatting +% information about it) to the table of contents file and to the +% textnotes file.\end{sloppypar} % % \DescribeMacro{\volumeepigraph} % \DescribeMacro{\volumeattribution} @@ -910,7 +986,7 @@ % \textsf{poemscol} opens external files for emendations, textual % collations, and explanatory notes (with extensions .emd, .ent, and % .enx respectively), and reads them back in at the place you specify -% with |\puttextnotes|, |\putexplanatory|, or |\putemendations| or at +% with |\puttextnotes|, |\putexplanatory|, or |\putemendations|, or at % the end (if you use the |\finish| command). % % To collect emendations, issue |\makeemendations| in your preamble. @@ -918,7 +994,7 @@ % preamble. To collect explanatory notes, issue % |\makeexplanatorynotes| in your preamble. These commands set up the % external files, send to them the commands for typesetting the -% title of each section (e.g. Explanatory Notes) and modifying the +% title of each section (e.g. Explanatory Notes) and for modifying the % running headers of the notes sections to xx--yy format (e.g. % ``Explanatory Notes to pp.~55--7''). % @@ -944,6 +1020,7 @@ % canto names or numbers, setting the poem title in some other way, % perhaps with |\volumetitle| described above.) % +% % \subsection{~Textual notes of various kinds} % \DescribeMacro{\sources} To record information about the copy text, editions and % publication history of individual poems, or any information not tied to @@ -989,22 +1066,21 @@ % 214, this is to say, the output in the textual notes would be: % 214--218: lemma] rest of note. % -% \begin{sloppypar} -% It seems clumsy to count the lines -% referred to by a note, especially since you don't have to count -% lines to set where the note begins. -% A more sophisticated way, and one which involves no counting, is to -% make a unique poem line label for the last line of the range by -% issuing |\poemlinelabel{some unique label}| just after the -% |\verseline| or |\end{stanza}| that ends the range. (To use -% |\poemlinelabel| see section \ref{poemlinelabel}.) Then put the -% text of the label into the optional argument of |\textnote| as -% follows: |\textnote[some unique label]{lemma]rest of note}|. This -% is the preferred method. The line-counting method is deprecated, -% but retained for backwards compatibility with earlier -% versions. If you use the label method, you will have to run your -% file through \LaTeX\ twice, once to define the labels, and once to -% set the text.\end{sloppypar} +% \begin{sloppypar} It seems clumsy to count the lines referred to by +% a note, especially since you don't have to count lines to set where +% the note begins. A more sophisticated way, and one which involves +% no counting, is to make a unique poem line label for the last line +% of the range by issuing |\poemlinelabel{some unique label}| just +% after the |\verseline| or |\end{stanza}| that ends the range. (To +% use |\poemlinelabel| see section \ref{poemlinelabel}.) Then, back +% after the |\verseline| or |\end{stanza}| command that closes the +% first line of the range, put the text of the label into the optional +% argument of |\textnote| as follows: |\textnote[some unique label]{lemma]rest of note}|. +% This is the preferred method. The line-counting method is +% deprecated, but retained for backwards compatibility with earlier +% versions. If you use the label method, you will have to run your +% file through \LaTeX\ twice, once to define the labels, and once to +% set the text.\end{sloppypar} % % One advantage of using an optional argument to specify line ranges % in notes is that nested or overlapping lemmas, or lemmas that @@ -1120,9 +1196,9 @@ % % You can % mark individual variants with |\tsentry{}| in the arguments to the -% |\explanatory{}| and |\emendation{}| commands, and -% |\tsentry| will behave normally in any endnote or footnote section -% you define using |\definenewnotetype| as well. +% |\explanatory{}| and |\emendation{}| commands as well, and +% |\tsentry| will also behave normally in any endnote or footnote section +% you define using |\definenewnotetype|. % % \textsf{poemscol} does not provide for a separate backmatter section % for typescript variants, but it would be trivial to construct one, @@ -1151,7 +1227,9 @@ % writing literal, unexpanded text on the file (as % |\literaltextnote{}| does on the textnotes file), and for the % note command that sends the actual textual note (line number and -% all) to the section (e.g. |\mynote{}|). These commands will always be +% all) to the section (e.g. |\mynote{}|), also the command to write +% notes in line-numbered prose (e.g. |\prosemynote{}|) or prose +% numbered by paragraph and sentence (e.g. |\pmmynote{}|). These commands will always be % singular. % \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 @@ -1174,12 +1252,22 @@ % % So, for instance, % |\definenewnotetype{xyznote}{xyz}{Xyznotes}{XYZNOTES}| creates the -% booleans |\ifxyznoteson| and |\ifnoxyznoteyet|, the commands -% |\literalxyznote| and |\xyznote|, (and, although you don't ever +% 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, % the external file |\jobname.xyz|, an entry in the contents for % ``Xyznotes'', and an endnotes section with a running header of the -% form ``Xyznotes to pp.~xx--yy'' and a title XYZNOTES. +% form ``Xyznotes to pp.~xx--yy'' and a title XYZNOTES. |\xyznote| +% takes the same arguments that |\explanatory| does (which is to say, +% an optional argument for a label for entering line ranges, and an +% argument for the lemma and the comment). There won't be an entry +% for a poem in the ``Xyznotes'' endnotes section unless there +% actually is an xyznote for the poem. |\prosexyznote| takes the same +% arguments |\proseexplanatory| does (which is to say, an aptional +% argument for a label for entering line ranges, an argument for a +% label to capture the line number of the first line, and an argument +% for the lemma and the comment). |\pmxyznote| behaves exactly like +% |\pmexplanatory|. % % \section{Multi-level footnotes} \label{makingfootnotes} % \textsf{poemscol} will set multiple @@ -1201,7 +1289,8 @@ % |\emendationsatfoot| in your preamble. These notes will be set by % default as block paragraphs. If you have multiple-paragraph notes % in your emendations, you should redefine these notes to set plain -% rather than para style notes. To set your explanatory notes as +% rather than para style notes. (See the next paragraph for how to do +% this.) To set your explanatory notes as % footnotes, issue |\explanationsatfoot|. These notes will also, by % default, be plain style notes, with one indented paragraph per note. % You do not need to issue |\maketextnotes|, |\makeemendations| or @@ -1210,15 +1299,23 @@ % the text it would have put in your textnotes, since |\literaltext| % just writes its argument onto the external file for textual notes. % -% If you wish to change the style of your footnotes between plain and -% para modes, globally change the values of the booleans -% |\ifsourcesfootnotespara|, |\iftextfootnotespara|, -% |\ifemendationfootnotespara|, or |\ifexplanfootnotespara|, as the -% case may be. To change the 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 command for whichever other kind -% of note you are wishing to change the appearance of). +% +% To change the style of your footnotes between plain and +% para modes, globally change the values some of the following +% booleans. |\ifsourcesfootnotespara|, obviously, is true if +% footnotes from the |\sources| command are set in ``para'' mode +% (default is false). |\iftextfootnotespara| is true if footnotes +% from |\textnote| are set in ``para'' mode (default is true). +% |\ifemendationfootnotespara|, or |\ifexplanfootnotespara| are the +% 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 +% 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 +% command for whichever other kind of note you are wishing to change +% the appearance of). % % When |\sources| is defined to send endnotes to the textual notes % section, they usually appear immediately underneath the title of @@ -1275,9 +1372,18 @@ % \DescribeMacro{\putexplanatory} |\puttextnotes| and % |\putexplanatory| do the same thing for the textual % notes and for the explanatory notes. +% +% All of these last three commands restore normal hyphenation. Since +% all three are printed with the |\small| font size, the hyphen +% character is defined only for that size. This should not create +% other issues, however, because the commands that prohibit +% hyphenation in the |poem| environment (and in the |contentsentry| +% environment) are local to those environments, so the restoration of +% the hyphen character may be redundant. % -% \DescribeMacro{\putpoemindex} Inputs the index at this point, and -% adds an entry for the index to external file for the table of contents. +% \DescribeMacro{\putpoemindex} |\putpoemindex| reads in the index at +% this point, and adds an entry for the index to external file for the +% table of contents. % % \DescribeMacro{\finish} The % |\finish| macro is deprecated but still available. It is @@ -1304,23 +1410,24 @@ % \section{Special cases} % \subsection{~Epigraphs, attributions etc.} % \DescribeMacro{\epigraph} \DescribeMacro{\headnote} -% \DescribeMacro{\attribution} \DescribeMacro{\dedication} Set -% epigraphs, attributions, dedications, and headnotes as arguments to -% these macros. If you have epigraphs, attributions, dedications on the -% divider pages of editions that combine several volumes of poetry, -% use |\volumededication{}|, |\volumeepigraph{}|, and -% |\volumeattribution{}|. +% \DescribeMacro{\attribution} \DescribeMacro{\dedication} +% |\epigraph|, |\headnote|, |\attribution|, and |\dedication| set +% their arguments as epigraphs, headnotes, attributions, or +% dedications. If you have dedications, epigraphs, or attributions on +% the divider pages of editions that combine several volumes of +% poetry, use |\volumededication{}|, |\volumeepigraph{}|, and +% |\volumeattribution{}|. % % \subsection{~Inset prose quotations} % \DescribeMacro{\saveverselinenumber} -% \DescribeMacro{\restoreverselinenumber} Sometime you will have inset prose +% \DescribeMacro{\restoreverselinenumber} Sometimes you will have inset prose % passages, but you will not wish to start the line numbering over % after the passage. The way to set this is to issue |\end{stanza}| % at the end of the stanza before the prose insert. Then issue % |\saveverselinenumber|. Then issue |\end{poem}|. Insert the prose % quotation (perhaps followed by |\attribution{}|). Then issue % |\begin{poem}| followed by |\restoreverselinenumber| and |\begin{stanza}|. -% Then begin entering the rest of the poem. Longer, independent prose +% Then begin entering the rest of the poem as usual. Longer, independent prose % sections (such as the author's preface or prose poems) require % different handling. To provide line numbers and notes for such % prose sections, see section \ref{prosesections}. @@ -1358,20 +1465,23 @@ % care how long titles were broken up, this would probably be the % best thing to do. Remember also that if \textsf{poemscol} breaks a % title across two lines, you can always force it not break the line -% by using enclosing the argument to |\poemtitle{}| in |\hbox{}|. +% by using enclosing the argument to |\poemtitle{}| in |\hbox{}|. You +% may get a complaint on your log file about an overfull |\hbox| if +% you do this, however. % % \subsection{~Italicized poem titles and empty poem titles} Titles % with italics or other special formatting posed special problems in -% earlier versions since the typesetting commands gummed up how I +% earlier versions (before version 1.7) since the typesetting commands gummed up how I % passed parameters around that I was unable to solve using % |\protect|. All of these commands are obsolete now, but are % retained for backward compatibility. +% % \DescribeMacro{\poemtitleitalic{}{}} |\poemtitleitalic{}{}| takes % two arguments. The first is the title of the poem with the italics % (or small capitals or international characters or what have you), % for typesetting, and the second is the title without the commands, % for cross reference purposes. (Actually, now that \textsf{poemscol} -% no long needs to treat italics in titles in a different way, it can +% no longer needs to treat italics in titles in a different way, it can % be anything you want, since the second argument is discarded.) % % \DescribeMacro{\poemtitlenotitle{}} @@ -1390,16 +1500,26 @@ % first line without the italics (for crossreference purposes). This command % is obsolete now that italics in titles no longer require special % handing, but is retained for backwards compatibility. +% % \subsection{~Poems in sections} % -% \DescribeMacro{\poemsectiontitle} |\poemsectiontitle{}| and its relatives -% (|\poemsubsectiontitle{}|,\goodbreak |\poemsectiontitlefirstline{}|, -% |\poemsectiontitlelastline{}|,\goodbreak |\poemsectiontitlenocontents{}|, and -% |\poemsectiontitlebaretitle{}|), as their titles imply, are used for the titles -% of sections of poems that have titled sections, and for special cases such as -% long section titles. You can construct variants of these macros for dealing -% with special cases I didn't anticipate by using |\poemsectiontitlebaretitle{}| -% and |\literalcontents{}| and its siblings. +% \begin{sloppypar} +% \DescribeMacro{\poemsectiontitle} +% |\poemsectiontitle{}| and (|\poemsubsectiontitle{}|, as their +% names imply, are for the titles of sections or subsections of poems +% that have them. |\poemfirstsectiontitle| is for the first section +% of a poem with many sections. (It differs from |\poemsectiontitle| +% in that it tries to make it harder for a page break to separate the +% title of a poem from the title of its first section.) +% |\poemsectiontitlefirstline{}|, |\poemsectiontitlemiddleline|, |\poemsectiontitlelastline{}|, +% |\poemsectiontitlenocontents{}|, and +% |\poemsectiontitlebaretitle{}|), as their titles imply, are used for +% special cases such as long section titles, if you wish to specify +% explicitly how the title is to be broken up in the text and in the +% table of contents. You can construct variants of these macros for +% dealing with special cases I didn't anticipate by using +% |\poemsectiontitlebaretitle{}| and |\literalcontents{}| and its +% siblings.\end{sloppypar} % % \subsection{~Poetic sequences} % @@ -1437,7 +1557,7 @@ % you may need. % % Here is a list of all of the defined title commands. -% \newpage +% % \begin{itemize} % \item Macros for Poem titles % \begin{itemize} @@ -1446,6 +1566,8 @@ % \item |\poemtitlemiddleline| % \item |\poemtitlelastline| % \item |\poemtitlenotitle| +% \item |\poemtitlenocontents| +% \item |\poemtitlebaretitle| % \item |\poemsubtitle| % \end{itemize} % \item Poems in Sections @@ -1455,8 +1577,9 @@ % \item |\poemsectiontitlemiddleline| % \item |\poemsectiontitlelastline| % \item |\poemsectiontitlenocontents| -% \item |\poemfirstsectiontitlebaretitle| % \item |\poemsectiontitlebaretitle| +% \item |\poemfirstsectiontitle| +% \item |\poemfirstsectiontitlebaretitle| % \item |\poemsubsectiontitle| % \end{itemize} % \item Sequence Titles @@ -1548,6 +1671,35 @@ % three macros. The lines will be broken in the % table of contents and in the body of the text in the same way, but will be run in in % the notes sections. +% +% \DescribeMacro{\JHpoemtitle} +% In his edition of the poetry of Jos\'e Maria Heredia, Tilmann +% Altenberg placed a marker in the margin next to poem titles with a reference to where +% in the apparatus notes on that poem could be found. To do this, use +% the |\JHpoemtitle| command. This command takes two arguments: +% 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 +% given in section \ref{JHpoemtitle}, p.~\pageref{JHpoemtitle} for how to +% construct similar commands for sequences, sequence sections, and so +% on. +% +% 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 +% |\@mparswitchfalse| (be sure to put |\makeatletter| and +% |\makeatother| around this command). You can control the side on +% which the marginal reference appears with |\normalmarginpar| (to +% place them on the right) or |\reversemarginpar| (to place them on +% the left). |\JHpoemtitle| and its siblings place the marginal +% reference using |\marginpar|. +% +% \DescribeMacro{\setmpargpoemtitle} +% |\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. % % \subsection{~Visual formatting} % \DescribeMacro{\longpage} @@ -1646,12 +1798,14 @@ % % \subsection{~Page geometry and type leading} % -% You have to give geometry the values that suit you. I include the -% values I used in my own book, just to give you a starting place. -% Using these numbers out of the box might make your page look strange, -% since I also used the now obsolete \textsf{cropmarks} package, which -% defined a few other lengths and moved the page box around on the -% page. With that warning, here is a list of the values I used: +% You have to give geometry the values that suit you. I include the +% values I used in my own book, just to give you a starting place. +% Using these numbers out of the box might make your page look +% strange, since I also used the now obsolete \textsf{cropmarks} +% package, which defined a few other lengths and moved the page box +% around on the page. Also, the default values for marginparsep and +% marginparwidth are different now (18pt and 10pt respectively). With +% that warning, here is a list of the values I used: % % \bigskip % @@ -1782,7 +1936,6 @@ % have provided the new name to make it easy to distinguish from % |\poemlinelabel|. % -% \newpage % % % \DescribeMacro{\prosetextnote} @@ -1863,6 +2016,9 @@ % combining verse and prose. (Hence the commands that follow often % begin with |pm|.) % +% \DescribeMacro{pmsection} +% You should put prose marked up for sentence and paragraph +% annotation in a |pmsection| environment. % You do not need to put prose marked up for sentence and paragraph % annotation in a |prosesection| environment. That environment is % only needed if you are line-numbering prose. You also do not need @@ -1885,14 +2041,12 @@ % |\setlength{\marginparsep}{length}| or, better, by using % |\renewcommand| to change the setting of |\marginparsep| in % |\verselinenumberstoleft| or whatever else you intend to use. - +% % \DescribeMacro{\pmsentence} Each sentence must begin with % |\pmsentence|. |\pmsentence| increments the sentence counter, % optionally puts the sentence number in the running text, and % optionally puts the sentence number in the margin. - -% \DescribeMacro{\runningsentencenumberstrue} -% \DescribeMacro{\marginsentencenumberstrue} +% % |\runningsentencenumberstrue| % sets sentence % numbers in the running text. @@ -1905,11 +2059,11 @@ % the margin, you need not number every sentence. Indeed, if there is % more than one sentence on a line, the numbers will overwrite each % other (unless you use the marn.sty package, and substitute |\marn| -% for |\rightsidepar|, |\leftsidepar| or |\sidepar| in the code for +% for |\pmclrightsidepar|, |\pmclleftsidepar| or |\pmclsidepar| in the code for % |\pmsentence|). You can also avoid overlapping sentence numbers by % using |\pmsentencetwo| and its siblings, defined below. You can set % the modulo for sentence marginal numbers by issuing -% |\setpmmodulo{}|. +% |\setpmmodulo{}|. % % \DescribeMacro{\pmsentencetwo} % \DescribeMacro{\pmsentencethree} @@ -1934,8 +2088,7 @@ % (|\versenumberstoright| or whatever) again when you move % from a prose to a verse environment. % -% \DescribeMacro{\runningsentencenumberformat} -% \DescribeMacro{\marginsentencenumberformat} +% % |\runningsentencenumberformat| sets the format of running sentence numbers. Currently it is % |\textsuperscript| and |\tiny|. % You can change this with |\renewcommand|. The format of marginal @@ -1959,6 +2112,21 @@ % is controlled by the same commands that control placement of % marginal sentence numbers. % +% If you begin a paragraph with |\pmpara| \textsf{poemscol} will +% assume that you intend to include the paragraph number in your +% notes (in the form \emph{paragraph: sentence:} for simple +% references, or \emph{firstparagraph: firstsentence: -- +% ;astparagraph: lastentence:} for ranges of sentences) even if you do not reset +% the sentence number at the beginning of each paragraph. Normally +% you would not issue |\pmpara| if you are not resetting the sentence +% number at the beginning of each paragraph, since under those +% circumstances you don't really need to keep track of the paragraph +% numbers, in which case each note would simply include the sentence +% number (just as in verse it would include the line number). In the +% unusual event in which you wish to put the paragraph number in the +% margin but refer only to sentence numbers in the notes, simply +% follow every use of |\pmpara| with |\pmparasfalse|. +% % \DescribeMacro{\pmpararunningformat}\DescribeMacro{\pmparmarformat} % The format of running paragraph numbers is set % by |\pmparrunningformat|. Currently it is @@ -2882,28 +3050,28 @@ % \subsection{~Marginal line numbers, verse lines, line cross % references, etc.}\label{marginalgeometry} The default is that the % line numbers are on the right side, and that the |\marginparsep| is -% -18pt. If you use |\leftsidepar| the placement of the number is +% 18pt. If you use |\pmclleftsidepar| the placement of the number is % controlled by |\marginparsep| and |\marginparwidth|. You should % experiment with different values until you find a set that suits % you. A rule of thumb for me is that the |\marginparsep| if the % numbers is on the right should be the negative of the value if it is % on the left. First, some lengths and ifs: % \begin{macrocode} - \setlength{\marginparsep}{-18pt} + \setlength{\marginparsep}{18pt} \setlength{\marginparwidth}{10pt} \newif\ifnumbersswitch \numbersswitchfalse \newif\ifnumbersright \numbersrighttrue % \end{macrocode} -% Next, code for |\sidepar|, taken from the memoir class, by -% Peter Wilson. Most of this uses |\providecommand|, to make it -% easier to make \textsf{poemscol} and \textsf{memoir} compatible. -% \begin{macro}{\sidepar} +% Next, code for |\pmclsidepar|, taken from the memoir class, by +% Peter Wilson. Modified by Dan Luecking. +% \begin{macro}{\pmclsidepar} % \begin{macrocode} -\providecommand{\sidepar}{\@dblarg{\@sidepar}} -\long\def\@sidepar[#1]#2{\@bsphack\leavevmode\vadjust{% % - \checkoddpage - \ifsideparswitch - \ifreversesidepar +\newcommand{\pmclsidepar}{\@dblarg{\@pmclsidepar}} +%\long\def\@pmclsidepar[#1]#2{\@bsphack\leavevmode\vadjust{% +\long\def\@pmclsidepar[#1]#2{\@bsphack\strut\vadjust{% added +\checkoddpage + \ifpmclsideparswitch + \ifpmclreversesidepar \ifoddpage \oddpagefalse \else @@ -2912,7 +3080,7 @@ \fi \else \oddpagetrue - \ifreversesidepar + \ifpmclreversesidepar \oddpagefalse \fi \fi @@ -2930,12 +3098,18 @@ \kern -\marginparsep \kern -\marginparwidth % at left \fi \fi - \vbox to 0pt{% - \kern \sideparvshift% % vertical shift to align top text lines - \begin{minipage}{\marginparwidth}% - \ifoddpage #2\else #1\fi% +% \vbox to 0pt{% +% \kern \pmclsideparvshift% % vertical shift to align top text lines +% \begin{minipage}{\marginparwidth}% + \setbox0=\vtop to 0pt{% added + \begin{minipage}[t]{\marginparwidth}% added + \ifoddpage #2\else #1\fi% \end{minipage}% - \vss}}}\@esphack} +% \vss}}}\@esphack} +\vss}% added + \vtop to 0pt{\kern\pmclsideparvshift % default should be 0pt + \kern-\dp\strutbox \kern-\ht0 \box0 \vss}}}\@esphack}% added + % \end{macrocode} % \end{macro} @@ -3019,16 +3193,16 @@ % \end{macrocode} % \end{macro} -% \begin{macro}{\ifreversesidepar} -% \begin{macro}{\ifsideparswitch} +% \begin{macro}{\ifpmclreversesidepar} +% \begin{macro}{\ifpmclsideparswitch} % Analogues of |\marginpar| controls. % \begin{macrocode} -\newif\ifreversesidepar -% \reversesideparfalse - \reversesidepartrue -\newif\ifsideparswitch - \sideparswitchfalse -\if@twoside \sideparswitchtrue \fi +\newif\ifpmclreversesidepar +% \pmclreversesideparfalse + \pmclreversesidepartrue +\newif\ifpmclsideparswitch + \pmclsideparswitchfalse +\if@twoside \pmclsideparswitchtrue \fi % \end{macrocode} % \end{macro} @@ -3055,19 +3229,14 @@ % Two-column and one-column printing is again realized via a switch % which is defined in the kernel. The default is single column printing. % -% % \begin{macro}{\if@twocolumn} -% % \begin{macrocode} -% \DeclareOption{onecolumn}{\@twocolumnfalse} -% \DeclareOption{twocolumn}{\@twocolumntrue} -% % \end{macrocode} -% % \end{macro} % -% \begin{macro}{\sideparvshift} +% \begin{macro}{\pmclsideparvshift} % Vertical shift for sidepar to align with text line % \begin{macrocode} -\newlength{\sideparvshift} -% \setlength{\sideparvshift}{-2.08ex}% seems to work for all font sizes -\setlength{\sideparvshift}{-2.58ex} +\newlength{\pmclsideparvshift} +% \setlength{\pmclsideparvshift}{-2.08ex}% seems to work for all font sizes +%\setlength{\pmclsideparvshift}{-2.58ex} +\setlength{\pmclsideparvshift}{0ex} % \end{macrocode} % \end{macro} % My code resumes here @@ -3075,11 +3244,20 @@ % \begin{macro}{\verselinenumberstoright} % \begin{macrocode} \newcommand{\verselinenumberstoleft}{% +% \catcode`\@=11% +% \@mparswitchfalse% +% \catcode`\@=12% +% \reversemarginpar% \setlength{\marginparsep}{18pt}% \setlength{\marginparwidth}{10pt}% \numbersswitchfalse\numbersrightfalse} \newcommand{\verselinenumberstoright}{% - \setlength{\marginparsep}{-18pt}% +% \catcode`\@=11% +% \@mparswitchfalse% +% \catcode`\@=12% +% \normalmarginpar% + % \setlength{\marginparsep}{-18pt}% + \setlength{\marginparsep}{18pt}% \setlength{\marginparwidth}{10pt}% \numbersswitchfalse\numbersrighttrue} % \end{macrocode} @@ -3090,15 +3268,23 @@ % \begin{macro}{\verselinenumbersouter} % \begin{macrocode} \newcommand{\verselinenumbersswitch}{% +% \catcode`\@=11% +% \@mparswitchtrue% +% \catcode`\@=12% % \strictpagechecktrue% \setlength{\marginparsep}{18pt}% \setlength{\marginparwidth}{10pt}% - \numbersswitchtrue\numbersrightfalse} -\newif\ifnumbersgutter \numbersgutterfalse + \numbersswitchtrue\numbersrightfalse\pmclsideparswitchtrue} +\newif\ifnumbersgutter \numbersgutterfalse% \newcommand{\verselinenumbersgutter}{\verselinenumbersswitch% -\reversesideparfalse\numbersguttertrue} +%\normalmarginpar +\pmclreversesideparfalse% +\numbersguttertrue% +} \newcommand{\verselinenumbersouter}{\verselinenumbersswitch% -\reversesidepartrue\numbersgutterfalse} +%\reversemarginpar% +\pmclreversesidepartrue% +\numbersgutterfalse} % \end{macrocode} % \end{macro} % \end{macro} @@ -3106,21 +3292,29 @@ % \begin{macro}{\putverselinenumber} % \begin{macrocode} \newcommand{\putverselinenumber}{\nolinebreak\begin{marginenvironment}% - \nolinebreak - \ifnumbersswitch\sidepar{\hfil\textrm{\scriptsize\theverselinenumber}}% - \else - \ifnumbersright\rightsidepar{\hfil\textrm{\scriptsize\theverselinenumber}}% - \else - \leftsidepar{\textrm{\scriptsize\theverselinenumber}\hfil}% - \fi - \fi + \nolinebreak% +% \ifnumbersswitch\marginpar{\hfil\textrm{\scriptsize\theverselinenumber}}% +% \else% +% \ifnumbersright\marginpar{\hfil\textrm{\scriptsize\theverselinenumber}}% +% \else% +% \marginpar{\textrm{\scriptsize\theverselinenumber}\hfil}% +% \fi% +% \fi + \ifnumbersswitch\pmclsidepar{\hfil\textrm{\scriptsize\theverselinenumber}}% + \else% + \ifnumbersright\pmclrightsidepar{\hfil\textrm{\scriptsize\theverselinenumber}}% + \else% + \pmclleftsidepar +{\textrm{\scriptsize\theverselinenumber}\hfil}% + \fi% + \fi% % \marn{\hfil\textrm{\theverselinenumber}} % \marginpar{\hfil\textrm{\scriptsize\theverselinenumber}} % \linenumberside{\textrm{\scriptsize\theverselinenumber}\hfil} -% \rightsidepar{\textrm{\scriptsize\theverselinenumber}} - \nolinebreak +% \pmclrightsidepar{\textrm{\scriptsize\theverselinenumber}} + \nolinebreak% \end{marginenvironment}% - \nolinebreak + \nolinebreak% } % \end{macrocode} % \end{macro} @@ -3564,7 +3758,7 @@ CONTENTS}\end{center} \newcommand{\argpageref}[1]{\pageref{#1}} % \end{macrocode} % \subsubsection{Poem Titles} -% \begin{macro}{\poemtitle} +% \begin{macro}{\poemtitle}\label{poemtitlecode} % All of the other commands in this section are variations on this % one, changing the penalties, the skips, the indentations, and the % fonts. The command breaks into three sections. First, the title @@ -3813,6 +4007,14 @@ CONTENTS}\end{center} % \begin{macrocode} \newcommand{\poemsectiontitlenocontents}[1]{% \sequencesubsectiontitlenocontents{#1}}% +\newcommand{\poemfirstsectiontitle}[1]{% +\set@p@emtitle{#1}{\par\nobreak}{\subsectiontitlefont}% +{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}% +{\titleindentamount}% +\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}% +{\contentsindentthreeamount}% +\t@xtnotesinfo{#1}% +} \newcommand{\poemfirstsectiontitlebaretitle}[1]{% \set@p@emtitle{#1}{\par\nobreak}{\subsectiontitlefont}% {\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}% @@ -4183,7 +4385,104 @@ CONTENTS}\end{center} \sequencefirstsubsectionmiddleline{#1} } % \end{macrocode} - +% \begin{macro}{\setmargpoemtitle} +% Titles with a marginal reference to the notes, 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 +% \begin{macrocode} +\newcommand{\setmargpoemtitle}[2]{% +\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}% +{\relax}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}{\z@}{#2}% +\c@ntentsinfo{#1}{\contentsindentone}{\contentspoemtitlefont}% +{\contentsindenttwoamount}% +\t@xtnotesinfo{#1}% +} +\newcommand{\set@margp@emtitle}[7]{\setlength{\titleentryoverrun}{#6}% +{#2}% +{#3 \begin{titleentryenvironment}% +{#4 #1 #7}\end{titleentryenvironment}}% +{#5}% +\m@kep@emlabel% +\m@ken@teholder{#1}% +\setlength{\titleentryoverrun}{\z@}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\JHpoemtitle} Macros to set marginal line +% references. +% \begin{macrocode} +\newcommand{\JHpoemtitle}[2]{% +\setmargpoemtitle{#1}{\JHlabel{#2}}% +} +\newcommand{\JHlabel}[1]{% +\marginpar{{\scriptsize{\dag~p.~\pageref{#1}}}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\JHsequencetitle} Macros to set marginal line +% references for sequences and sequence sections. +% \begin{macrocode} +\newcommand{\JHsequencetitle}[2]{% +\set@margp@emtitle{#1}{\sequencetitlepenalty}{\sequencetitlefont}% +{\relax}{\nobreak\par\nobreak\aftersequencetitleskip\nobreak}{\z@}% +{\JHlabel{#2}}% +\putpagenumberincontentsfalse% +\c@ntentsinfo{#1}{\contentsindentone}{\contentssequencetitlefont}% +{\contentsindenttwoamount}% +\putpagenumberincontentstrue% +\t@xtnotesinfo{#1}% +} +\newcommand{\JHsequencesectiontitle}[2]{% +\set@margp@emtitle{#1}{\poemtitlepenalty}{\poemtitlefont}% +{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}% +{\titleindentamount}{\JHlabel{#2}}% +\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}% +{\contentsindentthreeamount}% +\t@xtnotesinfo{#1}% +} +\newcommand{\JHsequencefirstsectiontitle}[2]{% +\set@margp@emtitle{#1}{\par\nobreak\afterpoemtitleskip}{\poemtitlefont}% +{\titleindent}{\nobreak\par\nobreak\afterpoemtitleskip\nobreak}% +{\titleindentamount}{\JHlabel{#2}}% +\c@ntentsinfo{#1}{\contentsindenttwo}{\contentspoemtitlefont}% +{\contentsindentthreeamount}% +\t@xtnotesinfo{#1}% +} +% \end{macrocode} +% \end{macro} +% To change other title making commands to produce titles which add +% something while processing the title, you should: 1. add one to +% the number of arguments it uses 2. replace the use of +% |\set@p@emtitle| with |\set@margp@emtitle| 3. add |{#2}| or +% |\JHlabel{#2}| or whatever as the +% last (seventh) argument to |\set@margp@emtitle|. So, to change +% |\sequencetitle{}| to |\JHsequencetitle{}{}| start with: +% \begin{verbatim} +% \newcommand{\sequencetitle}[1]{ +% \set@p@emtitle{#1}{\sequencetitlepenalty}{\sequencetitlefont} +% {\relax}{\nobreak\par\nobreak\aftersequencetitleskip\nobreak}{\z@} +% \putpagenumberincontentsfalse +% \c@ntentsinfo{#1}{\contentsindentone}{\contentssequencetitlefont} +% {\contentsindenttwoamount} +% \putpagenumberincontentstrue +% \t@xtnotesinfo{#1} +% } +% \end{verbatim} +% and change it to +% \begin{verbatim} +% \catcode`\@=11 +% \newcommand{\JHsequencetitle}[2]{ +% \set@margp@emtitle{#1}{\sequencetitlepenalty}{\sequencetitlefont} +% {\relax}{\nobreak\par\nobreak\aftersequencetitleskip\nobreak}{\z@} +% {\JHlabel{#2}}\putpagenumberincontentsfalse +% \c@ntentsinfo{#1}{\contentsindentone}{\contentssequencetitlefont} +% {\contentsindenttwoamount} +% \putpagenumberincontentstrue +% \t@xtnotesinfo{#1} +% } +% \catcode`\@=12 +% \end{verbatim} % \subsection{~Epigraphs, headnotes, attributions, dedications} % Notice that epigraphs to volumes are handled differently from % epigraphs to poems. @@ -4302,7 +4601,7 @@ CONTENTS}\end{center} % \end{macrocode} % \end{macro} % \subsection{~Commands to make notes and send info to contents} -% % \begin{macro}{\setlemmarange} +% \begin{macro}{\setlemmarange} % |\setlemmarange| calculates the range of line numbers for multi-line % lemmas. % \begin{macrocode} @@ -4325,7 +4624,7 @@ CONTENTS}\end{center} \makeatother} % \end{macrocode} % \end{macro} -% % \begin{macro}{\citerange} +% \begin{macro}{\citerange} % |\citerange| sets the range of line numbers for multi-line lemmas % \begin{macrocode} \newcommand{\citerange}{% @@ -4336,7 +4635,7 @@ CONTENTS}\end{center} \fi} % \end{macrocode} % \end{macro} -% % \begin{macro}{\resetlemmacounters} +% \begin{macro}{\resetlemmacounters} % |\resetlemmacounters| resets the counts for multiline lemmas. % \begin{macrocode} \newcommand{\resetlemmacounters}{\rangelemmafalse @@ -4345,7 +4644,7 @@ CONTENTS}\end{center} } % \end{macrocode} % \end{macro} -% % \begin{macro}{\checknoteheaders} +% \begin{macro}{\checknoteheaders} % |\checknoteheaders| Checks and corrects the values in the running % headers of notes sections. The running headers are of the form % ``Notes to pages xx--yy.'' Every title and every note checks @@ -4367,7 +4666,7 @@ CONTENTS}\end{center} % \end{macrocode} % \end{macro} -% % \begin{macro}{\textnote} +% \begin{macro}{\textnote} % The % basic |\textnote{}| command, on which everything else is based, has % several parts. First, it writes out a little program @@ -4474,7 +4773,7 @@ CONTENTS}\end{center} % If there have not been prior notes, then a new paragraph must be % opened and the page number and title of the poem set in the note % section. -% % \begin{macro}{\titletoothernotes} +% \begin{macro}{\titletoothernotes} % |\titletoothernotes| sends the page and title information to the % Emendations or Explanatory Notes sections. It is called only for % the first emendation or explanatory note for a poem. It is designed @@ -4619,15 +4918,40 @@ CONTENTS}\end{center} \expandafter\newcommand\csname first#1\endcsname{ \immediate\write\expandafter\csname#1s\endcsname{\titletoothernotes}} % 7. set up a command to write a note, complete with line numbers -\expandafter\newcommand\csname #1\endcsname[2][0]{ - \setlemmarange{##1} - \csname ifno#1yet\endcsname - \csname first#1\endcsname - \fi -\global\csname no#1yetfalse\endcsname -\immediate\write\expandafter\csname #1s\endcsname{\checknoteheaders} -\csname literal#1\endcsname{##2} -\resetlemmacounters} +\expandafter\newcommand\csname #1\endcsname[2][0]{% + \setlemmarange{##1}% + \csname ifno#1yet\endcsname% + \csname first#1\endcsname% + \fi% +\global\csname no#1yetfalse\endcsname% +\immediate\write\expandafter\csname #1s\endcsname{\checknoteheaders}% +\csname literal#1\endcsname{##2}% +\resetlemmacounters% +} +% prose version +\expandafter\newcommand\csname prose#1\endcsname[3][0]{% % +\unskip\proselinelabel{##2}% +\setproselemmarange{##2}{##1}% +\csname ifno#1yet\endcsname% +\csname first#1\endcsname% +\fi% +\global\csname no#1yetfalse\endcsname% +\immediate\write\expandafter\csname #1s\endcsname{\checkprosenoteheaders}% +\csname literal#1\endcsname{##3}% +\resetlemmacounters\unskip% +} +% pm version +\expandafter\newcommand\csname pm#1\endcsname[2][0]{% + \setpmlemmarange{##1}% + \csname ifno#1yet\endcsname% + \csname first#1\endcsname% + \fi% +\global\csname no#1yetfalse\endcsname% +\immediate\write\expandafter\csname #1s\endcsname{\pmchecknoteheaders\string~}% +\immediate\write\expandafter\csname #1s\endcsname{\pmciterange}% +\csname literal#1\endcsname{##2}% +\pmresetlemmacounters\unskip% +} % 8. modify the end of the poem environment to reset the first % command per poem boolean (so that the page and title will be set in % the notes section when the first note is called for a poem) @@ -4635,6 +4959,13 @@ CONTENTS}\end{center} \makeatletter \appendtomacro{\poem}{\global\expandafter\csname no#1yettrue\endcsname} \makeatother +\makeatletter +\appendtomacro{\prosesection}{\global\expandafter\csname no#1yettrue\endcsname} +\makeatother +\makeatletter +\appendtomacro{\pmsection}{\global\expandafter\csname no#1yettrue\endcsname} +\makeatother + % 9. command for closing the output file % command for reading in and printing the output file \expandafter\newcommand\csname put#1s\endcsname{ @@ -4687,7 +5018,10 @@ CONTENTS}\end{center} \else\ifnumbersswitch\rightlinenumbers*\setlength{\linenumbersep}{-\marginparsep}% \else\leftlinenumbers*\setlength{\linenumbersep}{\marginparsep}% \addtolength{\linenumbersep}{5pt}% seems about right -\fi\fi} +\fi\fi +\noemendyettrue% +\noexplainyettrue% +} {\end{linenumbers}} \newenvironment{prosesectionnoreset} {\begin{linenumbers}% @@ -4903,6 +5237,10 @@ r@#2\endcsname{}{}\@nil % \begin{macrocode} \newcommand{\setprosebysentence}{\prosebysentencetrue% } +\newenvironment{pmsection}{ +\noemendyettrue% +\noexplainyettrue% +}{} % \end{macrocode} % Formatting for sentence numbers in the running text and in the % margin. @@ -4913,21 +5251,38 @@ r@#2\endcsname{}{}\@nil \newcommand{\setpmmodulo}[1]{\setcounter{pmmodulo}{#1}% \addtocounter{pmmodulo}{-1}% } -\newcommand{\pmnumberstoleft}{\numbersswitchfalse\numbersrightfalse% +\newcommand{\pmnumberstoleft}{%\catcode`\@=11% +% \@mparswitchfalse% +% \catcode`\@=12% +% \reversemarginpar% +\numbersswitchfalse\numbersrightfalse% \setlength{\marginparsep}{18pt}% } -\newcommand{\pmnumberstoright}{\numbersswitchfalse\numbersrighttrue% +\newcommand{\pmnumberstoright}{%\catcode`\@=11% +% \@mparswitchfalse% +% \catcode`\@=12% +% \normalmarginpar% +\numbersswitchfalse\numbersrighttrue% \setlength{\marginparsep}{-18pt} +% \setlength{\marginparsep}{18pt} } \newcommand{\pmnumbersswitch}{\strictpagechecktrue\numbersswitchtrue\numbersrightfalse% \setlength{\marginparsep}{18pt}% } -\newcommand{\pmnumbersgutter}{\pmnumbersswitch% -\reversesideparfalse\numbersguttertrue% +\newcommand{\pmnumbersgutter}{%\catcode`\@=11% +% \@mparswitchtrue% +% \catcode`\@=12% +% \normalmarginpar% +\pmnumbersswitch% +\pmclreversesideparfalse\numbersguttertrue% \setlength{\marginparsep}{18pt}% } -\newcommand{\pmnumbersouter}{\pmnumbersswitch% -\reversesidepartrue\numbersgutterfalse% +\newcommand{\pmnumbersouter}{%\catcode`\@=11% +% \@mparswitchtrue% +% \catcode`\@=12% +% \reversemarginpar% +\pmnumbersswitch% +\pmclreversesidepartrue\numbersgutterfalse% \setlength{\marginparsep}{18pt}% } % \end{macrocode} @@ -4938,15 +5293,19 @@ r@#2\endcsname{}{}\@nil {\marginsentencenumberformat}} \newcommand{\putpmmarginnumber}[2]{% \nolinebreak\begin{marginenvironment}% - \nolinebreak - \ifnumbersswitch\sidepar{\hfil #2{#1}}% - \else - \ifnumbersright\rightsidepar{\hfil #2{#1}}% - \else \leftsidepar{#2{#1}\hfil}% - \fi - \fi - \nolinebreak - \end{marginenvironment}\nolinebreak + \nolinebreak% + \ifnumbersswitch%\marginpar{\hfil #2{#1}} + \pmclsidepar{\hfil #2{#1}}% + \else% + \ifnumbersright%\marginpar{\hfil #2{#1}} + \pmclrightsidepar{\hfil #2{#1}}% + \else% \marginpar{#2{#1}\hfil} + \pmclleftsidepar +{#2{#1}\hfil}% + \fi% + \fi% + \nolinebreak% + \end{marginenvironment}\nolinebreak% } % \end{macrocode} % \begin{macro}{\pmsentence} @@ -4957,23 +5316,28 @@ r@#2\endcsname{}{}\@nil \newcommand{\pmsentence}{% % increment sentence number at beginning of sentence \addtocounter{pmsentencenumber}{1}% -\ifrunningsentencenumbers % add running number +\ifrunningsentencenumbers% add running number \runningsentencenumberformat{\thepmsentencenumber}% \fi% -\ifmarginsentencenumbers % add marginal number +\ifmarginsentencenumbers% add marginal number \addtocounter{pmindexcount}{1}% \leavevmode% - \ifnum\thepmindexcount>\thepmmodulo% - \putpmsentencenumber\nobreak% +\ifthenelse{\value{pmindexcount}>\value{pmmodulo}}% +{ \putpmsentencenumber\nobreak% \setcounter{pmindexcount}{0}% - \fi% +}{\relax}% +% \ifnum\thepmindexcount>\thepmmodulo% +% \putpmsentencenumber\nobreak% +% \setcounter{pmindexcount}{0}% +% \fi% \fi% % create header for notes if any are to occur \ifpmparas% \global\edef\noteheaderconcat{\thepmparagraph:\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \else% -\global\edef\noteheaderconcat{\thepmsentencenumber:}% +%\global\edef\noteheaderconcat{\thepmsentencenumber:}% +\global\edef\noteheaderconcat{\thepmsentencenumber} \pmnoteheader=\expandafter{\noteheaderconcat}% \fi% } @@ -4985,23 +5349,27 @@ r@#2\endcsname{}{}\@nil \newcommand{\pmsentencetwo}{% % increment sentence number at beginning of sentence \addtocounter{pmsentencenumber}{1}% -\ifrunningsentencenumbers % add running number +\ifrunningsentencenumbers% add running number \runningsentencenumberformat{\thepmsentencenumber}% \fi% -\ifmarginsentencenumbers % add marginal number +\ifmarginsentencenumbers% add marginal number \addtocounter{pmindexcount}{1}% \leavevmode% - \ifnum\thepmindexcount>\thepmmodulo% - \putpmsentencenumbertwo\nobreak% +\ifthenelse{\value{pmindexcount}>\value{pmmodulo}}% +{ \putpmsentencenumbertwo\nobreak% \setcounter{pmindexcount}{0}% - \fi% +}{\relax}% +% \ifnum\thepmindexcount>\thepmmodulo% +% \putpmsentencenumbertwo\nobreak% +% \setcounter{pmindexcount}{0}% +% \fi% \fi% % create header for notes if any are to occur \ifpmparas% \global\edef\noteheaderconcat{\thepmparagraph:\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \else% -\global\edef\noteheaderconcat{\thepmsentencenumber:}% +\global\edef\noteheaderconcat{\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \fi% } @@ -5014,26 +5382,30 @@ r@#2\endcsname{}{}\@nil % \begin{macro}{\pmsentencethree} % Kludge for the third sentence in a line. % \begin{macrocode} -\newcommand{\pmsentencethree}{ +\newcommand{\pmsentencethree}{% % increment sentence number at beginning of sentence \addtocounter{pmsentencenumber}{1}% -\ifrunningsentencenumbers % add running number +\ifrunningsentencenumbers% add running number \runningsentencenumberformat{\thepmsentencenumber}% \fi% -\ifmarginsentencenumbers % add marginal number +\ifmarginsentencenumbers% add marginal number \addtocounter{pmindexcount}{1}% \leavevmode% - \ifnum\thepmindexcount>\thepmmodulo% - \putpmsentencenumberthree\nobreak% +\ifthenelse{\value{pmindexcount}>\value{pmmodulo}}% +{ \putpmsentencenumberthree\nobreak% \setcounter{pmindexcount}{0}% - \fi% +}{\relax}% +% \ifnum\thepmindexcount>\thepmmodulo% +% \putpmsentencenumberthree\nobreak% +% \setcounter{pmindexcount}{0}% +% \fi% \fi% % create header for notes if any are to occur \ifpmparas% \global\edef\noteheaderconcat{\thepmparagraph:\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \else% -\global\edef\noteheaderconcat{\thepmsentencenumber:}% +\global\edef\noteheaderconcat{\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \fi% } @@ -5045,26 +5417,30 @@ r@#2\endcsname{}{}\@nil % \end{macro} % \begin{macro}{\pmsentencefour} % \begin{macrocode} -\newcommand{\pmsentencefour}{ +\newcommand{\pmsentencefour}{% % increment sentence number at beginning of sentence \addtocounter{pmsentencenumber}{1}% -\ifrunningsentencenumbers % add running number +\ifrunningsentencenumbers% add running number \runningsentencenumberformat{\thepmsentencenumber}% \fi% -\ifmarginsentencenumbers % add marginal number +\ifmarginsentencenumbers% add marginal number \addtocounter{pmindexcount}{1}% \leavevmode% - \ifnum\thepmindexcount>\thepmmodulo% - \putpmsentencenumberfour\nobreak% +\ifthenelse{\value{pmindexcount}>\value{pmmodulo}}% +{ \putpmsentencenumberfour\nobreak% \setcounter{pmindexcount}{0}% - \fi% +}{\relax}% +% \ifnum\thepmindexcount>\thepmmodulo% +% \putpmsentencenumberfour\nobreak% +% \setcounter{pmindexcount}{0}% +% \fi% \fi% % create header for notes if any are to occur \ifpmparas% \global\edef\noteheaderconcat{\thepmparagraph:\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \else% -\global\edef\noteheaderconcat{\thepmsentencenumber:}% +\global\edef\noteheaderconcat{\thepmsentencenumber}% \pmnoteheader=\expandafter{\noteheaderconcat}% \fi% } @@ -5380,7 +5756,7 @@ r@#2\endcsname{}{}\@nil % |\marginpar|, do not float. This code is modelled after code from % the memoir class, by Peter Wilson. % -% \begin{macro}{\leftsidepar} +% \begin{macro}{\pmclleftsidepar} % As in the memoir class, these sidepars do not float. % \begin{macrocode} \newdimen\pmclsavsk @@ -5399,31 +5775,51 @@ r@#2\endcsname{}{}\@nil \ignorespaces \fi \fi} -\newlength{\pmclsideparvshift} -% \setlength{\pmclsideparvshift}{-2.08ex}% seems to work for all font sizes -\setlength{\pmclsideparvshift}{-2.58ex}% -\newcommand{\leftsidepar}[1]{% -\pmclbsphack\leavevmode\vadjust{% % - \rlap{\kern-\parindent% - \kern -\marginparsep \kern -\marginparwidth % at left - \vbox to 0pt{% - \kern \pmclsideparvshift% % vertical shift to align top text lines - \begin{minipage}{\marginparwidth}% - #1% - \end{minipage}% - \vss}}}\pmclesphack% -} -\newcommand{\rightsidepar}[1]{% -\pmclbsphack\leavevmode\vadjust{% % - \rlap{\kern-\parindent% - \kern \textwidth \kern -\marginparsep % at right - \vbox to 0pt{% - \kern \pmclsideparvshift% % vertical shift to align top text lines - \begin{minipage}{\marginparwidth}% - #1% - \end{minipage}% - \vss}}}\pmclesphack% -} +% \newcommand{\pmclleftsidepar}[1]{% +% \pmclbsphack\leavevmode\vadjust{% +% \rlap{\kern-\parindent% +% \kern -\marginparsep \kern -\marginparwidth % at left +% \vbox to 0pt{% +% \kern \pmclsideparvshift% % vertical shift to align top text lines +% \begin{minipage}{\marginparwidth}% +% #1% +% \end{minipage}% +% \vss}}}\pmclesphack% +% } % version 2.44 +\newcommand{\pmclleftsidepar}[1]{% +\pmclbsphack\strut\vadjust{% changed +\rlap{\kern-\parindent% +\kern -\marginparsep \kern -\marginparwidth% at left +% \vbox to 0pt{% +% \kern \pmclsideparvshift% % vertical shift to align top text lines +% \begin{minipage}{\marginparwidth}% +\setbox0=\vtop to 0pt{% added +\begin{minipage}[t]{\marginparwidth}% added +#1% +\end{minipage}% +% \vss}}}\pmclesphack% +\vss}% changed +\vtop to 0pt{\kern\pmclsideparvshift % default should be 0pt +\kern-\dp\strutbox \kern-\ht0 \box0 \vss}}}\pmclesphack}% changed + +\newcommand{\pmclrightsidepar}[1]{% +% \pmclbsphack\leavevmode\vadjust{% +\pmclbsphack\strut\vadjust{% +\rlap{\kern-\parindent% +% \kern \textwidth \kern -\marginparsep % at right +\kern\textwidth\kern\marginparsep% at right +% \vbox to 0pt{% +% \kern \pmclsideparvshift% % vertical shift to align top text lines +% \begin{minipage}{\marginparwidth}% +\setbox0=\vtop to 0pt{% added +\begin{minipage}[t]{\marginparwidth}% added +#1% +\end{minipage}% +% \vss}}}\pmclesphack% +\vss}% changed +\vtop to 0pt{\kern\pmclsideparvshift% default should be 0pt +\kern-\dp\strutbox \kern-\ht0 \box0 \vss}}}\pmclesphack}% changed + % \end{macrocode} % \end{macro} @@ -5569,7 +5965,7 @@ r@#2\endcsname{}{}\@nil \nolinebreak % \marn{\hfil\textrm{\theverselinenumber}} % \marginpar{\hfil\textrm{\scriptsize\theverselinenumber}} - \leftsidepar{\textrm{\scriptsize\theverselinenumber}}% + \pmclleftsidepar{\textrm{\scriptsize\theverselinenumber}}% \nolinebreak \end{marginenvironment}% \nolinebreak @@ -5634,7 +6030,7 @@ r@#2\endcsname{}{}\@nil \newcommand{\synchrolabel}[1]{\poemlinelabel{#1}} \newcommand{\hfilll}{\hskip 0pt plus 1 filll} \newcommand{\synchroref}[1]{% -\rightsidepar{{\textrm{\scriptsize[\the\synchroflag\ref{#1}]}}}% +\pmclrightsidepar{{\textrm{\scriptsize[\the\synchroflag\ref{#1}]}}}% % \hfill\rlap{{\textrm{\scriptsize[\the\synchroflag\ref{#1}]}}} % \ifnum\theprintlineindex=\thelineindexrepeat % \hspace{-7pt} |