Minor changes
[texmacs.git] / src / TeXmacs / progs / convert / latex / latex-texmacs-drd.scm
blob3120988e6fdb29847495433a85b85a67fb1fe451
2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 ;;
4 ;; MODULE      : latex-texmacs-drd.scm
5 ;; DESCRIPTION : TeXmacs extensions to LaTeX
6 ;; COPYRIGHT   : (C) 2005  Joris van der Hoeven
7 ;;
8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
9 ;;
10 ;; This software falls under the GNU general public license version 3 or later.
11 ;; It comes WITHOUT ANY WARRANTY WHATSOEVER. For details, see the file LICENSE
12 ;; in the root directory or <http://www.gnu.org/licenses/gpl-3.0.html>.
14 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
16 (texmacs-module (convert latex latex-texmacs-drd))
18 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19 ;; Extra TeXmacs symbols
20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22 (drd-table latex-texmacs-symbol%
23   ;; arrows with limits
24   (leftarrowlim "\\mathop{\\leftarrow}\\limits")
25   (rightarrowlim "\\mathop{\\rightarrow}\\limits")
26   (leftrightarrowlim "\\mathop{\\leftrightarrow}\\limits")
27   (mapstolim "\\mathop{\\mapsto}\\limits")
28   (longleftarrowlim "\\mathop{\\longleftarrow}\\limits")
29   (longrightarrowlim "\\mathop{\\longrightarrow}\\limits")
30   (longleftrightarrowlim "\\mathop{\\longleftrightarrow}\\limits")
31   (longmapstolim "\\mathop{\\longmapsto}\\limits")
32   (equallim "\\mathop{=}\\limits")
33   (longequallim "\\mathop{\\longequal}\\limits")
34   (Leftarrowlim "\\mathop{\\leftarrow}\\limits")
35   (Rightarrowlim "\\mathop{\\rightarrow}\\limits")
36   (Leftrightarrowlim "\\mathop{\\leftrightarrow}\\limits")
37   (Longleftarrowlim "\\mathop{\\longleftarrow}\\limits")
38   (Longrightarrowlim "\\mathop{\\longrightarrow}\\limits")
39   (Longleftrightarrowlim "\\mathop{\\longleftrightarrow}\\limits")
40    
41   ;; asymptotic relations by Joris
42   (nasymp "\\not\\asymp")
43   (asympasymp "{\\asymp\\!\\!\\!\\!\\!\\!-}")
44   (nasympasymp "{\\not\\asymp\\!\\!\\!\\!\\!\\!-}")
45   (simsim "{\\approx\\!\\!\\!\\!\\!\\!-}")
46   (nsimsim "{\\not\\approx\\!\\!\\!\\!\\!\\!-}")
47   (npreccurlyeq "\\not\\preccurlyeq")
48   (precprec "\\prec\\!\\!\\!\\prec")
49   (precpreceq "\\preceq\\!\\!\\!\\preceq")
50   (precprecprec "\\prec\\!\\!\\!\\prec\\!\\!\\!\\prec")
51   (precprecpreceq "\\preceq\\!\\!\\!\\preceq\\!\\!\\!\\preceq")
52   (succsucc "\\succ\\!\\!\\!\\succ")
53   (succsucceq "\\succeq\\!\\!\\!\\succeq")
54   (succsuccsucc "\\succ\\!\\!\\!\\succ\\!\\!\\!\\succ")
55   (succsuccsucceq "\\succeq\\!\\!\\!\\succeq\\!\\!\\!\\succeq")
56   (lleq "\\leq\\negmedspace\\negmedspace\\leq")
57   (llleq "\\leq\\negmedspace\\negmedspace\\leq\\negmedspace\\negmedspace\\leq")
58   (ggeq "\\geq\\negmedspace\\negmedspace\\geq")
59   (gggeq "\\geq\\negmedspace\\negmedspace\\geq\\negmedspace\\negmedspace\\geq")
61   ;; extra literal symbols
62   (btimes "{\\mbox{\\rotatebox[origin=c]{90}{$\\ltimes$}}}")
63   (Backepsilon "{\\mbox{\\rotatebox[origin=c]{180}{E}}}")
64   (Mho "{\\mbox{\\rotatebox[origin=c]{180}{$\\Omega$}}}")
65   (mathcatalan "C")
66   (mathd "\\mathrm{d}")
67   (mathe "\\mathrm{e}")
68   (matheuler "\\gamma")
69   (mathi "\\mathrm{i}")
70   (mathpi "\\pi")
71   (Alpha "\\mathrm{A}")
72   (Beta "\\mathrm{B}")
73   (Epsilon "\\mathrm{E}")
74   (Eta "\\mathrm{H}")
75   (Iota "\\mathrm{I}")
76   (Kappa "\\mathrm{K}")
77   (Mu "\\mathrm{M}")
78   (Nu "\\mathrm{N}")
79   (Omicron "\\mathrm{O}")
80   (Chi "\\mathrm{X}")
81   (Rho "\\mathrm{P}")
82   (Tau "\\mathrm{T}")
83   (Zeta "\\mathrm{Z}")
85   ;; other extra symbols
86   (Exists "\\exists")
87   (bigintwl "\\int")
88   (bigointwl "\\oint")
89   (bignone "")
90   (asterisk "*")
91   (nonesep "")
92   (nin "\\not\\in")
93   (nni "\\not\\ni")
94   (notni "\\not\\ni")
95   (nequiv "\\not\\equiv")
96   (dotamalg "\\mathaccent95{\\amalg}")
97   (dottimes "\\mathaccent95{\\times}")
98   (dotoplus "\\mathaccent95{\\oplus}")
99   (dototimes "\\mathaccent95{\\otimes}")
100   (into "\\rightarrow")
101   (longequal "{=\\!\\!=}")
102   (longhookrightarrow "{\\lhook\\joinrel\\relbar\\joinrel\\rightarrow}")
103   (longhookleftarrow "{\\leftarrow\\joinrel\\relbar\\joinrel\\rhook}")
104   (longdownarrow "\\downarrow")
105   (longuparrow "\\uparrow")
106   (triangleup "\\triangle")
107   (precdot "{\\prec\\hspace{-0.6em}\\cdot}\\;\\,")
108   (preceqdot "{\\preccurlyeq\\hspace{-0.6em}\\cdot}\\;\\,")
109   (llangle "{\\langle\\!\\langle}")
110   (rrangle "{\\rangle\\!\\rangle}")
111   (join "\\Join")
112   (um "-")
113   (upl "+")
114   (upm "\\pm")
115   (ump "\\mp")
116   (upequal "{\\mbox{\\rotatebox[origin=c]{90}{$=$}}}")
117   (assign ":=")
118   (plusassign "+\\!\\!=")
119   (minusassign "-\\!\\!=")
120   (timesassign "\times\\!\\!=")
121   (overassign "/\\!\\!=")
122   (lflux "\\ll")
123   (gflux "\\gg")
124   (colons "\\,:\\,")
125   (transtype "\\,:\\!!>")
126   (udots "{\\mathinner{\\mskip1mu\\raise1pt\\vbox{\\kern7pt\\hbox{.}}\\mskip2mu\\raise4pt\\hbox{.}\\mskip2mu\\raise7pt\\hbox{.}\\mskip1mu}}"))
128 (drd-rules
129   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-symbol% 'x 'body))
130   ((latex-texmacs-arity% 'x 0) (latex-texmacs-symbol% 'x 'body))
131   ;;;
132   ((latex-texmacs-tag% 'x) (latex-texmacs-macro% 'x 'body))
133   ((latex-arity% 'x 'arity) (latex-texmacs-arity% 'x 'arity))
134   ((latex-symbol% 'x) (latex-texmacs-symbol% 'x 'body)))
136 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
137 ;; Extra TeXmacs macros
138 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
140 (drd-table latex-texmacs-0%
141   (tmunsc "\\_")
142   (emdash "---")
143   (tmat "\\symbol{\"40}")
144   (tmbsl "\\ensuremath{\\backslash}")
145   (tmdummy "$\\mbox{}$")
146   (TeXmacs "T\\kern-.1667em\\lower.5ex\\hbox{E}\\kern-.125emX\\kern-.1em\\lower.5ex\\hbox{\\textsc{m\\kern-.05ema\\kern-.125emc\\kern-.05ems}}")
147   (madebyTeXmacs (footnote (!recurse (withTeXmacstext))))
148   (withTeXmacstext
149    (!append (!translate "This document has been produced using") " "
150             (!recurse (TeXmacs)) " (" (!translate "see") " "
151             (texttt "http://www.texmacs.org") ")"))
152   (scheme "{\\sc Scheme}")
153   (pari "{\\sc Pari}"))
155 (drd-table latex-texmacs-1%
156   (tmtextrm (!group (rmfamily) (!group 1)))
157   (tmtextsf (!group (sffamily) (!group 1)))
158   (tmtexttt (!group (ttfamily) (!group 1)))
159   (tmtextmd (!group (mdseries) (!group 1)))
160   (tmtextbf (!group (bfseries) (!group 1)))
161   (tmtextup (!group (upshape) (!group 1)))
162   (tmtextsl (!group (slshape) (!group 1)))
163   (tmtextit (!group (itshape) (!group 1)))
164   (tmtextsc (!group (scshape) (!group 1)))
165   (tmmathbf (ensuremath (boldsymbol 1)))
166   (tmop (ensuremath (operatorname 1)))
167   (tmstrong (textbf 1))
168   (tmem (!group "\\em " 1 "\\/"))
169   (tmtt (texttt 1))
170   (tmname (textsc 1))
171   (tmsamp (textsf 1))
172   (tmabbr 1)
173   (tmdfn (textbf 1))
174   (tmkbd (texttt 1))
175   (tmvar (texttt 1))
176   (tmacronym (textsc 1))
177   (tmperson (textsc 1))
178   (tmscript (text (scriptsize (!math 1))))
179   (tmdef 1)
180   (dueto (textup (textbf (!append "(" 1 ") "))))
181   (op 1)
182   (email (!group (textit (!translate "Email:")) " " (texttt 1)))
183   (homepage (!group (textit (!translate "Web:")) " "(texttt 1)))
184   (keywords (!group (textbf (!translate "Keywords:")) " " 1))
185   (AMSclass (!group (textbf (!translate "A.M.S. subject classification:"))
186                     " " 1)))
188 (drd-table latex-texmacs-2%
189   (tmhlink (!group "\\color{blue} " 1))
190   (tmaction (!group "\\color{blue} " 1))
191   (subindex (index (!append 1 "!" 2))))
193 (drd-table latex-texmacs-3%
194   (subsubindex (index (!append 1 "!" 2 "!" 3)))
195   (tmref 1)
196   (glossaryentry (!append (item (!option (!append 1 (hfill)))) 2 (dotfill) 3)))
198 (drd-table latex-texmacs-4%
199   (subsubsubindex (index (!append 1 "!" 2 "!" 3 "!" 4))))
201 (drd-rules
202   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-0% 'x 'body))
203   ((latex-texmacs-arity% 'x 0) (latex-texmacs-0% 'x 'body))
204   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-1% 'x 'body))
205   ((latex-texmacs-arity% 'x 1) (latex-texmacs-1% 'x 'body))
206   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-2% 'x 'body))
207   ((latex-texmacs-arity% 'x 2) (latex-texmacs-2% 'x 'body))
208   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-3% 'x 'body))
209   ((latex-texmacs-arity% 'x 3) (latex-texmacs-3% 'x 'body))
210   ((latex-texmacs-macro% 'x 'body) (latex-texmacs-4% 'x 'body))
211   ((latex-texmacs-arity% 'x 4) (latex-texmacs-4% 'x 'body))
212   ;;;
213   ((latex-texmacs% 'x) (latex-texmacs-0% 'x 'body))
214   ((latex-texmacs% 'x) (latex-texmacs-1% 'x 'body))
215   ((latex-texmacs% 'x) (latex-texmacs-2% 'x 'body))
216   ((latex-texmacs% 'x) (latex-texmacs-3% 'x 'body))
217   ((latex-texmacs% 'x) (latex-texmacs-4% 'x 'body)))
219 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
220 ;; Extra TeXmacs environments
221 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
223 (drd-table latex-texmacs-environment%
224   ("proof"
225    (!append (noindent) (textbf (!append (!translate "Proof") "\\ "))
226             ---
227             (hspace* (fill)) (!math (Box)) (medskip)))
228   ("proof*"
229    (!append (noindent) (textbf (!append 1 "\\ "))
230             ---
231             (hspace* (fill)) (!math (Box)) (medskip)))
232   ("tmparmod"
233    ((!begin "list" "" (!append "\\setlength{\\topsep}{0pt}"
234                                "\\setlength{\\leftmargin}{" 1 "}"
235                                "\\setlength{\\rightmargin}{" 2 "}"
236                                "\\setlength{\\parindent}{" 3 "}"
237                                "\\setlength{\\listparindent}{\\parindent}"
238                                "\\setlength{\\itemindent}{\\parindent}"
239                                "\\setlength{\\parsep}{\\parskip}"))
240     (!append "\\item[]"
241              ---)))
242   ("tmparsep"
243    (!append (begingroup) "\\setlength{\\parskip}{" 1 "}"
244              ---
245              (endgroup)))
246   ("tmindent"
247    ((!begin "tmparmod" "1.5em" "0pt" "0pt") ---))
248   ("elsequation" ((!begin "eqnarray") (!append --- "&&")))
249   ("elsequation*" ((!begin "eqnarray*") (!append --- "&&")))
250   ("theglossary"
251    ((!begin "list" "" (!append "\\setlength{\\labelwidth}{6.5em}"
252                                "\\setlength{\\leftmargin}{7em}"
253                                "\\small")) ---)))
255 (drd-table latex-texmacs-env-arity%
256   ("proof" 0)
257   ("proof*" 1)
258   ("tmparmod" 3)
259   ("tmparsep" 1)
260   ("tmindent" 0)
261   ("proof" 0)
262   ("elsequation" 0)
263   ("elsequation*" 0)
264   ("theglossary" 1))
266 (drd-group latex-texmacs-tag%
267   begin-proof begin-proof* begin-tmparmod begin-tmparsep begin-tmindent
268   begin-elsequation begin-elsequation* begin-theglossary)
270 (drd-group latex-environment-0%
271   begin-proof begin-tmindent begin-elsequation begin-elsequation*)
273 (drd-group latex-environment-1%
274   begin-proof* begin-theglossary)
276 (drd-group latex-environment-3%
277   begin-tmparmod begin-tmparsep)
279 (define-macro (latex-texmacs-itemize env lab)
280   (with env-sym (string->symbol (string-append "begin-" env))
281     `(begin
282        (drd-table latex-texmacs-environment%
283          (,env
284           ((!begin "itemize")
285            (!append "\\renewcommand{\\labelitemi}{" ,lab "}"
286                     "\\renewcommand{\\labelitemii}{" ,lab "}"
287                     "\\renewcommand{\\labelitemiii}{" ,lab "}"
288                     "\\renewcommand{\\labelitemiv}{" ,lab "}"
289                     ---))))
290        (drd-table latex-texmacs-env-arity% (,env 0))
291        ;;;
292        (drd-group latex-texmacs-tag% ,env-sym)
293        (drd-group latex-list% ,env-sym))))
295 (define-macro (latex-texmacs-enumerate env lab)
296   (with env-sym (string->symbol (string-append "begin-" env))
297     `(begin
298        (drd-table latex-texmacs-environment%
299          (,env ((!begin "enumerate" (!option ,lab)) ---)))
300        (drd-table latex-texmacs-env-arity% (,env 0))
301        ;;;
302        (drd-group latex-texmacs-tag% ,env-sym)
303        (drd-group latex-list% ,env-sym))))
305 (define-macro (latex-texmacs-description env)
306   (with env-sym (string->symbol (string-append "begin-" env))
307     `(begin
308        (drd-table latex-texmacs-environment%
309          (,env ((!begin "description") ---)))
310        (drd-table latex-texmacs-env-arity% (,env 0))
311        ;;;
312        (drd-group latex-texmacs-tag% ,env-sym)
313        (drd-group latex-list% ,env-sym))))
315 (latex-texmacs-itemize "itemizeminus" "$-$")
316 (latex-texmacs-itemize "itemizedot" "$\\bullet$")
317 (latex-texmacs-itemize "itemizearrow" "$\\rightarrow$")
318 (latex-texmacs-enumerate "enumeratenumeric" "1.")
319 (latex-texmacs-enumerate "enumerateroman" "i.")
320 (latex-texmacs-enumerate "enumerateromancap" "I.")
321 (latex-texmacs-enumerate "enumeratealpha" "a{\\textup{)}}")
322 (latex-texmacs-enumerate "enumeratealphacap" "A.")
323 (latex-texmacs-description "descriptioncompact")
324 (latex-texmacs-description "descriptionaligned")
325 (latex-texmacs-description "descriptiondash")
326 (latex-texmacs-description "descriptionlong")
328 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
329 ;; Extra preamble definitions which are needed to export certain macros
330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
332 (drd-table latex-texmacs-preamble%
333   (mho
334    (!append
335     "\\renewcommand{\\mho}{\\mbox{\\rotatebox[origin=c]{180}{$\\omega$}}}"))
336   (color
337    (!append
338     "\\definecolor{grey}{rgb}{0.75,0.75,0.75}\n"
339     "\\definecolor{orange}{rgb}{1.0,0.5,0.5}\n"
340     "\\definecolor{brown}{rgb}{0.5,0.25,0.0}\n"
341     "\\definecolor{pink}{rgb}{1.0,0.5,0.5}\n"))
342   (tmfloat
343    (!append
344     "\\newcommand{\\tmfloatcontents}{}\n"
345     "\\newlength{\\tmfloatwidth}\n"
346     "\\newcommand{\\tmfloat}[5]{\n"
347     "  \\renewcommand{\\tmfloatcontents}{#4}\n"
348     "  \\setlength{\\tmfloatwidth}{\\widthof{\\tmfloatcontents}+1in}\n"
349     "  \\ifthenelse{\\equal{#2}{small}}\n"
350     "    {\\ifthenelse{\\lengthtest{\\tmfloatwidth > \\linewidth}}\n"
351     "      {\\setlength{\\tmfloatwidth}{\\linewidth}}{}}\n"
352     "    {\\setlength{\\tmfloatwidth}{\\linewidth}}\n"
353     "  \\begin{minipage}[#1]{\\tmfloatwidth}\n"
354     "    \\begin{center}\n"
355     "      \\tmfloatcontents\n"
356     "      \\captionof{#3}{#5}\n"
357     "    \\end{center}\n"
358     "  \\end{minipage}}\n")))
360 (define-macro (latex-texmacs-thmenv prim name before after)
361   (with env-sym (string->symbol (string-append "begin-" prim))
362     `(begin
363        (drd-table latex-texmacs-env-preamble%
364          (,prim (!append ,@before (newtheorem ,prim (!translate ,name))
365                          ,@after "\n")))
366        ;;;
367        (drd-group latex-texmacs-tag% ,env-sym)
368        (drd-group latex-environment-0% ,env-sym))))
370 (define-macro (latex-texmacs-theorem prim name)
371   `(latex-texmacs-thmenv ,prim ,name () ()))
373 (define-macro (latex-texmacs-remark prim name)
374   `(latex-texmacs-thmenv
375     ,prim ,name ("{" (!recurse (theorembodyfont "\\rmfamily"))) ("}")))
377 (define-macro (latex-texmacs-exercise prim name)
378   `(latex-texmacs-thmenv
379     ,prim ,name ("{" (!recurse (theorembodyfont "\\rmfamily\\small"))) ("}")))
381 (latex-texmacs-theorem "theorem" "Theorem")
382 (latex-texmacs-theorem "proposition" "Proposition")
383 (latex-texmacs-theorem "lemma" "Lemma")
384 (latex-texmacs-theorem "corollary" "Corollary")
385 (latex-texmacs-theorem "axiom" "Axiom")
386 (latex-texmacs-theorem "definition" "Definition")
387 (latex-texmacs-theorem "notation" "Notation")
388 (latex-texmacs-theorem "conjecture" "Conjecture")
389 (latex-texmacs-remark "remark" "Remark")
390 (latex-texmacs-remark "note" "Note")
391 (latex-texmacs-remark "example" "Example")
392 (latex-texmacs-remark "convention" "Convention")
393 (latex-texmacs-remark "warning" "Warning")
394 (latex-texmacs-exercise "exercise" "Exercise")
395 (latex-texmacs-exercise "problem" "Problem")
397 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
398 ;; Style-dependent extra macros
399 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
401 (drd-table latex-texmacs-0%
402   (appendix "" letter-style%))
404 (define-macro (latex-texmacs-section name inside . conds)
405   `(drd-table latex-texmacs-1%
406      (,name (!append (medskip) (bigskip) "\n\n" (noindent) (textbf ,inside))
407             ,@conds)))
409 (define-macro (latex-texmacs-paragraph name inside . conds)
410   `(drd-table latex-texmacs-1%
411      (,name (!append (smallskip) "\n\n" (noindent) (textbf ,inside))
412             ,@conds)))
414 (latex-texmacs-section chapter (!append "\\huge " 1) article-style%)
415 (latex-texmacs-section chapter (!append "\\huge " 1) letter-style%)
416 (latex-texmacs-section section (!append "\\LARGE " 1) letter-style%)
417 (latex-texmacs-section subsection (!append "\\Large " 1) letter-style%)
418 (latex-texmacs-section subsubsection (!append "\\large " 1) letter-style%)
419 (latex-texmacs-paragraph paragraph 1 letter-style%)
420 (latex-texmacs-paragraph subparagraph 1 letter-style%)
422 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
423 ;; Deprecated extra macros
424 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
426 (drd-table latex-texmacs-0%
427   (labeleqnum "\\addtocounter{equation}{-1}\\refstepcounter{equation}\\addtocounter{equation}{1})")
428   (eqnumber (!append "\\hfill(\\theequation" (!recurse (labeleqnum)) ")"))
429   (leqnumber (!append "(\\theequation" (!recurse (labeleqnum)) ")\\hfill"))
430   (reqnumber (!append "\\hfill(\\theequation" (!recurse (labeleqnum)) ")")))
432 (drd-table latex-texmacs-1%
433   (key (!append "\\fbox{\\rule[-2pt]{0pt}{9pt}" (texttt 1) "}"))
434   (skey (!recurse (key (!append "shift-" 1))))
435   (ckey (!recurse (key (!append "ctrl-" 1))))
436   (akey (!recurse (key (!append "alt-" 1))))
437   (mkey (!recurse (key (!append "meta-" 1))))
438   (hkey (!recurse (key (!append "hyper-" 1)))))
440 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
441 ;; Language specific preambles
442 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
444 (drd-table latex-preamble-language-def%
445   ("bulgarian"
446    "\\usepackage[cp1251]{inputenc}\n\\usepackage[bulgarian]{babel}")
447   ("czech" "\\usepackage[czech]{babel}")
448   ("danish" "\\usepackage[danish]{babel}")
449   ("dutch" "\\usepackage[dutch]{babel}")
450   ("finnish" "\\usepackage[finnish]{babel}")
451   ("french" "\\usepackage[french]{babel}")
452   ("german" "\\usepackage[german]{babel}")
453   ("hungarian" "\\usepackage[hungarian]{babel}")
454   ("italian" "\\usepackage[italian]{babel}")
455   ("polish" "\\usepackage[polish]{babel}")
456   ("portuguese" "\\usepackage[portuges]{babel}")
457   ("romanian" "\\usepackage[romanian]{babel}")
458   ("russian" "\\usepackage[cp1251]{inputenc}\n\\usepackage[russian]{babel}")
459   ("slovene" "\\usepackage[slovene]{babel}")
460   ("spanish" "\\usepackage[spanish]{babel}")
461   ("swedish" "\\usepackage[swedish]{babel}")
462   ("ukrainian"
463    "\\usepackage[cp1251]{inputenc}\n\\usepackage[ukrainian]{babel}"))
465 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
466 ;; Catcode tables
467 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
469 (drd-table iso-latin-catcodes%
470   ("à" "\\`a")
471   ("À" "\\`A")
472   ("á" "\\'a")
473   ("Á" "\\'A")
474   ("ä" "\\\"a")
475   ("Ä" "\\\"A")
476   ("â" "\\^a")
477   ("Â" "\\^A")
478   ("å" "{\\aa}")
479   ("Å" "{\\AA}")
480   ("Ã" "\\~A")
481   ("ã" "\\~a")
482   ("Æ" "{\\AE}")
483   ("æ" "{\\ae}")
484   ("ç" "\\c{c}")
485   ("Ç" "\\c{C}")
486   ("ð" "{\\dh}")
487   ("Ð" "{\\DH}")
488   ("è" "\\`e")
489   ("È" "\\`E")
490   ("é" "\\'e")
491   ("É" "\\'E")
492   ("ë" "\\\"e")
493   ("Ë" "\\\"E")
494   ("ê" "\\^e")
495   ("Ê" "\\^E")
496   ("ì" "\\`{\\i}")
497   ("Ì" "\\`I")
498   ("í" "\\'{\\i}")
499   ("Í" "\\'I")
500   ("ï" "\\\"{\\i}")
501   ("Ï" "\\\"I")
502   ("î" "\\^{\\i}")
503   ("Î" "\\^I")
504   ("Ñ" "\\~N")
505   ("ñ" "\\~n")
506   ("ò" "\\`o")
507   ("Ò" "\\`O")
508   ("ó" "\\'o")
509   ("Ó" "\\'O")
510   ("ö" "\\\"o")
511   ("Ö" "\\\"O")
512   ("ô" "\\^o")
513   ("Ô" "\\^O")
514   ("Õ" "\\~O")
515   ("õ" "\\~o")
516   ("Ø" "{\\O}")
517   ("ø" "{\\o}")
518   ("ß" "{\\ss}")
519   ("þ" "{\\th}")
520   ("Þ" "{\\TH}")
521   ("ù" "\\`u")
522   ("Ù" "\\`U")
523   ("ú" "\\'u")
524   ("Ú" "\\'U")
525   ("ü" "\\\"u")
526   ("Ü" "\\\"U")
527   ("û" "\\^u")
528   ("Û" "\\^U")
529   ("ý" "\\'y")
530   ("Ý" "\\'Y")
531   ("ÿ" "\\\"y")
532   ("¾" "\\\"Y")
533   ("¡" "!`")
534   ("" "?`")
535   ("¿" "?`"))
537 (drd-table cyrillic-catcodes%
538   ("À" "\\CYRA")
539   ("à" "\\cyra")
540   ("Á" "\\CYRB")
541   ("á" "\\cyrb")
542   ("Â" "\\CYRV")
543   ("â" "\\cyrv")
544   ("Ã" "\\CYRG")
545   ("ã" "\\cyrg")
546   ("Ä" "\\CYRD")
547   ("ä" "\\cyrd")
548   ("Å" "\\CYRE")
549   ("å" "\\cyre")
550   ("Æ" "\\CYRZH")
551   ("æ" "\\cyrzh")
552   ("Ç" "\\CYRZ")
553   ("ç" "\\cyrz")
554   ("È" "\\CYRI")
555   ("è" "\\cyri")
556   ("É" "\\CYRISHRT")
557   ("é" "\\cyrishrt")
558   ("Ê" "\\CYRK")
559   ("ê" "\\cyrk")
560   ("Ë" "\\CYRL")
561   ("ë" "\\cyrl")
562   ("Ì" "\\CYRM")
563   ("ì" "\\cyrm")
564   ("Í" "\\CYRN")
565   ("í" "\\cyrn")
566   ("Î" "\\CYRO")
567   ("î" "\\cyro")
568   ("Ï" "\\CYRP")
569   ("ï" "\\cyrp")
570   ("Ð" "\\CYRR")
571   ("ð" "\\cyrr")
572   ("Ñ" "\\CYRS")
573   ("ñ" "\\cyrs")
574   ("Ò" "\\CYRT")
575   ("ò" "\\cyrt")
576   ("Ó" "\\CYRU")
577   ("ó" "\\cyru")
578   ("Ô" "\\CYRF")
579   ("ô" "\\cyrf")
580   ("Õ" "\\CYRH")
581   ("õ" "\\cyrh")
582   ("Ö" "\\CYRC")
583   ("ö" "\\cyrc")
584   ("×" "\\CYRCH")
585   ("÷" "\\cyrch")
586   ("Ø" "\\CYRSH")
587   ("ø" "\\cyrsh")
588   ("Ù" "\\CYRSHCH")
589   ("ù" "\\cyrshch")
590   ("Ú" "\\CYRHRDSN")
591   ("ú" "\\cyrhrdsn")
592   ("Û" "\\CYRERY")
593   ("û" "\\cyrery")
594   ("Ü" "\\CYRSFTSN")
595   ("ü" "\\cyrsftsn")
596   ("Ý" "\\CYREREV")
597   ("ý" "\\cyrerev")
598   ("Þ" "\\CYRYU")
599   ("þ" "\\cyryu")
600   ("ß" "\\CYRYA")
601   ("ÿ" "\\cyrya")
602   ("œ" "\\CYRYO")
603   ("¼" "\\cyryo"))
605 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
606 ;; Page size settings
607 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
609 (drd-table latex-paper-type%
610   ("a0" "a0paper")
611   ("a1" "a1paper")
612   ("a2" "a2paper")
613   ("a3" "a3paper")
614   ("a4" "a4paper")
615   ("a5" "a5paper")
616   ("a6" "a6paper")
617   ("a7" "papersize={74mm,105mm}")
618   ("a8" "papersize={52mm,74mm")
619   ("a9" "papersize={37mm,52mm}")
620   ("b0" "b0paper")
621   ("b1" "b1paper")
622   ("b2" "b2paper")
623   ("b3" "b3paper")
624   ("b4" "b4paper")
625   ("b5" "b5paper")
626   ("b6" "b6paper")
627   ("b7" "papersize={88mm,125mm}")
628   ("b8" "papersize={62mm,88mm}")
629   ("b9" "papersize={44mm,62mm}")
630   ("legal" "legalpaper")
631   ("letter" "letterpaper")
632   ("executive" "executivepaper")
633   ("archA" "papersize={9in,12in}")
634   ("archB" "papersize={12in,18in}")
635   ("archC" "papersize={18in,24in}")
636   ("archD" "papersize={24in,36in}")
637   ("archE" "papersize={36in,48in}")
638   ("10x14" "papersize={10in,14in}")
639   ("11x17" "papersize={11in,17in}")
640   ("C5" "papersize={162mm,229mm}")
641   ("Comm10" "papersize={297pt,684pt}")
642   ("DL" "papersize={110mm,220mm}")
643   ("halfletter" "papersize={140mm,216mm}")
644   ("halfexecutive" "papersize={133mm,184mm}")
645   ("ledger" "papersize={432mm,279mm}")
646   ("Monarch" "papersize={98mm,190mm}")
647   ("csheet" "papersize={432mm,559mm}")
648   ("dsheet" "papersize={559mm,864mm}")
649   ("esheet" "papersize={864mm,1118mm}")
650   ("flsa" "papersize={216mm,330mm}")
651   ("flse" "papersize={216mm,330mm}")
652   ("folio" "papersize={216mm,330mm}")
653   ("lecture note" "papersize={15.5cm,23.5cm}")
654   ("note" "papersize={216mm,279mm}")
655   ("quarto" "papersize={215mm,275mm}")
656   ("statement" "papersize={140mm,216mm}")
657   ("tabloid" "papersize={279mm,432mm}"))