Showing posts with label EDMAC. Show all posts
Showing posts with label EDMAC. Show all posts

Tuesday, July 06, 2010

Switching from Devanāgarī to Roman with a single command

I have to admit even I am startled by the success of this.
In the input file below, I changed the single command:
  • \setdefaultlanguage{sanskrit}

to

  • \setdefaultlanguage{english}
and the result was the following:

A minimal edition of a Sanskrit verse, using XeLaTeX and Ledmac


And here's the input for the above:


\documentclass{book}
% Set up things for XeLaTeX, and Devanagari.
% Simplified version of http://cikitsa.blogspot.com/2010/07/xelatex-for-sanskrit.html
\usepackage{polyglossia} % the multilingual support package
% Next, from the polyglossia manual:
\setdefaultlanguage{sanskrit} % this is mostly going to be Sanskrit,
\setotherlanguage{french} % with some French embedded in it,
\setotherlanguage{english} % and some English.
% These will call appropriate hyphenation.
\usepackage{xltxtra} % standard for nearly all XeLaTeX documents
\defaultfontfeatures{Mapping=tex-text} % ditto
\setmainfont{Gandhari Unicode} % could be any Unicode font
% Now define the Devanagari font:
% John Smith's Sahadeva, input using standard UTF8 transliteration
\newfontfamily\sanskritfont [Script=Devanagari,Mapping=RomDev]{Sahadeva}

% Now come the commands for the critical edition formatting:
\usepackage{ledmac}
% customizations to Ledmac, and macros to make life easier.
\def\Variant#1{\Afootnote{\relax#1}}
\def\Lemma#1{\lemma{\relax#1}}
\let\Reference=\Bfootnote
\let\Grammatical=\Cfootnote
\let\Tibetan=\Dfootnote
% in a real edition, I'd probably also make
% abbreviations for \textfrench (perhaps \tf) etc.
\def\Omission#1{$\langle$#1$\rangle$}
\def\ScribalDeletion#1{{\rm[\kern-.15em[}#1{\rm]\kern-.15em]}}
\def\hardspace{\texttt{\char`\ }}
\def\And{{\rm\penalty-1\quad$\mid\mid$~}} % divider between variants to the same lemma
% more customizations: make the A notes
% (\Variants and \Lemmas)into two-column format,
% and make the B notes (\Reference) normal footnotes.
%
% changes to stuff cut-and-pasted from ledmac.sty:
\makeatletter
\renewcommand*{\twocolfootfmt}[3]{%
\normal@pars
% \hsize .45\hsize
\hsize .49\hsize
\parindent=0pt
\tolerance=5000
\raggedright
\leavevmode\hangindent1.5em\hangafter1
\strut{\notenumfont\printlines#1|}\enspace
{\select@lemmafont#1|#2}\rbracket\enskip
#3\strut\par\allowbreak}
\foottwocol{A}
\renewcommand*{\normalfootfmt}[3]{%
\normal@pars
\parindent=0pt \parfillskip=0pt plus 1fil
\hangindent1.5em\hangafter1
{\notenumfont\printlines#1|}\strut\enspace
{\select@lemmafont#1|#2}\rbracket\enskip#3\strut\par}
\footnormal{B}
\makeatother
\firstlinenum{1}
\linenumincrement{1}


% and here begins the edition:
%
\begin{document}
\chapter*{yogaśatakam}
\large


\section*{\textenglish{The example verse by itself}}

\textenglish{From \emph{Yogaśataka: Texte m\'edical attribu\'e
\`a Nāgārjuna\ldots par Jean Filliozat} (Pondich\'ery, 1979), pp.\,1, 59:\par}

\bigskip

kṛtsnasya tantrasya gṛhītadhāmna-\\
ścikitsitādviprasṛtasya dūram|
vidagthavaidyapratipūjitasya\\
kariṣyate yogaśatasya bandhaḥ|| 1||

\bigskip

\section*{\textenglish{The example verse, with apparatus}}
% we could use the \stanza command, but I haven't bothered.

%
% I find that the judicious use of indentation
% and newlines helps enormously to see what's what.
% Using a good "folding editor" would be even better.
%

\begingroup
\beginnumbering
\autopar
\edtext{
\edtext{kṛtsnasya}{
\Variant{%
\textfrench{N1 détruit, C1 }kṛtas tasya,
\textfrench{C2 }kṛtasya.}
\Tibetan{\textfrench{T \emph{mth'yas}, ``sans limite, immense''
traduit }kṛtsnasya.}}
tantrasya
\edtext{gṛhītadhāmna-}{
\Variant{\textfrench{Ca, JK }dhamnā.}}\\
\edtext{ścikitsitā}{
\Lemma{cikitsitād} % not ``ścikitsitā'', of course. We're preserving
the sandhyakṣaras.
\Variant{\textfrench{C1, C2 } cikitsitāt.}
\Tibetan{\textfrench{T \emph{gso-spyad} ''pratique de la
thérapeutique''. Ordinairement
  \emph{gso spyad} est ``investigation del la th.''}}}% comment sign to stop a break after the conjunct
\edtext{dviprasṛtasya}{
\Lemma{viprasṛtasya} % as above with cikitsitād.
\Variant{\textfrench{Ca} cikitsitārthaprasṛtasya, \textfrench{C1, C2}
viprasutasya.}}
\edtext{dūram}{
\Variant{\textfrench{Ca} dūrāt}}|
\\ \indent
%
% the above line is annoying. Because the whole verse is
% inside an \edtext{} macro, in order to get the
% \Grammatical note naming the upajāti verse, we have to
% avoid having paragraph breaks, which are not allowed
% inside \edtext{}.
% instead, we use \\ (newline) and \indent (paragraph indent)
% to get the same visual effect. A nasty kludge.
%
vidagdhavaidyapratipūjitasya\\
\edtext{kariṣyate}{
\Variant{\textfrench{N1} karikṣete.}}
yogaśatasya bandhaḥ|| 1||
}{\Lemma{}\Grammatical{Upajāti.}}
\par % necessary to stop \autopar complaining. Thanks to Alessandro Graheli.
\endgroup
\end{document}

Monday, July 30, 2007

Critical edition typesetting

Some years ago, John Lavagnino and I wrote the EDMAC
software for typesetting critical editions. EDMAC was an application for use with plain TeX. Later, adaptations were made to allow EDMAC to work with LaTeX etc. More recently, the ConTeXt package, also based on TeX, has been developing methods for handling critical edition typesetting.

Idris Hamid, Colorado State University, recently gave this talk at the TUG 2007 conference, San Diego, about doing critical editions using ConTeXt.