Mam problem z przekonaniem LaTeXa do złożenia czegokolwiek cyrylicą -
gdzieś robię błąd ale jestem zbyt zielony, żeby złapać gdzie.
Próbuję najpierw skompilować prosty pliczek z jedną linijką cyrylicy.
preambuła:
\documentclass[12pt,a4paper]{article}
\usepackage{cmcyralt}
\usepackage[OT2,OT1]{fontenc}
Dokument wprowadzam normalnie grażdanką (tak jak ją ustawia KDE)
nie wiem czy już w niej czegoś nie poknociłem? Efektem jest pusta strona.
Na ile zrozumiałem w logu jest coś o fontach:
LaTeX Font Info: Checking defaults for OT2/cmr/m/n on input line 5.
LaTeX Font Info: Try loading font information for OT2+cmr on input line 5.
(/usr/share/texmf-texlive/tex/latex/cyrillic/ot2cmr.fd
File: ot2cmr.fd 2001/08/11 v3.2c Computer Modern Cyrillic font definitions
)
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Try loading font information for OT1+cmcyr on input line 5.
(/usr/share/texmf-texlive/tex/latex/cmcyralt/OT1cmcyr.fd)
! Font OT1/cmcyr/m/n/12=uczr12 at 12.0pt not loadable: Metric (TFM) file not fo
und.
<to be read again>
relax
Zainstalowałem razem z texlive pakiety texlive-lang-cirillic, wszelkie
pakiety z ruskimi fontami - wszystko co było w Debianowym repozytorium
i teraz nie wiem jak dalej to ruszyć.
Jak powinienem poprawnie włączyć obsługę Cyrylicy?
Czy może coś jest nie tak w mojej instalacji texlive i jak to naprawić?
System: Debian Stable, instalacja Texlive z debianowych repozytoriów
to jest bodajże Texlive 2007
Proszę o jakieś wskazówki jak to poustawiać, żebym mógł używać cyrylicy w LaTeXu
Dominik Tabisz
Wiersz \usepackage[OT2,OT1]{fontenc} jest niepotrzebny z pakietem
'cmcyralt'. Czcionki (wirtualne) i pliki metryczne TFM nie są dostępne
jako pakiet MiKTeX-u, chociaż pakiet zawierający ich definicje i plik
cmcyralt.sty -- jest częścią MiKTeX-u. Być może w TeXLive sytuacja
przedstawia się podobnie.
Potrzebne czcionki są do pobrania tutaj:
http://tug.ctan.org/tex-archive/fonts/cyrillic/cmcyralt/
> Dokument wprowadzam normalnie grażdanką (tak jak ją ustawia KDE) nie
wiem czy już w niej czegoś nie poknociłem? Efektem jest pusta
strona.
> Na ile zrozumiałem w logu jest coś o fontach:
Czym proszę?...
Czy zdaje sobie Pan sprawę do czego służy (a raczej służył) pakiet
cmcyralt? Do składania tekstów zawierających cyrylicę i nieakcentowane
litery łacińskie używając klasycznego do tego texowskiego kodowania OT1,
przy tym sam tekst dokumentu zapisany miał być w CP866, kodowaniu
standardowym w rosyjskojezycznych wersjach MS-DOS. Mówimy o potrzebach
użytkownika TeX-u sprzed 16-20 lat (!).
Czy o to rzeczywiście Panu chodzi? Używać całkowicie archaicznego pakietu
do obsługi tekstów zapisanych w epoce przed pojawieniem się Windows 3.1?
Jeśli nie, to radzę w ogóle porzucić pakiet 'cmcyralt' i posłużyć się na
przykład pakietem babel z opcjami językowymi 'russian' i 'polish' -- jeśli
planuje Pan używać w swoim dokumencie tych właśnie języków, a sam dokument
zapisać w UTF-8.
Proszę zapoznać się z podstawowymi informacjami na temat jak używać
pakietu babel (znajdzie to Pan na pierwszych stronach dokumentu
doc/generic/babel/babel.pdf w katalogu gdzie zainstalowany jest u Pana
TeXLive) -- przyda się na przyszłość.
Prosty przykład kompletnego źródła:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
% Pakiet 'fontenc' ładujemy przed pakietem babel,
% w przeciwnym razie 'babel' nie będzie wiedział,
% że chcemy właśnie T2A dla cyrylicy i T1 dla polskiego,
% i wybierze odpowiednio OT2 i OT1.
% Jeśli domyślne kodowania OT2 i OT1 nas satysfakcjonują,
% to wiersz \usepackage[T2A,T1]{fontenc} można w ogóle opuścić.
\usepackage[T2A,T1]{fontenc}
\usepackage[russian,polish]{babel}
\begin{document}
% Zaczynamy artykuł z domyślnym językiem polskim
Jak pisać po polsku i rosyjsku w jednym artykule?
% Przełączamy się na rosyjski
\selectlanguage{russian}
Писать по русски и по польски в одной статье несложно.
% Przełączamy się z powrotem na polski
\selectlanguage{polish}
Rzeczywiście nietrudno.
\end{document}
Mariusz Wodzicki
Przykład z wykorzystaniem XeLaTeXa:
\documentclass[12pt,a4paper]{article}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Times New Roman} % lub inny krój
\begin{document}
Jak pisać po polsku i rosyjsku w jednym artykule?
Писать по русски и по польски в одной статье несложно.
Rzeczywiście nietrudno.
\end{document}
Pozdrawiam, W.W.
Dziekuję za przykład z wykorzystaniem XeLaTeX-u. Też chciałem o tym
wspomnieć, ale dla kogoś, kto sam określa się jako "zielony" powstrzymałem
się.
Największą zaletą XeLaTeX-u jest to, że obywa się w ogóle bez balastu
jakim są te wszystkie pliki metryczne, czcionki wirtualne, etc, zato jest
w stanie bezpośrednio korzystać z czcionek Open Type.
Inną rzeczą jest to, że nie ma zachodzi w nim również potrzeba explicite
przełączać języki jeśli używamy czcionki zawierającej wszystkie potrzebne
nam znaki, jak to elegancko ilustruje powyzszy przykład.
Potrzeba ta się niestety pojawi kiedy zechcemy używać wzorców dzielenia
wyrazów odpowiedniego dla każdego z języków. W tym wypadku należy posłużyć
się pakietem 'polyglossia' pełniącym w XeLaTeX-u tę samą rolę, którą w
LaTeX-u pełni pakiet 'babel'.
Dokument napisany w XeLaTeX-u nie będzie się wówczas znacznie różnił od
tekstu złożonego w LaTeX-u i wygoda z używania XeLaTeX-u sprowadzi się
głównie do tego, że mamy tam bezpośredni dostęp do wysokiej jakości
czcionek w jakie wyposażone są współczesne systemy operacyjne Windows i
MacOS X.
Poza tym polyglossia stale się rozwija i obsługiwać będzie prawdopodobnie
dużo więcej języków niż babel, w tym szereg języków o złożonej grafii.
Mariusz Wodzicki
O pakiecie babel nie pomyślałem i pokarało mnie za bezmyślność.
Dokumentacja na dysku a ja przekopuje sieć.
Dziękuje za przykład LaTeXowy - ten sposób działa bez żadnego
doinstalowywania czcionek.
XeLaTeX wygląda kusząco, zwłaszcza jeżeli chodzi o pominięcie
problemów z fontami ale dopiero raczkuję w LaTeXu i nie wiem czy jest
sens porywać się na zbyt wiele od razu.
Czy obsługa wielojęzyczności oraz strony graficznej tekstu jest w
XeLaTeXu na tyle łatwiejsza, że jest sens przesiadać się na nowe
jeszcze mniej znane?
Dziękuje za pomoc
Dominik Tabisz
P.S.
Nie wiedziałem do czego właściwie służył pakiet cmcyralt, tym razem
nie tego szukałem,
niemniej bardzo często męczę się z odczytaniem plików kodowanych
właśnie w koi8 i CP866.
Na razie będę je odświeżał przez zmianę kodowania plików na utf8 i
dopiero potem puszczał przez pdflatexa, ale jak rozumiem, do czegoś
takiego właśnie należałoby doinstalować jeszcze raz czcionki i użyć
cmcyralt?
Jeśli w "obsługę wielojęzyczności" wchodzi stosowanie wzorców dzielenia
wyrazów dla odpowiedniego języka, to sądzę, że XeLaTeX+polyglossia nie są
prostsze niż LaTeX+babel.
Ogromnym atutem XeLaTeX-u jest jego zdolność bezpośredniego korzystania z
czcionek Open Type włącznie z ich różnymi 'features'.
Czy 'porywać' się na XeLaTeX? Trudno powiedzieć. Jeśli jest Pan gotów
zainwestować trochę czasu w uczenie się XeLaTeX-u to nie widzę
przeciwskazań. Lista dyskusyjna Xe(La)TeX-u jest niezwykle ożywiona. Można
się tam sporo nauczyć. Wielu uczestników to eksperci i często twórcy
podstawowych pakietów. Dyskutuje się tam sprawy istotnie złożonej
typografii.
> Nie wiedziałem do czego właściwie służył pakiet cmcyralt, tym razem nie
tego szukałem,
> niemniej bardzo często męczę się z odczytaniem plików kodowanych właśnie
w koi8 i CP866.
'vim' świetnie sobie radzi z plikami we wszystkich możliwych kodowaniach:
:e ++enc=cp866
wyświetli Panu plik w kodowaniu CP866.
Pisze Pan, że mam stale do czynienia z plikami tekstowymi kodowanymi w
KOI8-R i CP866 (spodziewam się, że również CP1251). W tej sytuacji
proponuję zrobić odpowiednie aliasy. Jeśli używa Pan 'bash', to może Pan
dodać nastepujące 3 wiersze do ~/.bashrc
alias v1='vim -c "e ++enc=cp1251"'
alias v6='vim -c "e ++enc=cp866"'
alias v8='vim -c "e ++enc=koi8-r"'
i używać ich do edytowania plików w stosownych kodowaniach.
> Na razie będę je odświeżał przez zmianę kodowania plików na utf8 i
dopiero potem puszczał przez pdflatexa, ale jak rozumiem, do czegoś
takiego właśnie należałoby doinstalować jeszcze raz czcionki i użyć
cmcyralt?
Nie, niezupełnie. 'cmcyralt' służył raczej temu by w epoce 7-bitowego
TeX-u móc bez ciągłych zmian czcionki komponować po rosyjsku artykuły
zawierajace angielskie wtręty, jak ma to miejsce we wszelkiej literaturze
naukowo-technicznej.
Do 'texowania' nie potrzebuje Pan w ogóle zmieniać kodowania w tekstach,
które są w KOI8-R, CP866, bądź CP1251. Wystarczy dodać w preambule
stosowny wiersz:
\usepackage[koi8-r]{inputenc}
lub
\usepackage[cp866]{inputenc}
bądź
\usepackage[cp866]{inputenc}
Pakiet 'inputenc' temu właśnie służy.
Kiedy zdarzało mi się otrzymywać z jednego źródła teksty zakodowane to w
tym, to w innym kodowaniu, to dla łatwiejszej orientacji albo dodawałęm do
nazwy pliku odpowiedni suffiks: -koi8-r, -cp866, czy -cp1251, albo
tworzyłem podkatalogi nazwane koi8-r, cp866, cp1251, w których
umieszczałem odpowiednie pliki.
Konwertowanie do utf-8 miałoby sens gdyby to była operacja jednorazowa.
Niestety, w Rosji mało kto stosuje utf-8 i dlatego zmuszony będzie Pan do
ustawicznego konwertowania. Lepiej pogodzić się z faktem, że w Rosji używa
się kilku kodowań jednocześnie, i zamiast tracić siły na konwertowanie z
jednego kodowania w drugie być raczej przygotowanym na edytowanie i
'texowanie' w takim kodowaniu w jakim Pan plik otrzymał.
Mariusz Wodzicki
Teraz babel i inputenc rozwiązują już większość moich problemów z
wielojęzycznością.
Reszta kryje się gdzieś w edytorach ale to z TeXem nie ma zbyt wiele wspólnego.
Na razie chyba jednak zostanę przy LaTeXu - jeszcze zbyt mało umiem,
żeby grymasić z fontami.
Dominik Tabisz
22-05-10, wodz...@math.berkeley.edu <wodz...@math.berkeley.edu> napisał(a):
> Teraz babel i inputenc rozwiązują już większość moich problemów z
> wielojęzycznością. Reszta kryje się gdzieś w edytorach ale to z TeXem
> nie ma zbyt wiele wspólnego.
No właśnie -- jakie ,,edytorstwo'' możecie polecić, które ułatwiałoby
pracę z wielojęzycznymi dokumentami?
Wiadomo od dawna: emacs, xemacs, vim, gvim... rewelacyjne w swoich
możliwościach, ale trudne do konfiguracji i dostosowania do niektórych
lokalnych potrzeb. (Np. od dawna używam pod windą emacsa, ale potrafię
wykorzystać może 10% użyteczności jakie on oferje).
Przy takiej pracy nie tylko ,,soft'', ale i ,,hardware'' mogą być
pomocne: nakładki na klawiaturę, klawiatury wirtualne, skróty
klawiszowe...
Prawdziwy hacker poradzi sobie zwykła klawiaturą i notatnikiem systemowym.
Ale jak wspomóc pracę użytkownikom mniej obeznanym w arkanach
komputerowych, za to bardziej biegłych w obcobrzmiących językach
naturalnych (typowych humanistów, lingwistów).
--jk
- Jacek Kmiecik <j...@agh.edu.pl> ------------ http://www.kmiecik.pl --
Uczelniane Centrum Informatyki, tel. (+48-12) 617.34.77
Akademia Górniczo-Hutnicza, Kraków C-1, Vp., pok. 502
--------------------------------------------------[+48 501.494.601]--