Portál AbcLinuxu, 19. dubna 2024 21:42


Dotaz: LaTex a čeština

26.8.2006 20:18 Jakub Kocourek
LaTex a čeština
Přečteno: 8771×
Odpovědět | Admin
Na toto téma existuje mnoho článků, ale nikde jsem nenašel odpověď na můj problém. Daří se mi v LaTexu korektně vytvořit český dokument. České znaky se korektně zobrazují, dělení slov funguje ok. Ovšem, když z .dvi (nebo .pdf) souboru vykopíruji text zpět, české znaky se zobrazují jako "?".
\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[latin2]{inputenc}
\usepackage[czech]{babel}
\begin{document}
...
\end{document}
Výpis LaTexu:
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)
entering extended mode
(./two.tex
LaTeX2e <2003/12/01>
Babel and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size12.clo))
(/usr/share/texmf/tex/latex/base/fontenc.sty
(/usr/share/texmf/tex/latex/base/t1enc.def))
(/usr/share/texmf/tex/latex/base/inputenc.sty
(/usr/share/texmf/tex/latex/base/latin2.def))
(/usr/share/texmf/tex/generic/babel/babel.sty
(/usr/share/texmf/tex/generic/babel/czech.ldf
(/usr/share/texmf/tex/generic/babel/babel.def))) (./two.aux)
(/usr/share/texmf/tex/latex/base/t1cmss.fd)
Overfull \hbox (30.9757pt too wide) in paragraph at lines 10--12
[]\T1/cmr/bx/n/24.88 Gang vy-kr\uffff-dal \uffff\uffffty kli-ent\uffff Ko-mer\uffffn
[1] [2] [3] (./two.aux) )
(see the transcript file for additional information)
Output written on two.dvi (3 pages, 8200 bytes).
Transcript written on two.log.
Až na jedno neúspěšné dělení slov to tedy vypadá ok. Výstup vzhledově taky ok. Export zpět na text ale ne.

Jakub Kocourek
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.8.2006 21:05 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je vlastnost.
Later --- Lukáš Zapletal
26.8.2006 22:24 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: LaTex a čeština
Ale vzpomínám si že se to někomu podařilo obejít. Mluvilo se o tom na TeXovském diskusním fóru cz.comp.cstex, tak snad jim prohledat historii.
27.8.2006 11:43 Jakub Kocourek
Rozbalit Rozbalit vše Re: LaTex a čeština
Chcete tím říct, že z žádného LaTexového českého dokumentu nelze extrahovat text? Zvláštní software.... :)

Jakub
27.8.2006 12:53 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: LaTex a čeština
TeX a LaTeX má výstup na tiskárnu v dvi, případně ps. Náhled v dvi je jen kontrolní a poměrně nová věc. Do pdf se dá převést, ale není to "jeho" formát. Jestli jsem něco pomotal, tak sorry a opravte.

Pokud chci pracovat s TeX a LaTeXem, tak používám zdroják v tex. Dílko se posílá ve formátu tex a to co chce si z toho každý udělá.
27.8.2006 13:14 Jakub Kocourek
Rozbalit Rozbalit vše Re: LaTex a čeština
OK. Díky za reakci. Jde mi jen o to, že jsem chtěl, aby bylo možné dokument (klidně v pdf) šířit i elektronicky, ne pouze tištěný. Zkusim ještě výstup PdfTexu (můj LaTex se hlásí jako PdfTex) rovnou do pdf. Třeba tu češtinu zvládne.

Díky Jakub
27.8.2006 13:21 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: LaTex a čeština
V tom nevidím problém. Spousta veřejně šířených PDF vznikla v TeXu. Obvyklejší a čistší je ale použití pdfTeXu, ne různých dvi-to-pdf nebo ps-to-pdf konvertorů.
27.8.2006 13:44 Jakub Kocourek
Rozbalit Rozbalit vše Re: LaTex a čeština
Problém to je. Protože .dvi i .pdf se tváří korektně, dělení slov ok, prostě vše, až na... extrakci textu z pdf! Nezabírá ani přímé tvoření přes PdfeTex (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4)). Ten extrahovaný text prostě nemá české fonty. Nechápu to, protože vše co závisí na českých fontech (dělení slov) jede. Už jsem z toho šílený. Nevím co s tím.

Dodávám verze software: SuSE Linux 10.1 pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4) LaTeX2e <2003/12/01> Babel v3.8d Prohlížím v KDVI 1.4 nebo Adobe Acrobat Reader 7.0.8

Jakub
27.8.2006 14:02 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: LaTex a čeština
O tomhle problému s pdf vím. Četl jsem o tom, ale nevím o nějakém řešení. Opravdu z pdf text "nevytáhnu" ať už použiji na převod pdfcslatex, dvipdfm, ps2pdf14...

