Portál AbcLinuxu, 17. června 2025 13:41


Dotaz: LaTeX, delenie slov a medzery

Marián Oravec avatar 31.7.2005 19:49 Marián Oravec | skóre: 22 | Nitra
LaTeX, delenie slov a medzery
Přečteno: 3129×
Odpovědět | Admin
ahoj, mozete mi prosim pomoct odpovedat na moje otazky ohladne latexu? 1. ako prosim mozem "donutit" latex aby mi nerozdeloval slova? vsade v navodoch je uvedene len ako "naucit" latex slova rozdelovat \hyphenation{roz-de-lo-vat}. 2. ako poviem latexu nech nerozdeluje slovo na poslednom riadku strany (cast slova na jednej strane a druha cast slova na strane dalsej) - myslim nejakym jednym zapisom v preambule (nie pre kazdy pripad zvlast) 3. preco mi latex necha jednopismenovu predlozku na konci riadku a nepresunie ju automaticky na riadok dalsi? napr.:
dnes som bol v
meste

viem, docielim to tym ze napisem "bol som v~meste" ale preco to nespravi sam ako OO (?alebo to robi Word?)? dopredu dakujem za rady.
Mám rád elektro, ale vypočujem si aj iné...
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.7.2005 20:01 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Odpovědět | | Sbalit | Link | Blokovat | Admin
1. udělejte z toho třeba hbox.

2. Obávám se, že takový požadavek je principiálně nemožný. V první fázi totiž proběhne rozlámání odstavce na jednotlivé řádkové boxy a teprve potom se tyto hotové boxy nalámou na jednotlivé stránky. Neexistuje tedy způsob, jak v okamžiku řádkového zlomu (tedy ve chvíli, kdy se dělí slova) zjistit, zda bude příslušný řádek poslední/první na stránce.

3. Sám to TeX neudělá, ale existují programy (např. Olšákova vlna nebo starší vlnka), které vám vlnky na taková místa automaticky doplní. Jen pro upřesnění: podle pravidel se nejedná o jednopísmenné předložky, ale o neslabičné. Třeba o nebo u jsou jednopísmenné, ale ne neslabičné.

Marián Oravec avatar 31.7.2005 20:04 Marián Oravec | skóre: 22 | Nitra
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
1. pardon, asi som to napisal nepresne - myslel som nerozdelovat slova *vobec* - nie len niektore

za ostatne dakujem a "vlnku" pozriem
Mám rád elektro, ale vypočujem si aj iné...
31.7.2005 21:19 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Tak zkuste trochu hledat, myslím, že existuje něco jako \hyphenpenalty a jejím nastavením na dostatečně vysokou hodnotu byste mohl docílit toho, že se nic lámat nebude.
vladka avatar 31.7.2005 20:01 vladka | skóre: 23 | blog: vladimiruv | Hlučín, Ostrava
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad 3) k automatickemu vlnkovani slouzi program s prizracnym nazvem vlna.
The ability to mumble about inodes is the key to social success at a UNIX gurus' cocktail party.
vladka avatar 31.7.2005 20:04 vladka | skóre: 23 | blog: vladimiruv | Hlučín, Ostrava
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
s/prizracnym/priznacnym/
The ability to mumble about inodes is the key to social success at a UNIX gurus' cocktail party.
31.7.2005 20:21 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Odpovědět | | Sbalit | Link | Blokovat | Admin
  1. Pokud jde o nějaké konkrétní slovo, pak jej stačí uzavřít do hboxu: \hbox{nerozdělené_slovo}. Obecné nastavení pro celý dokument má smysl jen tehdy, pokud nemá být text zarovnaný do bloku. Jak to zařídit v LaTeXu ti neporadím.
  2. Viz povídání o penaltách v knize TeXbook naruby od Petra Olšáka, zajímat tě bude hlavně \clubpenalty
  3. Pokud je mezi slovy v a meste obyčejná zalomitelná mezera, pak na tom, že ji TeX využije k zalomení textu neshledávám nic zvláštního. TeX dělá jen to, co se mu řekne, nic se nesnaží domýšlet. Na (La)TeXovský zdroják lze poštvat program vlna, který za jednopísmenné předložky doplní nezalomitelnou mezeru automaticky.
Užívej dne – možná je tvůj poslední.
31.7.2005 20:25 finn | skóre: 43 | blog: finnlandia | 49° 44´/13° 22´
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Ad 2: \clubpenalty problém tak úplně neřeší, beru zpět.
Užívej dne – možná je tvůj poslední.
1.8.2005 14:54 spectrum | skóre: 29 | blog: spectrumblog
Rozbalit Rozbalit vše Re: LaTeX, delenie slov a medzery
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad 1) \hyphenation{nerozdelovat} proste napisete slovo bez tech pomlcek a nebude ho rozdelovat.
ad 2) rek bych, ze to nejde (ale teprv s LaTeXem zacinam, tak bych nerad mátl), muzete zkusit \begin{sloppypar} ... \end{sloppypar} pripadne prikaz \sloppy. Ten povoli vetsi mezislovni mezery, ale rozdelovani slov nezabrani. (Jsem ho zkousel - s nulovym vysledkem) :-(

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.