Table Of Contents

Previous topic

Esperanto en LaTeX UTF-8 dosieroj

Next topic

Kiel prepari horarotabelon per GNUplot?

Esperanto en LaTeX UTF-8 dosieroj

Kreante dokumentojn en Esperanto, mi renkontis kelkajn malfacilaĵojn kun Esperantaj ĉapeletoj super kelkaj signoj.

Ĉe Virtuala Esperanto Biblioteko kaj ĉe David Simpson oni povas legi, ke eblas uzi la diakritajn literojn tajpante \^c por ĉ, \^j por ĵ, ktp.

Tamen, mi kutimas skribi ĉiujn tekstojn en utf-8 (sen kromaj cirkumfleksoj/rondaj hoketoj). Kvankam oni povas uzi latin3 (oficiala kodigo de Esperantaj signoj), sed tiam oni ne povus uzi ekz. polajn vortojn, tial mi devis trovi solvon por la problemo.

Probable ĉiu uzanto de TeX/LaTeX sistemo, uzas ankaŭ pakaĵon inputenc. Ĝi ebligas ankaŭ uzadon de utf-8 kodigo ĉe fonta dosiero - uzu ĝin enskribante:

\usepackage[utf8]{inputenc}

kaj poste oni difinu Esperantajn literojn por utf-8 kodigo:

\DeclareUnicodeCharacter{0108}{\^{C}}  % Esperanta litero Ĉ
\DeclareUnicodeCharacter{0109}{\^{c}}  % Esperanta litero ĉ
\DeclareUnicodeCharacter{011C}{\^{G}}  % Esperanta litero Ĝ
\DeclareUnicodeCharacter{011D}{\^{g}}  % Esperanta litero ĝ
\DeclareUnicodeCharacter{0124}{\^{H}}  % Esperanta litero Ĥ
\DeclareUnicodeCharacter{0125}{\^{h}}  % Esperanta litero ĥ
\DeclareUnicodeCharacter{0134}{\^{J}}  % Esperanta litero Ĵ
\DeclareUnicodeCharacter{0135}{\^{\j}}  % Esperanta litero ĵ
\DeclareUnicodeCharacter{015C}{\^{S}}  % Esperanta litero Ŝ
\DeclareUnicodeCharacter{015D}{\^{s}}  % Esperanta litero ŝ
\DeclareUnicodeCharacter{016C}{\u{U}}  % Esperanta litero Ŭ
\DeclareUnicodeCharacter{016D}{\u{u}}  % Esperanta litero ŭ

Resumante tuton, jen la ekzempla dokumento:

\documentclass[a4paper]{article}
\usepackage[OT4]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[esperanto]{babel}

% deklaro de Esperantaj signoj
% oni DEVAS antaŭe deklari uzon de pakaĵo *inputenc*
\DeclareUnicodeCharacter{0108}{\^{C}}  % Esperanta litero Ĉ
\DeclareUnicodeCharacter{0109}{\^{c}}  % Esperanta litero ĉ
\DeclareUnicodeCharacter{011C}{\^{G}}  % Esperanta litero Ĝ
\DeclareUnicodeCharacter{011D}{\^{g}}  % Esperanta litero ĝ
\DeclareUnicodeCharacter{0124}{\^{H}}  % Esperanta litero Ĥ
\DeclareUnicodeCharacter{0125}{\^{h}}  % Esperanta litero ĥ
\DeclareUnicodeCharacter{0134}{\^{J}}  % Esperanta litero Ĵ
\DeclareUnicodeCharacter{0135}{\^{\j}}  % Esperanta litero ĵ
\DeclareUnicodeCharacter{015C}{\^{S}}  % Esperanta litero Ŝ
\DeclareUnicodeCharacter{015D}{\^{s}}  % Esperanta litero ŝ
\DeclareUnicodeCharacter{016C}{\u{U}}  % Esperanta litero Ŭ
\DeclareUnicodeCharacter{016D}{\u{u}}  % Esperanta litero ŭ

\begin{document}
  % LaTeX stilo
  La ĉi suba teksto uzas Esperantajn literojn laŭ kutima LaTeXa stilo
  (simpla askio - sen kodigo):

  \begin{center}
  e^ho^san^go ^ciu^ja^ude\\
  E^HO^SAN^GO ^CIU^JA^UDE
  \end{center}

  % utf8
  La ĉi suba teksto uzas supren difinitajn Esperantajn literojn laŭ utf-8
  kodigo kun \texttt{utf8} pakaĵo:

  \begin{center}
  eĥoŝanĝo ĉiuĵaŭde\\
  EĤOŜANĜO ĈIUĴAŬDE
  \end{center}

  Rimarku la diferencon inter "ĥ"-oj en ambaŭ stiloj.