Z dvi vůbec. To je jen kontrolní náhled. Zobrazí už i obrázek, ale na práci kopírováním to není. Pokud vím, dřív možnost náhledu v dvi ani nebyla (ale to jsem jen četl)
27.8.2006 17:44 Jakub Kocourek
Rozbalit Rozbalit vše Re: LaTex a čeština
Díky za odpověď. Tím, že se to v pdf alespoň korektně zobrazuje to není tak zlé. Kdybych něco našel jinde, hodim to sem pro ostatní. Docela by mě zajímalo, jak vlastně Acrobat čte ty české znaky. Znak jde vlastně normálně vybrat jako text, takže je to jak v Kocourkově :)

Jakub
27.8.2006 21:48 Dag | skóre: 25 | blog: bzuk
Rozbalit Rozbalit vše Re: LaTex a čeština
Ono bohužel není za co děkovat. S ničím jsem nepomohl. Ale trochu nechápu, k čemu je to potřeba. S textem pracuji v zdroj.tex a nakonec převedu do pdf. Z něj si, pravda nikdo nemůže text kopírovat.

Já lidem, kteří mají text třeba upravit pošlu normálně zdroj a nebo i jen text v txt. Teprve na konci z toho vznikne hotové pdf.
27.8.2006 13:38 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: LaTex a čeština
DVI je to co bylo původně v TeXu ještě před tím, než se objevil postscript nebo PDF. Po nastoupení těchto jazyků se napsaly konvertory které .dvi přechroustají do .ps nebo .pdf a upravený TeX, který má na výstupu buď .dvi, nebo .pdf, podle nastavení proměnné \pdfoutput.
27.8.2006 21:05 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: LaTex a čeština
Trochu bych to upřesnil: DVI není "to, co tu bylo, než se objevil PostScript". Zkratka DVI znamená device independent a jde o specificky TeXovou reprezentaci vysázeného dokumentu, která je nezávislá na výstupním zařízení a z níž se teprve generuje soubor, který se na výstupní zařízení pošle (může to být PostScript, PCL nebo specifický formát určité tiskárny). V případě PDF ale tento postup není příliš vhodný, protože DVI v podstatě obsahuje jen informace typu "na stránce s na pozici (x,y) vysázej fontem f znak z, takže by se tím ztratily podstatné informace, které PDF umí využít. Proto Han The Thanh vytvořil pdfTeX, což je zmíněná modifikace TeXu, která umí vytvořit rovnou PDF místo DVI.
27.8.2006 20:42 Pavel Kysilka
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
diky za sablonu. vcelku dost pomohla, abych popojel. jede to i v unicodu ve vstupnim kodovani.

thx gf
11.10.2008 18:36 vlastikw | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkuste za \usepackage[czech]{babel} přidat \usepackage{pslatex} tzn.

\usepackage[czech]{babel} \usepackage{pslatex}

neřeší to na 100 % ale aspoň se dá text kopírovat a z 80 % všechny znaky s diakritikou.
11.10.2008 21:19 xHire | skóre: 21 | blog: Linuxovník
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zajímavé, to jsem nikdy nezkoušel – tak trochu jsem to považoval za samozřejmost, takže mě to hodně zarazilo...

Používám přímo pdflatex a čtu to v kpdf. Když to vykopíruji ven, tak se mi nezobrazí otazníky, ale na řádku s textem diakritické známenko (buď čárka nebo háček) a na řádku pod tím (pozice odpovídá) samotné písměno (bez diakritiky). Možná to je tím, že používám UTF (ovšem bez T1), ale podle mě z toho je vidět, jak je výsledný PDF soubor stavěný – sází se samostatně diakritika a samostatně písmena. Osobně nevím, jak by šlo zařídit, aby se sázelo obojí jako jeden znak...

