[Jacek Śliwerski]
(rzyjontko)Autor
Chłopak z Bałut (Dołów), po uniwerku i stypendium. Wiecznie zestresowane, przemądrzałe bezguście. Więcej na stronie domowej.
LaTeX a sprawa polska
LaTeX cieszy się całkiem sporą popularnością wśród osób trafiających tu przy pomocy googli. Zdaje się też, że część osób ma problemy z tworzeniem dokumentów w języku polskim.
Symbole diakrytyczne
Pierwszym problemem z jakim trzeba sobie poradzić składając tekst po polsku są oczywiście nasze ogonki, kreski, kropki i inne takie. Aby latex poprawnie odczytał nasze znaki diakrytyczne trzeba go poinformować jak został nasz dokument zakodowany.
\usepackage[utf8]{inputenc}
Jeśli ktoś używa jeszcze iso-8859-2, to powinien wpisać latin2 zamiast utf8 w powyższym przykładzie. Od biedy można również korzystać z triku polegającego na dodawaniu ogonków i akcentów do liter, np w ten sposób:
\'{S}liwerski, \L\'{o}d\'{z}, Wroc\l{}aw, Saarbr\"{u}cken
ale na dłuższą metę tak się po prostu nie da. Osobiście korzystam z tej metody do wprowadzania umlautów, bo jestem zbyt leniwy, żeby zainstalować sobie drugi układ klawiatury.
Często zdarza się jednak, że LaTeX rozumie polskie krzaczki, ale w wygenerowanym dokumencie się one nie pojawiają, bądź pojawiają się zniekształcone, albo niewygładzone. Moją receptą jest umieszczenie poniższego "zaklęcia".
\usepackage[OT4]{fontenc}
Polska typografia
Istnieje co najmniej kilka polskich zasad typograficznych, które nie pokrywają się z amerykańskimi. Z prawie wszystkimi radzę sobie przy pomocy pakietu polski.
\usepackage{polski}
Pakiet ten jest o tyle sympatyczny, że zastępuje wszystkie angielskie słowa (np. abstract, bibliography, nazwy miesięcy, itp) polskimi odpowiednikami. Poza tym włącza \frenchspacing czyli pojedyncze odstępy rozdzielające zdania, symbol "mniejsze-równe" z pochyłą kreską i tego typu drobiazgi, które mnie osobiście sprawiają mnóstwo frajdy. Jedno, z czym ten pakiet sobie nie radzi, to wstawianie kropek po numerach sekcji. To osiąga się w poniższy sposób:
\makeatletter
\def\@seccntformat#1{\csname the#1\endcsname.\hspace{.5em}}
\def\l@section{\@dottedtocline{1}{0em}{1.2em}}
\renewcommand\@pnumwidth{1em}
\makeatother
Jeśli natomiast ktoś korzysta z Emacsa, to mogę jeszcze polecić kilka innych usprawnień, jak np. automatyczne zamienianie spacji na tyldy po spójnikach, a użytkownikom Linuksa z zainstalowanym dnotify automatyczne generowanie dokumentu wynikowego.
18 stycznia 2007, 20:30:10
Komentarze
q, 19 stycznia 2007, 08:37:22http://sjp.pwn.pl/haslo.php?id=2452855
http://pl.wikipedia.org/wiki/Znaki_diakrytyczne
Nauczże się wreszcie!
miszak, 03 marca 2007, 11:12:05Rzeczy typu wstawianie kropek po numerach sekcji (plus kilka innych rzeczy) załatwiają polskie klasy dokumentów stworzone przez Marcina Wolińskiego, info: http://www.ctan.org/tex-archive/macros/latex/contrib/mwcls/mwclsdoc.pdf
Ponieważ na codzień składam teksty w j. niemieckim, nie mam za dużo doświadczeń z polskimi pakietami. Warto na pewno wspomnieć jeszcze o polskim dzieleniu wyrazów, żeby Twój artykuł był pełen – pewnie załatwia to pakiet „polski”, a jeśli praca jest wielojęzyczna (np. zawiera również angielski abstrakt), przydaje się pakiet babel z odpowiednimi opcjami i polecenie \selectlanguage{}.
Przeczytałam też właśnie, że jeśli się używa pakietu „polski”, nie jest konieczna deklaracja kodowania fontów, ponieważ fonty PL są ładowane automatycznie. Przy korzystaniu z fontów EC trzeba zadeklarować T1.
A najszczegółowiej można przeczytać o różnicach miedzy pakietem polski a babelem w prezentacji przygotowanej przez wspomnianego przez miszaka Marcina Wolińskiego.
Polskie reguły łamania wyrazów są już od jakiegoś czasu automatycznie włączane… przynajmniej w najnowszych wydaniach pakietu TeTeX w Debianie.
Ale jeśli komuś nie działa, to powinien uruchomić program texconfig, wybrać z menu „hyphenation”, przejść do polecenia, którym się uruchamia TeXa (np. pdflatex), znaleźć wiersz zawierający tekst „polish” i go ewentualnie odkomentować. Ale, jak już wspomniałem, od jakieś czasu jest to już w standardzie, więc nowo zainstalowany TeX powinien poprawnie łamać polskie wyrazy.
Tak, ale musisz mu powiedzieć, że tekst jest po polsku! :)
(co dzieje się właśnie przez włączenie pakietu polski, polish lub babel)
Jedna sprawa to jest, czy reguły są w ogóle zainstalowane w systemie a druga wywołanie ich.
W MikTeX-u jest do tego jakieś wygodne narzędzie z tego, co wiem. W TeX Live chyba się ustawia przy instalacji, reszty dystrybucji nie znam za dobrze.