Skip to: Site menu | Main content

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

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:22

http://sjp.pwn.pl/haslo.php?id=2452855
http://pl.wikipedia.org/wiki/Znaki_diakrytyczne

Nauczże się wreszcie!

miszak, 03 marca 2007, 11:12:05

Rzeczy 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

Typoagrafka, 12 kwietnia 2007, 16:50:31

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.

rzyjontko, 12 kwietnia 2007, 17:30:19

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.

Typoagrafka, 12 kwietnia 2007, 17:36:11

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.

Treść komentarza można formatować zgodnie ze składnią Textile.
Odpowiedzi śledzić można przy pomocy RSS RSS .