LaTeX/Polskie znaki

Z Wikibooks, biblioteki wolnych podręczników.

Niestety w systemach operacyjnych spotykamy się z licznymi problemami dotyczącymi przypadku wyświetlania znaków narodowych - innych niż standardowe litery alfabetu łacińskiego (mamy tu na myśli szczególnie polskie ogonki). Samo dodanie pakietu polski jest niewystarczające do tego by w przy konwersji do pliku *.pdf polska czcionka była kodowana poprawnie. Pakiet ten zawiera jedynie zbiór zasad dzielenia wyrazów w języku polskim, lecz nie zawiera informacji o kodowaniu czcionek.

W dobie rodzących się osobno standardów powstało wiele podobnych, lecz różnych od siebie sposobów kodowania znaków diaktrycznych. Pomimo obowiązującego standardu "ISO-8859-2" (Latin-2) większość platform i związanych z nimi systemów operacyjnych używa swoich własnych sposobów kodowania, różniących się od siebie. Stąd też możemy napotkać nieoczekiwane błędy w postaci "krzaczków" powstających w miejscach niektórych literek. Dzieje się tak ze względu na różnice kodowe. Przykładowo:

System: DOS MacOS Windows Linux
Ogonek IBM Latin-2 MacCE Windows 1250 ISO Latin-2
Ą 164 132 165 161
ą 165 136 185 177
Ć 143 140 198 198
ć 134 141 230 230
Ę 168 162 202 202
ę 169 171 234 234
Ł 157 252 163 163
ł 136 184 179 179
Ń 227 193 209 209
ń 228 196 241 241
Ó 224 238 211 211
ó 162 151 243 243
Ś 151 229 140 166
ś 152 230 156 182
Ź 141 143 143 172
ź 171 144 159 188
Ż 189 251 175 175
ż 190 253 191 191

Kompilator LaTeX musi więc zostać poinformowany w jakim systemie kodowania napisaliśmy plik, oraz w jaki sposób będzie mógł przekonwertować jego treść. Do tego celu LaTeX używa gotowych tablic konwersji zapisanych w osobnych plikach.

Informacji do programu, na temat kodowania, możemy dostarczyć na kilka sposobów.

Wpisując na początku pliku komendę %& --translate-file=nazwa_pliku_tablicy_konwersji.tcx spowodujemy, że wpisany i zapisany przez nas w edytorze tekstowym plik, zostanie utworzony w odpowiednim systemie kodowania.

Używając pakietu inputenc jesteśmy w stanie zmienić kodowanie dokumentu, podając jego nazwę jako parametr, bez konieczności znajomości nazwy pliku zawierającego tablice konwersji.

W systemach Windows nadal popularne jest kodowanie 1250, natomiast w systemach Linux wdrożono ustandaryzowane i unormowane kodowanie ISO Latin-2. Dlatego do poprawnej konwersji dokumentów .pdf używających polskich znaków, zalecane jest użycie systemu kodowania latin2 w systemie Linux, lub cp1250 w systemach Windows.

Przykład nagłówka dokumentu UTF-8[edytuj]

\usepackage{polski}
\usepackage[utf8]{inputenc}

Przykład nagłówka dokumentu składanego w systemie Linux[edytuj]

\usepackage{polski}
\usepackage[latin2]{inputenc}

alternatywnie wykonując polecenie w pierwszym wierszu dokumentu:

 
%& --translate-file=il2-pl.tcx

Przykład nagłówka dokumentu składanego w systemie Windows[edytuj]

\usepackage{polski}
\usepackage[cp1250]{inputenc}

alternatywnie wykonując polecenie w pierwszym wierszu dokumentu:

 
%& --translate-file=cp1250pl.tcx

Przykład nagłówka dokumentu składanego w systemach rodziny Mac OS[edytuj]

\usepackage{polski}
\usepackage[macce]{inputenc}

alternatywnie wykonując polecenie w pierwszym wierszu dokumentu:

 
%& --translate-file=macce-pl.tcx

Przykład nagłówka dokumentu składanego w systemie DOS[edytuj]

\usepackage{polski}
\usepackage[cp852]{inputenc}

alternatywnie wykonując polecenie w pierwszym wierszu dokumentu:

 
%& --translate-file=cp852-pl.tcx

Pakiet babel[edytuj]

Pakiet babel umożliwia składanie tekstów wielojęzycznych, których skład podajemy w opcjach pakietu. Należy pamiętać, że język umieszczony na końcu listy, będzie językiem domyślnym dokumentu. Np. dla domyślnego języka polskiego oraz tekstu zawierającego język niemiecki i francuski w preambule powinniśmy wpisać:

 
\usepackage[french,german,polish]{babel}

Przełączenie języków domyślnych, oferuje polecenie "\selectlanguage{nazwa_języka}".

Pakiet hyperref[edytuj]

W celu uzyskania polskich znaków w spisie zakładek należy skorzystać z opcji unicode:

 
\usepackage[unicode]{hyperref}