Linux-Esperanto-HOWTO: TeX / LaTeX

Next Previous Contents

## 13. TeX / LaTeX

Por produkti la supersignajn literojn en TeX, vi normale tajpas:

> `

>       \^C \^c \^G \^g \^H \^h \^J \^{\j} \^S \^s \u{U} \u{u}

> `

La \j cetere estas 'j' sen la punkto. Tamen, se vi skribas longajn tekstojn, estas iom tede skribi tiujn ordonojn. Do estas avantagxe krei dosieron esperanto.sty kun la sekva enhavo:

> `

>       \let\mathcaret=^

>       \def\esperantocaret#1{
>         \ifx#1u\u{#1}\else
>         \ifx#1U\u{#1}\else
>         \ifx#1j\^{\j}\else
>         \^{#1}\fi\fi\fi
>       }

>       \catcode`\^=\active

>       \def^{\ifmmode\let\next\mathcaret
>           \else\let\next\esperantocaret
>           \fi\next}

> `

Tio permesas skribi ^C ^c ... ^U ^u por la esperantaj literoj. Iom komplikas la aferon, ke la signo ^ estas ankaux uzata por supraj indicoj en la matematika moduso, t. e. por matematikaj formuloj. Do vi ne povas uzi tiujn mallongigojn en formuloj ekzemple. (Pro tio ankaux la konfuzigaj linioj kun "mathcaret" en la supraj difinoj)

Tamen la supra solvo povas kauxzi diversajn problemojn kun makrooj aux en matematikaj formuloj. Pro tio Albert Reiner sendis al mi pli bonan solvon, kiu uzas la grado-signon anstataux la tegmenteto:

> `

>       \gdef\espon{\catcode`\*\active\relax}%
>       \gdef\espoff{\catcode`\*12\relax}%
>       %
>       {%
>       \catcode`\@11   % por kasxi kelkajn makrojn
>       \espon          % ensxalti Esperanton por la difinoj
>       \gdef*{\relax\esper@nto}%
>       \gdef\esper@nto#1{%
>       \ifx #1C\^C%
>       \else\ifx #1c\^c%
>       \else\ifx #1G\^G%
>       \else\ifx #1g\^g%
>       \else\ifx #1H\^H%
>       \else\ifx #1h\^h%
>       \else\ifx #1J\^J%
>       \else\ifx #1j\^\j%
>       \else\ifx #1S\^S%
>       \else\ifx #1s\^s%
>       \else\ifx #1U\u U%
>       \else\ifx #1u\u u%
>       \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
>       }%
>       \espon          % ensxalti Esperanton

> `

(rim.: En la supra ekzemplo anstatauxigu la steleton * per la gradosigno . La sintakso de la SGML-dokumenttipo ne traktas gradosignon en tiu loko gxuste.)

Se vi ebligis la uzadon de Latin-3 en via sxatata redaktilo, vi povas ankaux rekte traduki la Latin-3-kodojn al la esperantaj signoj:

> `

>       \catcode`\cx=\active \defcx{\^c}
>       \catcode`\gx=\active \defgx{\^g}
>       \catcode`\hx=\active \defhx{\^h}
>       \catcode`\jx=\active \defjx{\^\j}
>       \catcode`\sx=\active \defsx{\^s}
>       \catcode`\ux=\active \defux{\u u}
>       \catcode`\Cx=\active \defCx{\^C}
>       \catcode`\Gx=\active \defGx{\^G}
>       \catcode`\Hx=\active \defHx{\^H}
>       \catcode`\Jx=\active \defJx{\^J}
>       \catcode`\Sx=\active \defSx{\^S}
>       \catcode`\Ux=\active \defUx{\u U}

> `

Noto: En la supra ekzemplo vi devas anstatauxigi la esperantajn literojn cx ... Ux en cxiu linio kaj maldekstre kaj dekstre per la gxustaj literoj laux Latin-3-kodo.

Cetere pli ampleksa dosiero esperant.sty estas enhavata en la Babel-pakajxo por LaTeX2e. Simple kontrolu per `locate esperant`, cxu gxi eble jam estas instalita cxe vi. Gxi ekzemple ankaux kreas esperantajn titolojn en la enhavtabelo kaj indeksoj.

Por uzi la pakajxon, tajpu

sub TeX:

> `

>       \input{esperant.sty}

> `

sub LaTeX:

> `

>       \usepackage[esperanto]{babel}

> `

Ioma problemo estas, ke en tiparoj aliaj ol la normala "Computer Modern" ne trovigxas la senpunkta j. Por kasxi la punkton super j ekzistas dosiero dotlessj.sty. Detalaj informoj pri gxi trovigxas cxe Edmundo.

Next Previous Contents