\end{document}

kiu post pritrakto far pdflatex aspektas jene kiel PDF.

Sphinx

Kreante LaTeX-ajn dokumentojn far Sphinx, oni agordu la conf.py dosieron:

latex_elements={'preamble':'''\DeclareUnicodeCharacter{0108}{\^{C}}
\DeclareUnicodeCharacter{0109}{\^{c}}
\DeclareUnicodeCharacter{011C}{\^{G}}
\DeclareUnicodeCharacter{011D}{\^{g}}
\DeclareUnicodeCharacter{0124}{\^{H}}
\DeclareUnicodeCharacter{0125}{\^{h}}
\DeclareUnicodeCharacter{0134}{\^{J}}
\DeclareUnicodeCharacter{0135}{\^{\j}}
\DeclareUnicodeCharacter{015C}{\^{S}}
\DeclareUnicodeCharacter{015D}{\^{s}}
\DeclareUnicodeCharacter{016C}{\u{U}}
\DeclareUnicodeCharacter{016D}{\u{u}}
''',
'babel':'\\usepackage[esperanto]{babel}',
'fontpkg':''}

La komencaj linioj aldonas difinon de la Esperantaj literoj al LaTeX-a antaŭparolo (preamble).

La sekva parto utiligas pakaĵon babel kun opcio esperanto.

La tria forigas uzon de pakaĵo times (ĝi estas normale aldonata far Sphinx) kiu fuŝas literon ĵ (precize - LaTeX-an \j, kiu estas litero j sen punkto super ĝi).

Pakaĵo utf8x

Ekzistas ankaŭ LaTeX-a pakaĵo utf8x kiu ebligas uzon de Esperantaj signoj sen bezono deklari la diakritaĵojn. Sufiĉas nur aldoni al la LaTeX-a dokumento:

\usepackage[utf8x]{inputenc}

Attention

La pakaĵo utf8x ne estas oficiala kaj dum longa tempo ne estis funkcitenata.

Resumante tuton, jen la ekzempla dokumento:

\documentclass[a4paper]{article}
\usepackage[OT4]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[esperanto]{babel}

\begin{document}
  % LaTeX stilo
  La ĉi suba teksto uzas Esperantajn literojn laŭ kutima LaTeXa stilo
  (simpla askio - sen kodigo):

  \begin{center}
  e^ho^san^go ^ciu^ja^ude\\
  E^HO^SAN^GO ^CIU^JA^UDE
  \end{center}

  % utf8
  La ĉi suba teksto uzas Esperantajn literojn laŭ utf-8
  kodigo kun \texttt{utf8x} pakaĵo:

  \begin{center}
  eĥoŝanĝo ĉiuĵaŭde\\
  EĤOŜANĜO ĈIUĴAŬDE
  \end{center}

  Rimarku la diferencon inter "ĥ"-oj en ambaŭ stiloj.
\end{document}

kiu post pritrakto far pdflatex aspektas jene kiel PDF.

XeLaTeX

La alia maniero, uzata i.a. per Scienca Revuo estas utiligi XeLaTeX (kiu estas estas LaTeX kun XeTeX kiel TeX-maŝino). Ĉar stilodosiero babel.sty ne funkcias kun unikodo, oni devas ĝin anstataŭi per polyglossia.sty:

\documentclass{article}

\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{polyglossia}
\setdefaultlanguage{esperanto}

\begin{document}
Tio estas dokumento, kiu demonstru ke pere de Xe\LaTeX\ eblas skribi ĉiujn
literojn necesajn por Esperanto. Eĥoŝanĝo ĉiuĵaŭde; EĤOŜANĜO ĈIUĴAŬDE.

Preskaŭ ĉiuj latinalfabetaj lingvoj disponeblas: äöüß ÄÖÜ; àéê ąęįų ė żś,
ktp. Principe ĉiuj konataj alfabetoj eblas, se la tiparo havas la glifojn.
\end{document}

kiu post pritrakto far xelatex kaj poste xdvipdfmx, aspektas jene kiel PDF.