LaTeX/Polskie znaki
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
edytujPakiet 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
edytujW celu uzyskania polskich znaków w spisie zakładek należy skorzystać z opcji unicode:
\usepackage[unicode]{hyperref}