diff options
author | Karl Berry <karl@freefriends.org> | 2015-01-15 23:25:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-01-15 23:25:07 +0000 |
commit | 2e4ec44d506fe03e0c25ffe9908cb782cb1ea99a (patch) | |
tree | ff1c9daa5d13187e9e5eb33cc78562a9afa9bb34 /Master/texmf-dist/source/latex/teubner/teubner.dtx | |
parent | a6e6dc278da0fc19c8ea0a4202b4369091dbf521 (diff) |
teubner (15jan15)
git-svn-id: svn://tug.org/texlive/trunk@36066 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/teubner/teubner.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/teubner/teubner.dtx | 292 |
1 files changed, 158 insertions, 134 deletions
diff --git a/Master/texmf-dist/source/latex/teubner/teubner.dtx b/Master/texmf-dist/source/latex/teubner/teubner.dtx index f04104fd0cf..7e25f37e3f3 100644 --- a/Master/texmf-dist/source/latex/teubner/teubner.dtx +++ b/Master/texmf-dist/source/latex/teubner/teubner.dtx @@ -69,7 +69,7 @@ charge for copying, etc. %<package>\ProvidesPackage{teubner}[% %<tbtx>\ProvidesPackage{teubnertx}[% %<*driver,package,tbtx> -2014/10/02 v.4.3 +2015/01/14 v.4.5 %<package>Extensions for Greek philology] %<tbtx>Access to the LGR encoded Greek fonts that match the TX fonts] %</driver,package,tbtx> @@ -106,7 +106,7 @@ charge for copying, etc. %</driver> % \fi % -% \CheckSum{4326} +% \CheckSum{4330} % \begin{multicols}{2}\tableofcontents\end{multicols} % % @@ -131,8 +131,8 @@ charge for copying, etc. % installation is sought. % % This version 4.0 tries to adapt to the new handling of the Greek language -% by \babel, since it now this language script is based on the -% LICR (\LaTeX\ Internal Character Representation), and source files, now can +% by \babel, since now this language script is based on the +% LICR (\LaTeX\ Internal Character Representation), and source files now can % include Greek glyphs, besides the usual transliteration with Latin letters. % \end{abstract} % @@ -176,24 +176,26 @@ charge for copying, etc. % are documented and suitably shown. % % This package contains new environments and new commands; it presumes -% the user invokes it after declaring the |greek| option to the \babel\ +% the user invokes it after declaring the |greek| option to the \babel\ % package; should he forget, this package will complain. But once the % |greek| option is properly declared, this package verifies that the % |polutonikogreek| dialect (deprecated) is selected, or that the -% |polutoniko| attribute is set. This choice depends on the particular -% version of the \babel\ package, but should not concern the user; switching -% back and forth between classical Greek and some modern western language -% is performed in a transparent way; possibly there might be some problem -% switching from classical to modern spelling in Greek itself, but since in -% modern spelling the multiplicity of Greek diacritical marks is not forbidden, -% it's the author choice to select classical or modern words, Lipsian or -% Didot fonts, polytonic or monotonic accentuation. The worst it can happen -% is that \babel\ might use just one hyphenation pattern set, so that in -% one of the two Greek versions some words might turn out with the wrong -% hyphens. +% |polutoniko| attribute or modifier is set; if no attribute is set this package +% will set |polutoniko| or |ancient| depending on the presence of an +% updated Greek support to the \babel\ package. This choice depends on +% the particular version of the \babel\ package, but should not concern +% the user; switching back and forth between classical Greek and some +% modern western language is performed in a transparent way; possibly +% there might be some problem switching from classical to modern spelling +% in Greek itself, but since in modern spelling the multiplicity of Greek +% diacritical marks is not forbidden, it's the author choice to select +% classical or modern words, Lipsian or Didot fonts, polytonic or monotonic +% accentuation. The worst it can happen is that \babel\ uses just one +% hyphenation pattern set, so that in one of the three Greek versions some +% words might turn out with the wrong hyphens points. % % The CB Greek fonts, which have been available for some years now on -% \acro{ctan} in the directory \texttt{/tex-archive/fonts/greek/cb} have +% \acro{ctan} in the directory \texttt{/fonts/greek/cb} have % been completed with the new files for the Lipsian fonts, and the metric % symbols font \texttt{gmtr????.*}; the latter does not need a formal font % definition file, because the necessary definitions are included in this package. @@ -220,12 +222,13 @@ charge for copying, etc. % a virtual keyboard (called keyboard viewer) that is operable with the mouse % and, just by selecting the \emph{Greek Polytonic} keyboard driver, the % author can enter Greek text directly in the source file. Computer with a -% touch screen virtual keyboard allow to switch from on's the national to +% touch screen virtual keyboard allow to switch from the national to % the Greek keyboard just by a single sweep of the finger. Some platforms % have the possibility of switching keyboard but they don't show the new % keyboard layout on the screen, but the user can generally build a personal -% table that describes the correspondence betwwen the key board and the -% physical keyboard layout. +% table that describes the correspondence between the key board and the +% physical keyboard layout. Windows operating system Win8 has available +% a virtual keyboard similar to the Mac's. % % Nevertheless there is a little point to observe; Lipsian fonts are very % nice but show some kerning errors with more evidence than the traditional @@ -237,7 +240,10 @@ charge for copying, etc. % ligature programs that are implied by the prefix notation; reading a Greek text % on the screen while editing the input \texttt{.tex} file when a Latin % keyboard and such macros are used may be very strange, but authors get -% used to it, and agree that the effort is worth the result. +% used to it, and agree that the effort is worth the result. The direct input +% of Greek glyphs, evidently is the real solution, even if it may be difficult +% to enter Greek glyphs without a suitable virtual keyboard or a suitable +% keyboard map. % % \section{Environments} % I apologise if I chose Italian names for verse environments; I wanted to @@ -250,8 +256,8 @@ charge for copying, etc. % \DescribeEnv{versi} %\DescribeMacro{\verso} % The environment \texttt{versi} (|versus|) is used to typeset verses -% in line, without an implicit end of line at the end of each verse; a vertical bar -% with a number on top of it marks the verse limit while allowing a numeric +% in line, without an implicit end of line at the end of each verse; a vertical +% bar with a number on top of it marks the verse limit while allowing a numeric % reference to a specific verse; the opening environment statement requires % a string, a short text, in order to indent the verse lines the amount of % this string width; the syntax is the following @@ -314,12 +320,12 @@ charge for copying, etc. % after the language or font change. This means, among the other things, that % if the default ``alphabet'' is the one that shows the metric symbols, % the above environments may be used to display ``metric verses'', that is the -% pattern of long, short or ancipital symbols, together with any other metric symbol -% so as to display the metrics without disturbing the written text; when doing -% this metric typesetting, it may happen that some verse patterns exhibit some -% variants; in this case the \texttt{bracedmetrics} environment comes handy, because -% it can display such variants in separate lines but grouped with a large right -% brace; some commands allow to roughly align these variants, so as to +% pattern of long, short or ancipital symbols, together with any other metric +% symbol so as to display the metrics without disturbing the written text; when +% doing this metric typesetting, it may happen that some verse patterns exhibit +% some variants; in this case the \texttt{bracedmetrics} environment comes handy, +% because it can display such variants in separate lines but grouped with a large +% right brace; some commands allow to roughly align these variants, so as to % allow to nest several such environments as if they were single blocks of metric % symbols. The argument of the opening statement specifies the width of the % block so as to align properly all the symbols even in nested environments. @@ -330,8 +336,8 @@ charge for copying, etc. % \dots{} % \bslash end\lbr bracedmetrics\rbr % \end{sintassi} -% \DescribeMacro{\verseskip}\DescribeMacro{\Hfill} Within the \meta{metric pattern} -% it is possible to flush right the symbols +% \DescribeMacro{\verseskip}\DescribeMacro{\Hfill} Within the \meta{metric +% pattern} it is possible to flush right the symbols % by prefixing the whole string with a |\Hfill| command; the \meta{length} may % be specified as an integer multiple of a ``long'' symbol by means of %\begin{sintassi} @@ -343,10 +349,10 @@ charge for copying, etc. % \section{Commands and symbols} % This package defines a lot of commands for inserting special signs in the middle % of regular text, for marking zeugmas and synizeses, for putting unusual accents -% on any symbol, for inserting special ``parentheses'' that are used by philologists -% for marking blocks of letters or blocks of text. I suggest that the user consults -% the documentation file \texttt{teubner-doc.pdf} for a complete list of commands -% and symbols. +% on any symbol, for inserting special ``parentheses'' that are used by +% philologists for marking blocks of letters or blocks of text. I suggest that the +% user reads the documentation file \texttt{teubner-doc.pdf} for a complete +% list of commands and symbols. % % \DescribeMacro{\newmetrics} Here it might be useful to describe a command % for defining metric sequences, so as to shorten the definition of metric verses; @@ -354,25 +360,25 @@ charge for copying, etc. % commands whose name \emph{may start with one digit}: precisely this digit may be % one of~2, 3,~4. Even if \LaTeX\ does not allow macros to contain both digits % and letters, other service macros have been defined so as to handle these -% special control sequences even if they start with \emph{one} digit strictly lower -% than~5. The syntax is: +% special control sequences even if they start with \emph{one} digit strictly +% lower than~5. The syntax is: % \begin{sintassi} % \bslash newmetrics\lbr\meta{control sequence}\rbr\lbr\meta{definition}\rbr % \end{sintassi} -% where \meta{definition} consists in general of a sequence of metric commands such -% as |\longa|, |\brevis|, |\anceps|, etc. +% where \meta{definition} consists in general of a sequence of metric commands +% such as |\longa|, |\brevis|, |\anceps|, etc. % % \section{Acknowledgements} -% I must thank with gratitude Paolo Ciacchi that urged me to prepare this extension -% file in order to help him typeset his master thesis of philological type in -% classical Greek. +% I must thank with gratitude Paolo Ciacchi that urged me to prepare this +% extension file in order to help him typeset his master thesis of philological +% kind in classical Greek. % % I am pleased to thank G\"unter Milde who wrote a definition file for accessing % the LGR encoded fonts in order to fetch the accented glyphs; I kindly gave me % permission to use his macros, that I adapted to the conventions used within this % file. These macros were saved into the definition file |LGRaccent-glyph.def|, so % that it could be used also without the |teubner| package, for example for -% typesetting without setting the \emph{polytoniko} language attribute. But +% typesetting without setting the \emph{polutoniko} language attribute. But % since he became the maintainer of the Greek language support for the \babel\ % package, he extended this support to the point that the extended macros are % already part of the new Greek support files. @@ -391,21 +397,22 @@ charge for copying, etc. % % \section{Code} % \subsection{Preliminaries} -% In order to use the PostScript pfb fonts (CM, EC, and CB) it is necessary to know -% if we are dealing with \LaTeX\ or pdf\LaTeX; this was necessary because apparently -% the pfb math scalable fonts derived from the \textsf{META\-FONT} counterparts do -% not have exactly the same effective dimensions; this is why the ``zeugma'' and the -% ``synizesis'' signs have to be corrected when the pfb fonts are used; with these, -% in facts, the black leader that joins the curved extremities appeared a little too -% fat and did not join exactly the left mark. Recently, apparently, the fonts have -% been corrected and this trick is not necessary any more. Nevertheless we define -% a new boolean that copes with the fact that at least since 2007 the \TeX\ engine is -% \textsf{pdftex} even when DVI output is sought; the package \pack{iftex} creates -% three |\if|s that allow to diagnose if the typesetting engine is \textsf{pdftex} -% in PDF mode, XeTeX or Luatex; since at the moment this package \pack{teubner} is -% compatible only with \textsf{pdftex} in PDF mode, we equate the |\ifPDF| switch -% (defined in previous versions of \pack{teubner}) with the switch defined by -% package \pack{iftex}: +% In order to use the PostScript pfb fonts (CM, EC, and CB) it is necessary to +% know if we are dealing with \LaTeX\ or pdf\LaTeX; this was necessary because +% apparently the pfb math scalable fonts derived from the \textsf{META\-FONT} +% counterparts do not have exactly the same effective dimensions; this is why +% the ``zeugma'' and the ``synizesis'' signs have to be corrected when the pfb +% fonts are used; with these, in facts, the black leader that joins the curved +% extremities appeared a little too fat and did not join exactly the left mark. +% Recently, apparently, the fonts have been corrected and this trick is not +% necessary any more. Nevertheless we define a new boolean that copes with the +% fact that at least since 2007 the \TeX\ engine is \textsf{pdftex} even when DVI +% output is sought; the package \pack{iftex} creates three |\if|s that allow to +% diagnose if the typesetting engine is \textsf{pdftex} in PDF mode, +% \textsf{XeTeX} or \textsf{Luatex}; since at the moment this package +% \pack{teubner} is compatible only with \textsf{pdftex} in PDF mode, we equate +% the |\ifPDF| switch (defined in previous versions of \pack{teubner}) with the +% switch defined by package \pack{iftex}: %\iffalse %<*package> %\fi @@ -441,28 +448,28 @@ Type X <return> to exit.}% % \begin{sintassi} % \bslash \meta{base character}\meta{first diacritic}\meta{second diacritic}\meta{third diacritic} % \textrm{where} -% \meta{first diacritic} \textrm{is \texttt{d} or \texttt{r} or \texttt{s} for diaeresis, rough or smooth breadth} +% \meta{first diacritic} \textrm{is \texttt{d} or \texttt{r} or \texttt{s} for diaeresis, rough or smooth breath} % \meta{second diacritic} \textrm{is \texttt{c} or \texttt{a} or \texttt{g} for circumflex or acute or grave} % \meta{third diacritic} \textrm{is \texttt{i} for iota subscript or adscript} % \end{sintassi} % Evidently none of the diacritical marks is compulsory, but at least one must % be present; if more than one is present it must be given in that sequence. Since % |\oR| means omicron with rough breath, it is not very important that it is -% declared with the standard sequence |<o| or with |\oR| or with |\<o|, because it never -% falls after another letter, so that it never breaks any ligature or kerning -% command. The command is there just for completeness. More or less the same is -% true with the |\og| sequence; it fails to work correctly when the main language -% is French and the |french| option to the |babel| package is in force; matter -% of facts, |\og| conflicts with the homonymous command defined by that option -% to mean ``ouvrir guillemets''; therefore it's necessary to use +% declared with the standard sequence |<o| or with |\oR| or with |\<o|, because +% it never falls after another letter, so that it never breaks any ligature or +% kerning command. The command is there just for completeness. More or less the +% same is true with the |\og| sequence; it fails to work correctly when the main +% language is French and the |french| option to the |babel| package is in force; +% matter of facts, |\og| conflicts with the homonymous command defined by that +% option to mean ``ouvrir guillemets''; therefore it's necessary to use % either the plain sequence |`o| or the extended accent macro |\`o|. % % At the same time since all accent combinations are defined as ``text commands'', % in \LaTeX\ jargon, when their commands are followed by a vowel (or `r') they % define a ``text symbol'' i.e.\ they fetch directly the glyph of the accented -% character; therefore |<o|, |\oR| and |\r{o}| are all equivalent (at the beginning -% of a word where omicron with rough breath is the only place where you might find -% it). See more on this point in the following sections. +% character; therefore |<o|, |\oR| and |\r{o}| are all equivalent (at the +% beginning of a word where omicron with rough breath is the only place where you +% might find it). See more on this point in the following sections. % % These glyph name macros are not defined by default, because the |GlyphNames| % boolean variable is false by default; you can specify the option @@ -472,9 +479,9 @@ Type X <return> to exit.}% % \babel\-greek settings. % % Another unusual option is set up for being used with non standard \TeX\ system -% fonts; we have noticed that the Lipsian fonts appear a little too light when used -% together with the Times or the Palatino fonts; probably this is true also with -% other PostScript fonts. In this case the user might specify the option +% fonts; we have noticed that the Lipsian fonts appear a little too light when +% used together with the Times or the Palatino fonts; probably this is true also +% with other PostScript fonts. In this case the user might specify the option % |boldLipsian| and the Lipsian fonts used in medium series will be substituted % with those of the semi\-bold one. % @@ -502,25 +509,25 @@ Type X <return> to exit.}% % description files for the CB fonts are part of the \babel\ package, so this % problem does not exist; when using other fonts, such as the TX, PX, ZE,~\dots, % other kludges are necessary, because their font family names are different from -% those normally used with \TeX: |cmr| for serifed fonts, |cmss| for sans serif ones, -% and |cmtt| for monospaced ones.\footnote{Even the Latin Modern fonts have +% those normally used with \TeX: |cmr| for serifed fonts, |cmss| for sans serif +% ones, and |cmtt| for monospaced ones.\footnote{Even the Latin Modern fonts have % different family names, but, due to their importance, specific font description % files have been added to the \babel\ package. The LM fonts are more comfortable % than the EC ones, when scalable fonts are to be used, because they are % continuously scalable and download into the produced files less font files than -% the EC o cm-super ones. Unless specifically requested, the LM fonts should always -% be preferred to the EC and cm-super ones. When using the LM fonts, its better to -% use the full collection of the CB fonts, even if the CB font description files -% are compatible with the single 10\,pt size.} -% -% Notice that when using, for example, the TX fonts and no kludge is available, the -% CB fonts are loaded only as the ``error font'', since the TX fonts have different -% family names than the CB ones; in many cases this might pass un-noticed, but if -% real Greek text in different shapes and series has to be typeset, the unaware -% typesetter might get crazy trying to force shape and series changes in the Greek -% text; it would not be impossible, but it would be very, very boring. In any case -% see in the next sections the implemented kludges in order to run successful -% compilations also with non standard \TeX\ system fonts. +% the EC o cm-super ones. Unless specifically requested, the LM fonts should +% always be preferred to the EC and cm-super ones. When using the LM fonts, its +% better to use the full collection of the CB fonts, even if the CB font +% description files are compatible with the single 10\,pt size.} +% +% Notice that when using, for example, the TX fonts and no kludge is available, +% the CB fonts are loaded only as the ``error font'', since the TX fonts have +% different family names than the CB ones; in many cases this might pass +% un-noticed, but if real Greek text in different shapes and series has to be +% typeset, the unaware typesetter might get crazy trying to force shape and series +% changes in the Greek text; it would not be impossible, but it would be very, +% very boring. In any case see in the next sections the implemented kludges in +% order to run successful compilations also with non standard \TeX\ system fonts. % \begin{macrocode} \newif\ifor\orfalse % Compatibility with older versions \DeclareOption{or}{\relax} @@ -564,15 +571,14 @@ Type X <return> to exit.}% \RequirePackage{ifthen} % \end{macrocode} % -% \begin{macro}{\metricsfont} Similarly the metric symbol font is declared together -% with a command for selecting it: +% \begin{macro}{\metricsfont} Similarly the metric symbol font is declared +% together with a command for selecting it: % \begin{macrocode} \DeclareFontFamily{U}{mtr}{\hyphenchar\font\m@ne} -%\EC@family{U}{mtr}{m}{n}{gmtr} \ifonesizetypeone -\DeclareFontShape{U}{mtr}{m}{n}{<-> gmtr1000}{}% + \DeclareFontShape{U}{mtr}{m}{n}{<-> gmtr1000}{}% \else -\DeclareFontShape{U}{mtr}{m}{n}{% + \DeclareFontShape{U}{mtr}{m}{n}{% <-5.5> gmtr0500 <5.5-6.5> gmtr0600 <6.5-7.5> gmtr0700 <7.5-8.5> gmtr0800 <8.5-9.5> gmtr0900 <9.5-11> gmtr1000 @@ -584,9 +590,9 @@ Type X <return> to exit.}% \newcommand*\metricsfont{\fontencoding{U}\fontfamily{mtr}\upshape} % \end{macrocode} % \end{macro} -% Next we require the package for extensible math fonts; it might be strange to use -% extensible math fonts in Greek philology, but a certain glyph must be picked up -% from such fonts, with the assurance that it changes size together with the +% Next we require the package for extensible math fonts; it might be strange to +% use extensible math fonts in Greek philology, but a certain glyph must be picked +% up from such fonts, with the assurance that it changes size together with the % current font size. % \begin{macrocode} \RequirePackage{exscale} @@ -594,9 +600,10 @@ Type X <return> to exit.}% % % Some macros are necessary to switch languages; such macros must be independent % (at least for now) from the particular \babel\ version, whether it be version -% 3.6, 3.7, or~3.8; in the former the concept of ``language attribute'' is unknown, -% while the latter recognises varieties of the same language by the attribute -% setting. With \babel\ version 3.9g things have further changed; the attribute +% 3.6, 3.7, 3.8, or~3.9; in the former the concept of ``language attribute'' is +% unknown, while the latter recognises varieties of the same language by the +% attribute setting. +% With \babel\ version 3.9g things have further changed; the attribute % to a language may be appended to the language name with an interposed dot; % for example for Greek it might be |greek.polutoniko|. % Such macros, besides being as robust as possible, must provide the @@ -634,6 +641,7 @@ Type X <return> to exit.}% \fi % \end{macrocode} %\end{macro} + % % \subsection{Compatibility with Latin fonts}\label{ssec:LatinFontComp} %\begin{macro}{\previouslanguage} @@ -1207,7 +1215,7 @@ Type X <return> to exit.}% % letter |k| produce the superposition of a circumflex on top of a ``kappa'' glyph, % since this glyph does not exist in the Greek font table. %^^A -%^^A NON SEMBRA CHE FUNZIONI CON TUTTI I COMANDI;CHIEDERE A GÜNTER +%^^A NON SEMBRA CHE FUNZIONI CON TUTTI I COMANDI; CHIEDERE A GÜNTER %^^A % Notice that all these declarations are restricted to the Greek font encoding % so they are usable only when such encoding is in force. See the @@ -1222,14 +1230,24 @@ Type X <return> to exit.}% % \texttt{utf8} direct Greek glyph input is possible (if your keyboard % allows you to do such input). % +%\section{Avoiding conflicts} +% Some LICR definitions are necessary to use \pack{teubner}, but some of them +% are really important; therefore G\"unter Milde developed package +% \pack{textslpha} that comes with the other special files for the Greek LICR +% encoding, that avoids any conflict;we load it at the |\begin{document}| +% execution so that it will be loaded only if necessary: +% \begin{macrocode} +\AtBeginDocument{\RequirePackage{textalpha}} +% \end{macrocode} +% % \subsection{Special accent macros} % Now we come back to the ``accent like'' and ``cedilla like'' general macros we % defined above, and that will be extensively used in the following definitions. -% Note that for what the circumflex is concerned, when |teubner| is in effect it is -% not defined as an active character and does not work as a non breaking space. The -% command |\~| is just an accent macro; how do you put -% a non breaking space in a Greek context? By simply using the \LaTeX\ kernel macro -% |\nobreakspace|; when typesetting with non-Greek fonts the |~| is certainly handy +% Note that for what the circumflex is concerned, when |teubner| is in effect it +% is not defined as an active character and does not work as a non breaking space. +% The command |\~| is just an accent macro; how do you put a non breaking space in +% a Greek context? By simply using the \LaTeX\ kernel macro |\nobreakspace|; when +% typesetting with non-Greek fonts the |~| is certainly handy % to insert a non breaking space (a tie), but for polytonic Greek spelling in the % past 15 years or so the Greek language definition file has always used the |~| % sign a letter, not as an active character. If you look in the \babel\ package @@ -1237,11 +1255,11 @@ Type X <return> to exit.}% % |~| with polytonic spelling a number of ``dirty tricks'' have been used, but % nothing has been done to replace the ``tie'' function of this character when % typesetting in languages that use the Latin script; the only action related to -% this point has been to redefine the kernel macros for typesetting figure and table -% captions so as to substitute the |~| character with its explicit definition -% |\nobreakspace|. It is necessary to do the same when this package is used, -% although a shorter alias command |\nbs| is provided in order to simplify the input -% keying. +% this point has been to redefine the kernel macros for typesetting figure and +% table% captions so as to substitute the |~| character with its explicit +% definition |\nobreakspace|. It is necessary to do the same when this package is +% used, although a shorter alias command |\nbs| is provided in order to simplify +% the input keying. % \begin{macrocode} \let\nbs\nobreakspace % \end{macrocode} @@ -1251,13 +1269,13 @@ Type X <return> to exit.}% % with \pack{teubner} allow to stack from one to more accent over the base letter, % taking into account the slant of the font from which the base letter is taken. % Notice that these macros allow to set an accent on any base latter, even if that -% might be meaningless. At the same time we redefine the standard macros so as to let -% them do the same work when the LGR encoding is not in force. This duality is +% might be meaningless. At the same time we redefine the standard macros so as to +% let them do the same work when the LGR encoding is not in force. This duality is % necessary, not only for backward compatibility, but also for avoiding that the % normal redefined macros highjack the LICR facility. % -% We firs define aliases for the standard \LaTeX\ accents, so that when -% entering Greek typesetting modo we can save the \LaTeX\ macros, and restore +% We first define aliases for the standard \LaTeX\ accents, so that when +% entering Greek typesetting mode we can save the \LaTeX\ macros, and restore % them upon exiting: % \begin{macrocode} \let\accacuto\' @@ -1268,11 +1286,12 @@ Type X <return> to exit.}% \let\accmacron\= % \end{macrocode} % -%Then we define alternate macros fors these accents, as ``lifting'' accent macros, so that they can put their respective accent over any letter. -% For the diaeresis we need to put an invisible character (|v| in the LGR encoded CB -% fonts, that with LICR becomes |\textcompwordmark|) in order to avoid any ligature -% with an implied end of word (boundarychar) that turns the diaeresis into an -% apostrophe. +% Then we define alternate macros for these accents, as ``lifting'' accent macros, +% so that they can put their respective accent over any letter. +% For the diaeresis we need to put an invisible character (|v| in the LGR encoded +% CB fonts, that with LICR becomes |\textcompwordmark|) in order to avoid any +% ligature with an implied end of word (boundarychar) that turns the diaeresis +% into an apostrophe. % \begin{macrocode} \DeclareTextCommand{\G}{\GRencoding@name}[1]{\lift@accent{96}{#1}} \DeclareTextCommand{\A}{\GRencoding@name}[1]{\lift@accent{39}{#1}} @@ -1485,7 +1504,7 @@ Type X <return> to exit.}% % \end{macro} %\begin {macro}{\tenaspir} % Similarly |\tenaspir| marks a ``tenuis aspiratio'' -% \begin{macrocode} +% \begin{macrocode} \DeclareRobustCommand{\tenaspir}[1]{#1\/% {\fontencoding{\GRencoding@name}\selectfont<v}} % \end{macrocode} @@ -1620,24 +1639,27 @@ Type X <return> to exit.}% % % \subsection{Accent macros and glyph names} % Now come dozens of macros that allow to access Greek accented vowels (plus rho -% with rough and smooth breaths) with macros instead of ligatures; such macros allow -% the kerning information to be used by \TeX, while the ligature mechanism would -% sometimes impeach the use of such kerning information. Notice that the same glyphs -% are often accessed with a ``text symbol'' or a ``text composite symbol''; as -% explained above the opportunity of using either one derives from the necessity of -% maintaining the kerning mechanism embedded in the font; if the CB fonts had a -% postfixed accent notation, instead of a prefixed one, none of these macros would -% be necessary (probably\dots!), but there would be other inconveniences. +% with rough and smooth breaths) with macros instead of ligatures; such macros +% allow the kerning information to be used by \TeX, while the ligature mechanism +% would sometimes impeach the use of such kerning information. Notice that the +% same glyphs are often accessed with a ``text symbol'' or a ``text composite +% symbol''; as explained above the opportunity of using either one derives from +% the necessity of maintaining the kerning mechanism embedded in the font; if the +% CB fonts had a postfixed accent notation, instead of a prefixed one, none of +% these macros would be necessary (probably\dots!), but there would be other +% inconveniences. % % Notice that the following code is subject to the boolean variable |GlyphNames| % which is set to \emph{false} by default, just for compatibility with the past; % I suggest to use the \emph{GlyphNames} option when when you really want to use % such macros; remember though that all these glyphs are more easily specified by -% means of the extended accent macros that are also less restricted in their names; -% for a letter marked with a smooth breath and an acute accent you can indifferently -% type before the letter one of the following |\>\'|, |\>'|, |\'\>|, |\'>| at your -% choice. Moreover you can always postfix the mark for the iota subscribed at the -% right of the letter, without any need o memorising complicated names. +% means of the extended accent macros that are also less restricted in their +% names; for a letter marked with a smooth breath and an acute accent you can +% indifferently type before the letter one of the following |\>\'|, |\>'|, |\'\>|, +% |\'>| at your choice. Moreover you can always postfix the mark for the iota +% subscribed at the right of the letter, without any need o memorising complicated +% names. +% % Notice the macros |\oR| and |\oG| that have the second letter capitalised in % order to avoid conflicts with otherwise homonymous macros defined in the \LaTeX\ % kernel or in other packages; by maintaining the false value to the boolean @@ -2743,7 +2765,8 @@ Type X <return> to exit.}% % optional arguments, such as the optional star or the brackets enclosing vertical % spacing % \begin{macrocode} - \def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}% + \def\acapo{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}% + \let\\\acapo \def\v@rscr##1{\@ifnextchar[{\wr@teverse{##1}}% {\wr@teverse{##1}[\z@]}}% % \end{macrocode} @@ -2889,7 +2912,8 @@ Type X <return> to exit.}% % macro |\v@rscr| that does the actual job; actually it passes control to a third % macro |\writ@verse| that effectively outputs the current verse. % \begin{macrocode} - \def\\{\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}% + \def\\% + {\@ifstar{\v@rscr{\@M}}{\v@rscr{\z@}}}% \def\v@rscr##1{\@ifnextchar[{\writ@verse{##1}}% {\writ@verse{##1}[\z@]}}% \def\writ@verse##1[##2]{\egroup |