-
Notifications
You must be signed in to change notification settings - Fork 28
/
migrate-mac.dtx
352 lines (349 loc) · 16.9 KB
/
migrate-mac.dtx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
% \subsection{Migrating from \edmac to \ledmac} \label{sec:lastuser}
%
% If you have never used \edmac, ignore this section. If you have used
% \edmac{} and are starting on a completely new document, ignore this section.
% Only read this section if you are converting an original \edmac{}
% document to use \ledmac.
%
% The package still provides the original \cs{text} command, but it is
% (a) deprecated, and
% (b) its name has been changed\footnote{A name like \cs{text} is likely to be defined by
% other \LaTeX\ packages (it certainly is by the AMS packages) and it
% seems sensible to try and avoid clashes with other definitions.}
% to \cs{critext};
% use the \cs{edtext} macro instead. However, if you do
% use \cs{critext} (the new name for \cs{text}), the following is a reminder.
%
%
% \DescribeMacro{\critext}
% Within numbered paragraphs, footnotes and endnotes are generated
% by forms of the \cs{critext} macro:
% \begin{verse}
% \cs{critext}\marg{lemma}\meta{commands}\verb"/"
% \end{verse}
%
%
% The \meta{lemma} argument is the lemma in the main text: \cs{critext}
% both prints this as part of the text, and makes it available to the
% \meta{commands} you specify to generate notes. The \verb"/" at the
% end terminates the command; it is part of the macro's definition so
% that spaces after the macro will be treated as significant.
%
% For example:
% \egstart
% \begin{verbatim}
% I saw my friend \critext{Smith}
% \Afootnote{Jones C, D.}/
% on Tuesday.
% \end{verbatim}
% \egmid
% 1\enspace I saw my friend\\
% 2\enspace Smith on Tuesday.\smallskip
% \hrule width 1.5cm
% \strut {\bf 2} Smith] Jones C, D.
% \egend
%
% The lemma \verb"Smith" is printed as part of this sentence in
% the text, and is also made available to the footnote
% that specifies a variant, \verb"Jones C, D". The footnote macro
% is supplied with the line number at which the lemma appears
% in the main text.
%
% The \meta{lemma} may contain further \cs{critext} commands.
% Nesting makes
% it possible to print an explanatory note on a long passage together with
% notes on variants for individual words within the passage. For
% example:
% \egstart
% \begin{verbatim}
% \critext{I saw my friend
% \critext{Smith}{\Afootnote{Jones
% C, D.}/ on Tuesday.}
% \Bfootnote{The date was
% July 16, 1954.}
% /
% \end{verbatim}
% \egmid
% 1\enspace I saw my friend\\
% 2\enspace Smith on Tuesday.\smallskip
% \hrule width 1.5cm
% \strut {\bf 2} Smith] Jones C, D.\smallskip
% \hrule width 1.5cm
% \strut {\bf 1--2} I saw my friend \\
% Smith on Tuesday.] The\\ date was
% July 16, 1954.
% \egend
%
% However, \cs{critext} cannot handle overlapping but unnested
% notes---for example, one note covering lines 10--15, and another
% covering 12--18; a \cs{critext} that starts in the \meta{lemma}
% argument of another \cs{critext} must end there, too. (The
% \cs{lemma} and \cs{linenum} commands may be used to
% generate overlapping notes if necessary.)
%
% The second argument of the \cs{critext} macro, \meta{commands},
% is the same as the second argument to the \cs{edtext} macro.
%
%
% It is possible to define aliases for \cs{critext}, which
% can be easier to type. You can make a single character substitute
% for \cs{critext} by saying this:
% \begin{verbatim}
% \catcode`\<=\active
% \let<=\critext
% \end{verbatim}
%
% Then you might say \verb"<{Smith}\variant{Jones}/". This of course
% destroys the ability to use \verb"<" in any new macro definitions, so
% long as it remains in effect; hence it should be used with care.
%
% Changing the character at the end of the command requires more work:
% \begin{verbatim}
% \catcode`\<=\active
% \def\xtext#1#2>{\critext{#1}{#2}/}
% \let<=\xtext
% \end{verbatim}
% This allows you to say \verb"<{Smith}\Afootnote{Jones}>".
%
% Aliases for \cs{critext}
% of the first kind shown here also can't be nested---that is,
% you can't use the alias in the text that forms the first argument
% to \cs{critext}. (See \reff{text} to find out why.) Aliases of
% the second kind may be nested without any problem.
%
%
% If you really have to use \cs{critext} in any of the tabular or
% array environments, then \cs{edtext} must not be used in the same
% environment. If you use \cs{critext} in one of these environments
% then you have to issue the declaration \cs{usingcritext} beforehand.
% The declaration \cs{usingedtext} must be issued to revert to the
% default assumption that \cs{edtext} will be used.
% \subsection{Migration from \ledmac to \eledmac}\label{migration}
% In \eledmac, some changes were made in the code to allow for easy customization.
% This can cause problems for people who have made their own customizations. The next sections explain how to correct this.
%
%
% If you have created your own series using \cs{addfootins} and \cs{addfootinsX}, you should use instead the \cs{newseries} command (see \reff{newseries}). You must remove your \cs{Xfootnote} command.
%
% If you have customized the \cs{XXXXXXfmt} command, you should check if commands for display options (\reff{displayoptions}) and options in \cs{Xfootnote} (\reff{Xfootnoteopt}) cannot do the same thing. If not, you can add a new ticket in Github to request a new function for doing this.\footnote{\url{https://github.com/maieul/ledmac/issues}}
%
% If for some reason you do not want to make the modifications to use \eledmac new functions, you can continue using your own \cs{XXXXXfmt} command, but you must replace:
% \begin{verbatim}
% \renewcommand*{XXXXfmt}[3]
% \end{verbatim}
% with
% \begin{verbatim}
% \renewcommandx*{XXXXfmt}[4][4=Z]
% \end{verbatim}
% If you do not make that, you will see a spurious \verb+[X]+, where X is series letter.
%
% If you used a \cs{protect} command inside a \cs{footnote} command inside a numbered section, you must change the \cs{protect} to \cs{noexpand}. If you do not, the command after the \cs{protect} will not be used.
% \subsection{Migration to eledmac 1.5.1}\label{change151}
% The version 1.5.1 corrects a bug with \verb+stanzaindentsrepetition+ (cf. \reff{stanzaindentsrepetition}). This bug had two consequences:
% \begin{enumerate}
% \item \verb+stanzaindentsrepetition+ did not work when its value was greater than 2.
% \item \verb+stanzaindentsrepetition+ worked wrong when its value was equal to 2.
% \end{enumerate}
%
% So, if you used \verb+stanzaindentsrepetition+ with value equal to 2, you must change your \cs{setstanzaindents}. Explanation:
% \begin{verbatim}
% \setcounter{stanzaindentsrepetition}{2}
% \setstanzaindents{5,1,0}
% \end{verbatim}
% This code, in a version older than 1.5.1, made that the first verse had an indent of 0, the secund verse of 1, the third verse of 0, the fourth verse of 1 etc.
%
% But instead the code should have assigned the reverse: the first verse had an indent of 1, the secund verse of 0, the third verse of 1, the fourth verse of 0 etc.
%
% So version 1.5.1 corrected this bug. If you want to keep the older presentation, you must change:
% \begin{verbatim}
% \setcounter{stanzaindentsrepetition}{2}
% \setstanzaindents{5,1,0}
% \end{verbatim}
% by:
% \begin{verbatim}
% \setcounter{stanzaindentsrepetition}{2}
% \setstanzaindents{5,0,1}
% \end{verbatim}
% \subsection{Migration to eledmac 1.12.0}
% The migration to eledmac 1.12.0 is easy:
% \begin{itemize}
% \item You must delete all the auxiliary files, and so one, make the normal three runs.
% \item If you have modified \cs{l@reg}, which is not advisable, you must rename it to \cs{@nl@reg}.
% \end{itemize}
%
% Anyway, there is another problem. If you have text in brackets just after \cs{pstart} or \cs{pend}, the text will be considered an optional argument of \cs{pstart} or \cs{pend} (see \reff{pstart:optionalarg}).
% In this case, just add a \cs{relax} between \cs{pstart}/\cs{pend} and the brackets.
% The version 1.12.0 adds a new better way to manage section titles inside numbered text. Please read \reff{eledsection}.
% \subsection{Migration to eledmac 17.1}
% The version change the default behavior of \cs{Xpstart}.
% Henceforth, the pstart will be printed if footnote only for the section of text where you have called \cs{numberpstarttrue}.
% We do not see any reason to print it in other section. However, if you want to print the pstart number in all footnote, with or without \cs{numberpstarttrue}, you can use
% \cs{Xpstarteverytime}.
% \subsection{Migration to eledmac 1.21.0}
% \subsubsection{\cs{Xledsetnormalparstuff} and \cs{ledsetnormalparstuffX}}
% The \cs{ledsetnormalparstuff} has been split in two different commands:
% \begin{itemize}
% \item \cs{Xledsetnormalparstuff} for critical notes;
% \item \cs{ledsetnormalparstuffX} for familiar notes.
% \end{itemize}
% The new commands take an optional argument which is the series letter.
% If you have redefined \cs{ledsetnormalparstuff} or commands which call them, you must make the appropriate change
% \subsubsection{Endnotes}
% In any case, clean the \verb+.end+ file before the next run.
%
% \label{oldprintnpnumspace} The previous version of \Eledmac{} had a bug: there were two spaces between the start page number and the start line number, but only one space between the end page number and the end line number.
%
% Indeed, a spurious space was added after the first \cs{printnpnum}.
% This spurious space has been deleted.
% However, if you want to keep the previous spurious space, just load the package with the \verb+oldprintnpnumspace+ option.
%
% If you have redefined \cs{endprint}, you must:
% \begin{itemize}
% \item Contact us to ask for the feature that required your hack, in order to avoid such a hack in the future.
% \item Use the new fifth argument.
% \item Add \verb+\xdef\@currentseries{#4}+ at the beginning of your own command.
% \end{itemize}
% \subsection{Migration to eledmac 1.22.0}
% The \cs{ledinnote} commands takes now a first optional argument, which is the label for the hyperreference.
% If you have redefined it, change your redefinition, and check if you can
% avoid this redefinition by redefining only \cs{ledinnotemark}.
% \subsection{Migration to eledmac 1.23.0}
% People must delete the numbered auxiliary file before new run after update of \eledmac.
% \subsection{Migration from \eledmac to \reledmac}
% There are four types of change in \reledmac which implies user intervention.
%
% Some tools specific to \Lclass{memoir} has been replaced to more generic tools, in order to obtain a more manageable code.
% Some commands and options have been deleted because they are deprecated.
% Some customization by \cs{renewcommand} have been replaced by commands.
% Some commands name have been changed in order to have a more logical and uniform.
%
% \subsubsection{Multiple index with memoir}
% \Eledmac and \ledmac were using the specific indexing tools of the \Lclass{memoir} in order to allow multiple index.
% However, \eledmac used \Lpack{imakeidx} or \Lpack{indextools} tools when one these two package was loaded.
% This system forced to maintained a double code, which was not very useful.
% Since \reledmac, we use only the \Lpack{imakeidx} or \Lpack{indextools} tools.
%
% Consequently: \Lpack{memoir}'s users are invited to use \Lpack{indextool} and \Lpack{imakeidx} in order to have multiple index.
% \subsubsection{Deprecated commands and options}
% Here, you will find a tabular of deprecated commands and their alternative.
%Notes that the use of these command can have been changed.
% Please read the handbook.
%
% \begin{longtable}{p{0.45\textwidth}p{0.45\textwidth}}
% \emph{Deprecated command} & \emph{Replaced by} \\
% \hline
% \endhead
% \cs{addfootins} & \cs{newseries} \\
% \cs{addfootinsX} & \cs{newseries} \\
% \cs{critext} & \cs{edtext} \\
% \cs{falseverse} & \cs{newverse} \\
% \cs{interparanoteglue} & \cs{Xafternote} and \cs{afternoteX} \\
% \cs{ledchapter} & \cs{eledchapter} \\
% \cs{ledsection} & \cs{eledsection} \\
% \cs{ledsetnormalparstuff} & \cs{Xledsetnormalparstuff} and \cs{ledsetnormalparstuffX} \\
% \cs{ledsubsection} & \cs{eledsubsection} \\
% \cs{ledsubsubsection} & \cs{eledsubsubsection} \\
% \cs{noeledsec} & Package option \verb+noeledsec+ \\
% \cs{noendnotes} & Package option \verb+noendnotes+ \\
% \cs{pageparbreak} & \cs{ledpb} \\
% \end{longtable}
%
% The \verb+ledsecnolinenumber+ option has been deleted, because linked to deprecated commands.
%
% The \verb+oldprintnpnumspace+ option has also been deleted, because linked to an historical bug.
% The \cs{usingedtext} and \cs{usingcritext} commands are also deprecated.
%
% \subsubsection{\cs{renewcommand} replaced by command}
% Many use of \cs{renewcommand} has been replaced by use of specific commands. Please read handbook on specific command.
%
% \begin{longtable}{p{0.45\textwidth}p{0.45\textwidth}}
% \emph{Deprecated \cs{renewcommand}} & \emph{Replaced by} \\
% \endhead
% \cs{@led@extranofeet} & \cs{newseries}\\
% \cs{apprefprefixmore} & \cs{setapprefprefixmore} \\
% \cs{apprefprefixsingle} & \cs{setapprefprefixsingle} \\
% \cs{endstanzaextra} & Optional argument of \expandafter\cs\expandafter{\&}\\
% \cs{hangingsymbol} & \cs{sethangingsymbol}\\
% \cs{ledfootinsdim} & \cs{Xmaxhnotes} and \cs{maxhnotesX} \\
% \cs{parafootftmsep} & \cs{Xparafootsep} and \cs{parafootsepX} \\
% \cs{notenumfont} & \cs{Xnotenumfont}, \cs{Xendnotenumfont} and \cs{notenumfontX} \\
% \cs{notefontsetup} & \cs{Xnotefontsize}, \cs{Xendnotefontsize} and \cs{notefontsizeX} \\
% \cs{sidenotesep} & \cs{setsidenotsep} \\
% \cs{startstanzahook} & Optional argument of \cs{stanza} \\
% \cs{symplinenum} & \cs{Xsymlinenum}\\
% \end{longtable}
% \subsubsection{Commands which names have changed}
% \label{eledmac-compat}
% In order to help migration from \eledmac to \reledmac, you could load \reledmac with \verb+eledmac-compat+ option.
% However, it is better to change the command names.
% In many case, you use only few of them, except for the command like \cs{footparagraph}.
%
%
% \begin{longtable}{p{0.45\textwidth}p{0.45\textwidth}}
% \emph{Old command} & \emph{New command} \\
% \hline
% \endhead
%\cs{footparagraph} & \cs{Xarrangement} \\
% \cs{footnormal} & \cs{Xarrangement} \\
% \cs{foottwocol} & \cs{Xarrangement} \\
% \cs{footthreecol} & \cs{Xarrangement} \\
% \hline
% \cs{footparagraphX} & \cs{arrangementX} \\
% \cs{footnormalX} & \cs{arrangementX} \\
% \cs{foottwocolX} & \cs{arrangementX} \\
% \cs{footthreecolX} & \cs{arrangementX} \\
% \hline
% \cs{afterlemmaseparator} & \cs{Xafterlemmaseparator}\\
% \cs{afternote} & \cs{Xafternote} and \cs{afternoteX} \\
% \cs{afternumberinfootnote} & \cs{Xafternumber} \\
% \cs{afterXrule} & \cs{Xafterrule} \\
% \cs{afterXsymlinenum} & \cs{Xaftersymlinenum} \\
% \cs{beforelemmaseparator} & \cs{Xbeforelemmaseparator} \\
% \cs{beforenumberinfootnote} & \cs{Xbeforenumber} \\
% \cs{beforeXnotes} & \cs{Xbeforenotes} \\
% \cs{beforeXsymlinenum} & \cs{Xbeforesymlinenum} \\
% \cs{bhookXnote} & \cs{Xbhookendnote}\\
% \cs{bhookXnote} & \cs{Xbooknote} \\
% \cs{boxendlinenum} & \cs{Xboxendlinenum}\\
% \cs{boxlinenum} & \cs{Xboxlinenum} \\
% \cs{boxlinenumalign} & \cs{Xboxlinenumalign} \\
% \cs{boxstartlinenum} & \cs{Xboxstartlinenum} \\
% \cs{boxsymlinenum} & \cs{Xboxsymlinenum} \\
% \cs{boxXendlinenum} & \cs{Xendboxlinenum} \\
% \cs{boxXendlinenumalign} & \cs{Xendboxlinenumalign} \\%
% \cs{boxXendstartlinenum} & \cs{boxXendstartlinenum} \\
% \cs{letboxXendendlinenum} & \cs{Xendletboxendlinenum} \\
% \cs{hsizetwocol} & \cs{Xhsizetwocol} \\
% \cs{hsizethreecol} & \cs{Xhsizethreecol} \\
% \cs{inplaceoflemmaseparator} & \cs{Xinplaceoflemmaseparator} \\
% \cs{inplaceofnumber} & \cs{Xinplaceofnumber} \\
% \cs{lemmaseparator} & \cs{Xlemmaseparator} \\
% \cs{maxhXnotes} & \cs{Xmaxhnotes} \\
% \cs{morethantwolines} & \cs{Xmorethantwolines} \\
% \cs{nonumberinfootnote} & \cs{Xnonumber} \\
% \cs{notesXwidthliketwocolumns} & \cs{noteswidthliketwocolumnsX} \\
% \cs{noXlemmaseparator} & \cs{Xnolemmaseparator} \\
% \cs{numberonlyfirstinline} & \cs{Xnumberonlyfirstinline} \\
% \cs{numberonlyfirstintwolines} & \cs{Xnumberonlyfirstintwolines} \\
% \cs{nonbreakableafternumber} & \cs{Xnonbreakableafternumber} \\
% \cs{onlyXpstart} & \cs{Xonlypstart} \\
% \cs{parafootsep} & \cs{Xparafootsep} and \cs{parafootsepX} \\
% \cs{pstartinfootnote} & \cs{Xpstart} \\
% \cs{pstartinfootnoteeverytime} & \cs{Xpstarteverytime} \\
% \cs{symlinenum} & \cs{Xsymlinenum} \\
% \cs{twolines} & \cs{Xtwolines} \\
% \cs{twolinesbutnotmore} & \cs{Xtwolinesbutnotmore} \\
% \cs{twolinesonlyinsamepage} & \cs{Xtwolinesonlyinsamepage} \\
% \cs{txtbeforeXnotes} & \cs{Xtxtbeforenotes} \\
% \cs{XendXafterlemmaseparator} & \cs{Xendafterlemmaseparator} \\
% \cs{XendXbeforelemmaseparator} & \cs{Xendbeforelemmaseparator} \\
% \cs{XendXinplaceoflemmaseparator} & \cs{Xendinplaceoflemmaseparator} \\
% \cs{XendXlemmaseparator} & \cs{Xendlemmaseparator} \\
% \cs{XendXmorethantwolines} & \cs{Xendmorethantwolines} \\
% \cs{XendXtwolines} & \cs{Xendtwolines} \\
% \cs{Xnonumberinfootnote} & \cs{Xnonumber} \\
% \hline
% \cs{lineref} & \cs{edlineref} \\
% \end{longtable}
% \subsubsection{Endnotes}
% With \reledmac, there are now one auxiliary files by endnotes (.Aend, .Bend, .Cend etc.). If you have overriden \cs{doendnotes}, that you should not have, you should adapt it.