EDMAC macros [LW90] for placing critical text editions have been available for use with TeX for several years. Since the introduction of EDMAC, there has been a small but steady demand for a version of EDMAC that could be used with LaTeX.
Overview
Dirk-Jan Dekker maintains http://www.djdekker.net/ledmac which is a FAQ for setting up critical releases and ledmac. This manual contains a general description of how to use the LaTeX version of EDMAC, namely ledmac (in Sections 2 to 15.5); the complete source code for the package with extensive documentation (in Sections 16 to 33); a number of examples (in Appendix A); and an index to the source code.
History
EDMAC
Arabic astrolabe text,5 a Latin translation of part II of the Arabic Algebra by Ab¯u K¯amil Shuj¯a’ b. Aslam,6 the Latin Ritmachia of Werinher von Tegernsee,7 a Middle Netherlandish romance epic about the Crusades,8 a seventeenth-century Hungarian political-philosophical treatise,9 an anonymous Latin compilation from Hungary entitled Sermones Compilati in Studio Gererarisienali Quinq , Regnoec. the collected letters and papers of Leibniz,11 Theodosius' Spherics, the German Algorismus of Sacrobosco, the Sanskrit text of the K¯a´sik¯avr.tti of V¯amana and Jay¯aditya,12 and the English texts of Thomas Middleton 's collected works, as well as the editions illustrated in Appendix A.
The first instance of \beginnumbering also opens a file called hjobnamei.end to receive the text of the endnotes. The default order is the order specified by the combination of the values for the first line number, number increment, first subline number, and counter values for line number increment.
Changing the line numbers
If the lines are by pstart, the pstart number is printed before the line number in the notes. The Smith lemma is printed as part of this sentence in the text and is also made available to the footnote specifying a variant, Jones C, D. The footnote macro is supplied with the line number on which the lemma appears in the main text.
Creating a new series
Definitions of \newparaand\oldparaput numbers on the left margin and first line of the paragraph are indented. In each series of notes, use only the paragraph number for the first in the paragraph.
Known and suspected limitations
Use with other packages
An example is the \colorboxmacro from the color package, which you can use like this:. edtext{\colorbox{mycolor}{lemma}}{\Afootnote{..\colorbox..}}. The first spell allows color to appear in both the main text and footnotes, while the second shows color in the main text but kills it in the lemma and footnotes.
Parallel typesetting
If you are trying to put short pieces in parallel on the same page, try using theedtabularenvironment. It is more likely that you want to write in parallel on opposite pages (eg original on the left (even number) and a translation on the right (odd page number).
Notes for EDMAC users
The second argument to the \critext macro, hcommandsi, is the same as the second argument to \edtextmacro. If you really must use \critext in any of the tabular or group environments, then \edtext should not be used in the same environment.
Messages
But you must choose one or the other for all line numbers and line references within each section. You can place the line numbers on each page in the same margin with left or right; or you can use inner or outer to get them in the inner or outer margins.
List macros
Line-number counters and lists
The four action codes for locking line and subline numbers are added to the list with macros\do@lockonand\do@lockoff called for execution. The code value is −(5000 +n), where the value (always ≥0) assigned to the current row number.
Reading the line-list file
When this happens, we prefer to give a single error message for the entire section, rather than messages at each point where we see a problem, because we don't really know where in the section annotations were added or removed, and the solution in either case is simple run LaTeX two more times;. The flag \ifnotechanged@flag is set if such a change in the number of notes is detected at any point.
Commands within the line-list file
504 \xright@appenditem{\the\absline@num}\to\actionlines@list. lock@on adds an entry to the action code list to enable line number locking. 518 \xright@appenditem{\the\absline@num}\to\actionlines@list. lock@off adds an entry to the action code list to turn off line number locking.
Writing to the line-list file
Now store all information about the location of the lemma's start and end in \line@list. First, use the commands in the previous section to interpret the linelist file from the last run. After the first occurrence of the line number, you might want the symbol 'k' instead of further occurrences, for example.
Such numbers are not implemented in the current version, and indeed \end@lemmas or the \aftergroup trick are not currently used.
Substitute lemma
Substitute line numbers
Here are numbers and flags used internally in the course of paragraph parsing. If we break it down into lines, each line in turn goes to the \one@line register, and \par@line will be the number of that line within the paragraph. Note: everything that happens between \pstart and \pend happens within a group; definitions must be global if you want them to persist beyond the end of the paragraph.
One is a paragraph that begins with a group start character or command: \pstart will not be invoked until the start of such a group has been processed; as a result, the character that ends the group will be replaced by the end of the \vbox created by \pstart, and the rest of the paragraph will not be numbered.
Processing one line
These macros are called to the left (\ledllfill) and the right (\ledllfill) of each numbered line.
Line and page number computation
It can call itself recursively, and to do this efficiently (using TEX's tail recursion optimization), we define a control string called \do@actions@nextthat is always the last thing \do@actions does. If there could be more actions. process for this line, \do@actions@next equals \do@actions; otherwise it's just \ relaxing. 901 \global\let\do@actions@next=\relax. We subtract 5001 here instead of 5000 because the line number is automatically incremented in\getline@num.).
There is no warning if \actionlines@listempty is found, as this will always happen near the end of the section.
Line number printing
If this check fails, we disable the line number display by setting the counters to arbitrary but odd values. If we got here, we print a line number; so now we need to calculate a number that tells us which side of the page gets the line number. Since no line number needs to be added, we just print the line as is.
If that fails, we disable the line number display by setting the counters to arbitrary but unequal values.
Pstart number printing in side
Add insertions to the vertical list
Penalties
Printing leftover notes
It is the notes that present the biggest challenge to our font handling mechanism, because we need to be able to take fragments of our main text and print them in different forms: it is common to reduce the size, for example, without changing the fonts used. I deleted all common font related code and just kept the code for NFSS font handling. Parts of the footnote, such as the line number references and the lemma, are enclosed in groups with their own font macros, so a note in plain Roman can still have line numbers in bold e.g. and the lemma in the same font encoding, family, series and font as in the main text.
However, the description in the user guide doesn't seem to match the definition (the user guide says the size is \notefontsetup).
Outer-level footnote commands
Normal footnote formatting
We print the end line number if: (1) we print the end page number, or (2) it differs from the beginning line number. We print the end subline if it is non-zero and: (1) it differs from the start subline number, or (2) the end line number is printed. But the only case where this is difficult is for the end subline number: it can come after the start subline number (in which case we just want the dash) or after an end line number (in which case we need to insert a period ).
Another thing is whether to print the real starting line number or the symbolic value.
Standard footnote definitions
Instead of repeating ourselves, we define a \footnormal macro that does all these tasks for us, for any given letter of the series. We use as much as possible from the normal configuration (so the notes will have a similar layout). Some of these values deserve comment: parameter\dimensetting allows 80% of the page to be occupied by notes; the transition is deliberately flexible, as pages with many notes attached to many lines can be a bit difficult for TEX to render.
Paragraphed footnotes
Insertion of footnotes separator
Columnar footnotes
Once again, the call to \notefontsetup is there to make sure that \splittopskip—the one used in the footnotes—is correct. These macros are defined in the memo class and are part of the definition of . I have rewritten parts of the code in this section so that the LaTeX.aux file is used.
It has two arguments: the first is simply a number that specifies whether to get the page (1), line (2), or subline (3) number. This switching is done by calling \l@dlabel@parse.) The second argument is the label-macro, which is defined as a string of type123|456|789 because of the \@lab macro above.
The A series footnotes
Footnote formats
Two column footnotes
Three column footnotes
Paragraphed footnotes
Other series footnotes
This macro is supposed to take the whole body of the environment as an argument. The stanza line indents are non-negative integer multiples of the \stanzaindentbase unit. Now we have the components of the \stanza macro, which appears at the beginning of a group of lines.
The first is the length of the dashes, the second is the length of the gaps.). This is a LaTex-style reimplementation and generalization of the original \waklam, \Waklam,\waklamec, \wastricht and. 4 Try not to use regular LaTeX margin pars1 or exotica within the numbered sections of the text.
General example of features
Gascoigne
Shakespeare
Classical text edition
Nijmegen
Irish verse