Výše zmíněné rozšíření přes pslatex mi ne příliš pomohlo - v PDF text sice je, ale buď je bílý nebo prostě není vidět, ačkoliv zkopírovat jde, ale výsledný text je buď bez diakritiky, nebo jsou místo některých písmen tečky, příp. některá chybí úplně (např. a, které vůbec diakritiku nemělo).
Kryptoměny a bločenka.
wamba avatar 12.10.2008 10:00 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to podivné, ale asi bude stačit změnit article na report :)
This would have been so hard to fix when you don't know that there is in fact an easy fix.
wamba avatar 12.10.2008 10:13 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: LaTex a čeština
tak tím to nebylo každopádně mně funguje tato hlavička: \documentclass[12pt]{article} \usepackage{tgschola} \usepackage{t1enc} \usepackage{czech} \usepackage[dvips]{graphics} \usepackage[dvips]{hyperref} \usepackage{a4wide} abych pravdu řek nevím díky čemu :)
This would have been so hard to fix when you don't know that there is in fact an easy fix.
wamba avatar 12.10.2008 10:24 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: LaTex a čeština
tak snad díky změně písma \usepackage{tgschola}
This would have been so hard to fix when you don't know that there is in fact an easy fix.
12.10.2008 10:48 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: LaTex a čeština
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dovolil bych si doporučit XeTeX/XeLaTeX. Je to poměrně nová věc a může se stát, že vám nebude vyhovovat (např. v něm nebude fungovat některý package), ovšem zásadní výhodou je, že interně používá unicode (a truetype fonty), není třeba řešit nic nejen pro češtinu, ale ani třeba pro arabštinu, dokumenty se kompilují rovnou do PDF a z výsledku samozřejmě lze kopírovat text vč. všechn unicode znalů. Je to oficiální projekt, žádný amatérský bastl, je součástí TeXLive, používám to a neměl jsem s ničím problém. Hledejte na googlu XeLaTeX.
Petr Břeň - IT služby
8.1.2010 14:13 jirikon | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
Příloha:
Doporučuju vyzkoušet:
\documentclass[4paper,11pt]{report}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\begin{document}
bez rozkladu znaku  pismen:
;+ěščřžýáíé=ůŠĎŘĚŤÉÝÍÓÁŮůúÚ
\end{document} 
a projet to xelatex, výsledek v příloze
8.1.2010 20:17 Jirka
Rozbalit Rozbalit vše Re: LaTex a čeština
Ja pisu v LaTeXu pomoci unicode uz dlouho. Osobne nechapu lidi co muzou jeste dneska pouzivat latin2. Nejjednodussi je pouzit:

\usepackage[utf8x]{inputenc}

a je to.
10.1.2010 20:40 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: LaTex a čeština
To já taky, ale nežere to třeba nezlomitelnou mezeru (a jiné). Takže následují regexpové orgie. Mimo jiné proto přecházím na XeLaTeX.
11.1.2010 17:56 jirikon | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
Ja se bavil o výtupu, při kopírování znaků z PDF:

LaTex: ˇc'aˇZ

XeLatex: čáŽ
11.1.2010 21:44 Petr
Rozbalit Rozbalit vše Re: LaTex a čeština
Co s výstupním textem bude dělat čtecí program je dáno výstupním kódováním a "kvalitou" toho čtecího programu. Třeba tento dokument lze vykopírovávat:
\documentclass[a4paper,11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc}
\usepackage[czech]{babel}
% \usepackage{type1cm}

\begin{document}
Příliš žluťoučký kůň úpěl ódy.
\end{document}
takto: 1. pdflatex a.tex ; pdftotext a.pdf - => výstupní text je OK

2. pdflatex a.tex ; xpdf a.pdf => výstupní text je OK

3. pdflatex a.tex ; acroread a.pdf => výstupní text je při kopírování zmršený. Že by programátoři od Adobe na něco zapomněli?

12.1.2010 01:02 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: LaTex a čeština
Problém (možná ne jen) mého pdftexu je, že při kódování T1 hází do PDF bitmapová písma. Předpokládám, že T2A kódování, které mi nefunguje, se používá jen na transliterovanou cyrilici a nemá na to vliv.
12.1.2010 09:51 jirikon | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
ad 2. Mam pocit že evince je postaven taky na xpdf a korektně kopirovat z něho nelze.

ad 3. U xelatexu je to i v acroread v pohodě.

Jinak použivat texlive2007 je pro XeLaTeX blbost (hlavni vývoj probíhá poslední dva roky). Doporučuju všechny balicky z texlive odstranit a instalovat podle návodu http://tug.org/texlive/quickinstall.html. Škoda jen že nemají klasický repozitář.
12.1.2010 14:37 bhy | skóre: 35 | blog: bhyblog | brno
Rozbalit Rozbalit vše Re: LaTex a čeština
texlive 2009 je naštěstí v debianu unstable a pro ubuntu je ppa repozitář.
21.6.2010 22:22 vlastikw | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
Příloha:
tak já jsem to zkusil (opravil 4paper na a4paper) a nefunguje - viz priloha.

\documentclass[a4paper,11pt]{report} \usepackage{fontspec} \usepackage{xunicode} \usepackage{xltxtra} \begin{document} bez rozkladu znaku pismen: ;+ěščřžýáíé=ůŠĎŘĚŤÉÝÍÓÁŮůúÚ \end{document}

a pak xelatex z TexLive2009 a takhle dopadlo pdf
21.6.2010 22:27 vlastikw | skóre: 3
Rozbalit Rozbalit vše Re: LaTex a čeština
Příloha:
tak já jsem to zkusil (opravil 4paper na a4paper) a nefunguje - viz priloha.

\documentclass[a4paper,11pt]{report} 
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\begin{document}
bez rozkladu znaku  pismen:
;+ěščřžýáíé=ůŠĎŘĚŤÉÝÍÓÁŮůúÚ
\end{document}

a pak xelatex z TexLive2009 a takhle dopadlo pdf

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.