LaTeX a UTF-8

ISO-8859-2 powoli ale zdecydowanie odchodzi do lamusa. Pisząc w UTF-8 niemal wszystko, postanowiłem użyć go także do źródeł LaTeXowych.

XeTeX i XeLaTeX

Najwygodniejszą opcją jest XeTeX (a raczej XeLaTeX). XeTeX jest odgałęzieniem TeXa mającym na celu pełną obsługę Unicode oraz nowoczesnych fontów. Pierwotnie rozwijany na Mac OS X obecnie jest częścią TeX Live (w związku z tym, jest także dostępny jako element dystrybucji TeXa na Debiana i Ubuntu, daje dostęp do tych samych pakietów, konfiguruje się tymi samymi poleceniami itd).

Wykorzystanie xelatex-a sprowadza się do:

  • pisania w utf-8,
  • kompilowania dokumentów poleceniem xelatex,
  • używania odpowiednich czcionek (zalecane OpenType),
  • pogodzenia się z faktem, że wynikiem kompilacji są pliki .pdf (albo będące rozszerzeniem .dvi pliki .dvx)

Wskazane jest ładowanie pakietów xltxtra (trochę redefininicji wnętrzności LaTeXowych) oraz xunicode (mapowanie znaków typu \% czy \texbullet na poprawne glify, makra nazywające wiele znaków Unicode).

Prościutki przykład

Prosty przykład dokumentu:

% -*- coding: utf-8 -*-
\documentclass[a4paper]{report}
\usepackage{polski}
\usepackage{xltxtra}

\begin{document}
\tableofcontents

\chapter{Dzień dobry}

\section{To jest rozdział pierwszy}

Zażółć gęślą jaźń.

\[
F(x) = 17 * x^2 + x^{e^x - 1}
\]

\end{document}

Kompilacja:

$ xelatex sample.tex
...
Output written to sample.pdf (1 page).

Tak złożony PDF wykorzystuje czcionki Latin Modern.

Fonty

Czcionki wybieramy zgodnie z konwencją pakietu fontspec. Zalecane są czcionki OpenType (tj. normalne, używane także przez zwykłe aplikacje).

Instrukcje wybierające kilka popularnych fontów jako domyślny font dokumentu:

\usepackage{fontspec}

\setmainfont[Mapping=tex-text]{Verdana}

\setmainfont[Mapping=tex-text]{Georgia}

\setmainfont[Mapping=tex-text]{Gentium}

\setmainfont[Mapping=tex-text]{TeX Gyre Pagella}

Czcionki TeX Gyre pobieramy z tej strony. Dla XeLaTeXa wystarczą same czcionki OpenType (do zainstalowania zwykłymi systemowymi metodami, czyli np. przez wrzucenie plików .otf do ~/.fonts czy też przeciągnięcie do instalatora fontów).

Wybór fontów pomocniczych:

\setsansfont{Arial}
\setmonofont[Scale=0.8]{TeX Gyre Cursor}

\newfontfamily\mojfont{DejaVu Sans}

I potem na przykład:

(\mojfont To będzie zapisane DejaVu}

{\sffamily To Arialem}

\begin{verbatim}
A to fontem Cursor
\end{verbatim}

Bardzo szczegółowe omówienie różnych dostępnych zapisów i technik zawiera fontspec.pdf (instalowany w ramach TeXLive, np. /usr/share/doc/texlive-xetex/xelatex/fontspec/fontspec.pdf).

Mieszanie języków

Główna zaleta UTF-8 - bezproblemowe mieszanie języków.

% -*- coding: utf-8 -*-
\documentclass[a4paper]{report}
\usepackage{polski}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}

\setmainfont[Mapping=tex-text]{Georgia}

\begin{document}

\tableofcontents

\chapter{Dzień dobry}

\section{To jest rozdział pierwszy}

Zażółć gęślą jaźń.

\[
F(x) = 17 * x^2 + x^{e^x - 1}
\]

\subsection{Ελληνικά}
Το εδώ βασανίζουν χρειάζονται. Μια ώς τέτοιο ανεπιθύμητη.
Ώς τέτοιο διορθώσει ώρα, σας βιαστικά συνεντεύξεις μεταγλωτίσει
κι, μη την πάρα επενδυτής. Μου οι πάντα ελέγχου, ναι τελευταία
εκφράσουν ας. Σε θέμα αλφα διαχειριστής από, αν εντολές
τελευταία ροή.

\subsection{Русский}
Нас обеда быстрее проверить он, ещё за всех царь. Именно действий
сохранение но вот. Вы зону большого над, языке английском лет их.
Работе почему доверять ты тем. Хочу осуществлять нее от. Весьма
письмо примерно бог ну, зону джоель ажиотажа до не, давать
английски лет об.

\end{document}

Hyperref

Miałem problemy przy niektórych formach zapisu parametrów PDF. Taka forma działa poprawnie:

\usepackage{hyperref}
\hypersetup{
   pdfpagemode=UseOutlines, # albo FullScreen, UseThumbs, ...
   colorlinks=true,
   pdfkeywords = {wspaniały, dokument},
   pdfauthor = {January Durdała},
   pdftitle = {To jest tytuł},
   pdfsubject = {A to jest temat},
   pdfcreator = {Żuczek Kruczek}
}
komentarze obsługiwane przez Disqus