,,rjerogjoirj-e'' szavak elválasztása LaTeX-ben

Fórumok

Sziasztok.

Telepítve van a mindig legfrissebb magyarlatex csomag.
Az elválasztás működik, de pl. a
,,helyes-e''
szócskát sor végén nem kezeli, a drafttal fordítva fekete téglalap lesz, túllövi a sort, nem választya' el.

Miért?

Hozzászólások

Azért nem választja el, mert ez a magyar és egyben angol tördelési norma, ha csak 1 vagy 2 betűről van szó, olyan keveset nem illik új sorba átvinni, mert csúnyán mutat. Ilyenkor csak azt tudod csinálni, hogy a problémás szó előtt kényszeríted ki a sortörést, akkor nem lövi túl a sort.

Egyébként ha egy-egy szónál saját elválasztást akarsz ráerőltetni, arra két mód van.
Az egyik \hyphenation{ki-vé-tel}, a másik ki\-vé\-tel formában megadni, és akkor ha lehetőség van rá, ezeken a pontokon választ el.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Ha kötőjelet használsz, akkor a latex nem fogja elválasztani a kötőjel előtti illetve utáni részeket.
Viszont friss magyarlatex-ben van rá megoldás:

\showhyphens{tudja-e tudja‘=e} → tudja-e tud-ja-e

Ajánlom egyébként a magyarlatex doksiját átnyálzani, sok jó dolgot tud. https://math.bme.hu/latex/magyarldf-doc.pdf

Megalkottam a fájlt külön:

\hyphenation{
Éb-re-dé-sem-kor
néz-e
tud-e
vám-ki-kö-tő
vám-ki-kö-tőt
...
}

Belekerül minden -e végződésű szó elválasztás nélkül, meg azok is, amelyeket az elválasztórendszer mégsem választ el, pl. vámkikötő.

Ez így egyelőre jó. Melós, ha a ragozott alakok is bekerülnek.
Kérdés:
Hogyan tudom mondjuk a vámkikötő szót megtaníttatni a magyarlatex-hel, hogy ne kelljen a ragozott alakokkal foglalkozni?

Szintén azt használom.
https://math.bme.hu/latex/
Most olvasom, hogy törölni kell a régit, mert lehet, hogy amiatt rossz:
,,texmf/tex/generic/magyar/magyar.ldf
magyar Babel stílus LaTeX-hez (1.5-ös verzió). Figyelem! A legbiztosabb, ha a magyar.ldf-et a dokumentummal egyező könyvtárba helyezi el. Ha mégis a texmf fába helyezi, akkor az ugyanabban a texmf fában levő összes többi magyar.ldf-et (pl. texmf/generic/babel/magyar.ldf) le kell törölni, mert ellenkező esetben a LaTeX a régit találja meg a jó helyett. ''

Az új magyar.ldf felrakása után ez a kimenetem:

! Undefined control sequence.
\@begindocumenthook ...caption@setdefaultlabelsep
{period}\fi \let \@@magyar...
l.109 \begin{document}

? ^Z
[10]+ Megállítva latex konyv_osszesfejezet.tex

entert nyomok, majd lefordul a doksi. Az első lapon egy
"period"
szó szerepel, majd elkezdődik a tényleges szedés.

Szóval vagy baj van az ldf-fel, vagy eleve a latexemmel, vagy mindennel egyszerre, sőt, az is lehet, hogy én vagyok az elbaszott, ami bizony nagyon gyanús.

Beraktam néhány LaTeX fájlba a „tudja-e” szöveget. Mindegyik esetben elválasztotta az „e” betű előtt. \documentclass-ok, amivel próbáltam: book, article, report, memoir. \sloppy-t nem használtam.

Az is lehet a hiba, hogy olyan csomagot is használsz, ami a magyar.ldf-fel együtt már nem működik helyesen. Már egy ideje kérdezel ezzel a projekttel kapcsolatban, és nekem úgy tűnik, hogy már nagyon csomagot használsz. Lehet hogy a küzdelem helyett meg kellene állnod egy kicsit, és egyszerűsíteni a formával kapcsolatos elképzeléseidet.

Esetleg készíts egy 1 oldalas tex fájlt, amiben nem működik rendesen az elválasztás. Ha azt kiteszed valahova, akkor ránézhetek, és akkor kiderül, hogy csak nálad rossz-e az elválasztás, vagy esetleg más hiba van.

Új dolgokat a gummi-val kísérletezek, ott maga az editor azonnal mutatja a képet, logot, mindent. Miután meg vagyok elégedve, berakom a fájlaim közé. Igyekszem kis kódokat írni, áttekinthetően elrendezni a könyvtárakat, hogy később tényleg csak a tartalommal kelljen foglalkozonom.
A XeTeX-et javasolta valaki korábban, most építem fel. A BME és az ELTE cs-szerverén találok magyarlatexes doksikat, de néha badlinkekkel -- ettől hülyét kapok. Ha az egyetem leáll a tex oktatásával, inkább törölje a szar doksikat... Szóval holnapig pihenek.

A gummi-ról nem is hallottam eddig, most néztem meg, hogy mi az. Én az ubuntuban levő texlive-ot használom vi-jal, másik ablakban pedig evince. Ha újat próbálok ki, akkor harmadik ablakban egy terminál, ahol fordítom a fájlt. Mindent ubuntus csomagból raktam fel.

(Az üzenet küldését engedélyeztem.)

Nem a vi-on van a lényeg.

Szubjektív: Régen megpróbáltam néhány LaTeX editort, amik nagyon okosak voltak, és csak egy-két kattintás volt egy táblázat vagy kép beszúrása. Ezekkel az volt a bajom, hogy a végeredményt megnézve, legtöbbször azt tapasztaltam, hogy ha én írtam volna be az utasításokat, akkor egyszerűbb megoldást választottam volna. Így visszatértem egy LaTeX-et csak kissé ismerő editorhoz, mert akkor pontosan az kerül be, amit én akarok. Nekem elég az, ha az editornak van automatikus kiegészítő funkciója. Bár e nélkül is elvagyok, csak így kicsit gyorsabb.

Az automatikus kiegészítés hasznos, erre a TeXstudiót használtam. Amúgy egyszerű editort használok, korábban TeXworks-öt, most pedig SciTe editort (a forrásban színezi a parancsokat), F5 build-re be lett állítva, hogy a .tex forrást xetex-kel fordítsa, a pdf-nézőben meg frissül automatikusan a létrejött pdf. Kódkiegészítés így nincs, de legalább nem igényli plusz editor feltelepítését.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Most megnéztem, a vim-hez és a neovim-hez is van LatexPreview plugin. Kipróbáltam és tényleg működik, automatikusan frissül. Illetve van a vimtex plugin is, az is sokat tud. Feltelepíteni is egyszerű, csak el kellene olvasni a dokumentációját, mert anélkül semmit sem ér. Mivel jelenleg egy szrkipttel, xml fájlból generáltatom a latex fájlt (és a markdown fájlt is), így túl nagy késztetést nem érzek az olvasgatásra. :-)

Azt hiszem én javasoltam. Nem fogod megbánni a XeTeX-et. Lényegében sima TeX (nem LaTeX), tehát nincsenek csomagok (vagyis van 1-2, de nem kell őket használni egyáltalán), nincsenek \begin - \end környezetek, nincs preambulum, minden pontosan úgy fog kinézni, pont akkora méretben (tehát nincs ilyen \huge, \tiny, stb. ködösítés, hanem megmondod neki, hogy a betűméret legyen 12.8 pt vagy bp, vagy akármi, és akkor pont annyi lesz, ugyanez áll a papírméretre, margókra, stb.), pont ott, ahol te akarod. Sokkal rövidebb, áttekinthetőbb kódokat lehet vele írni, sokkal gyorsabban le is fog fordulni a dokumentum. Szinte felüdülés a LaTeX nehézkessége után használni. Plusz mivel újabb kiadás, ezért kezeli a UTF-8-as kódolást alapból, támogatja a OpenType, Graphite, TrueType betűtípusokat (még .otf, .ttf fájlból is be tudja őket emelni, nem kellenek telepítve legyenek a rendszeren), így nem kell Type1 meg Type3-as fontokkal, meg betűtípuskonverziókkal és nehéz font telepítésekkel szívni, meg az végletekig unalmas Computer Modern fontnál leragadni (én OpenType Abobe Pro fontokkal használom, külső .otf fájlokból behúzva). Támogatja a mikrotipográfiai dolgokat (írásjelek kilógatása a margón pl.). Elég neki egy minimum TeX-terjesztés, nem kell fullosat feltenni a kedvéért.

Egy hátránya van, a magyar nyelvet ugyan támogatja (\frenchspacing \uselanguage{hungarian} kell a doksi elejére), a magyar szavak többségét jól elválasztja (algoritmussal a többségét, kisebb részét kivételszótárral), de azért a magyar nyelvi támogatás szintje nem éri el a magyarlatex-es szintet, tehát ilyen számozásoknál (pl. ábrák), keltezésnél pl. nem tudja automatikusan illeszteni a toldalékokat, ezeket neked kell kézzel csinálni, de természetesen lehet vele szép magyar dokumentumokat létrehozni.

Ha valahol elakadtál vele, nyiss neki külön topikot, segítek. Eleinte nehéz a plain TeX faramuci észjárását megszokni (mindenféle glue/fill-technikák, ha pozicionálni szeretnéd a szöveget a normál bekezdéseken kívül), de ha ráérzel, utána nem vészes, és még mindig egyszerűbb, mint LaTeX-ből húsz csomagot meghívni, amik egymást ütik (nehéz debuggolni), meg jól belassítják a fordítást. Eleve sok TeX parancs ismerős lesz LaTeX-ezés után (pl. /sloppy, /relax, /break, penaltyk, /vbox, /vfill, stb.).

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Biztos van, akinek bejönnek a különböző TeX változatok, de azért...

A LaTeX ilyen "lassú" egy 7 éves Core2-es laptopon:

$ time pdflatex Jegyzet.tex
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./Jegyzet.tex
LaTeX2e <2016/03/31>
Babel <3.9r> and hyphenation patterns for 4 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
......
Output written on Jegyzet.pdf (113 pages, 858865 bytes).
Transcript written on Jegyzet.log.

real 0m1,085s
user 0m1,021s
sys 0m0,062s

És ez egy 12 éve LaTeXben megírt jegyzet, tömény matematika, rengeteg képlettel.

A magyar támogatásnál jobb, ha elég egy \az{} makró, és nem kell valami apró változtatás után az összes hivatkozást átnyálazni, hogy jó névelő áll-e előtte

Azt is megnézném, hogyan (és mennyi idő alatt) lehet sima TeX-ben olyan prezentációt elkészíteni, ami a beamer csomaggal mondjuk játszva 1 óra.

Ja, és van xelatex is :)

A „sima” TeX-et én is elég sajtreszelőnek gondolom. Azonban a mostani helyzetben nem biztos, hogy rossz választás. A TeX esetében tényleg jobban kézben tartható, hogy mi hogyan nézzen ki, és hova kerüljön. Tehát az OP extra igényeit könnyebben kielégítheti. Cserében, azok a dolgok amiket a LaTeX-ben egyszerűen meg tud csinálni, bonyolultak lesznek a TeX-ben. Például az általad említett névelő kérdése. Én ugyan nagyon régen, és nagyon rövid ideig használtam a TeX-et, de emlékeim szerint az elválasztás elég sok kézimunkát igényelt. Valamit valamiért.

Az OP majd eldönti, hogy módosítja az dokumentum kinézetével kapcsolatos elképzeléseit, vagy ragaszkodik hozzájuk, és bevállalja a TeX-es megoldást.

Itt a „biblia” a TeX tanulásához. Forrásban is megtalálható. Ha tényleg komoly az érdeklődés, akkor ennek a lefordításával kell kezdeni. Egyrészt ellenőrizni lehet a telepített TeX helyes működését, másrészt puskázni is jó.

Pedig gyengébb gépeken nagyobb az eltérés fordításban. 3-4 éve még dolgoztam ótvarabb gépeken, ilyen P4 cerka, T1400-as cerka, azok eléggé köhögtek pdfLaTeX, és XeLaTeX alatt, konkrétan a P4 Celeron a microtypography csomag miatt már egy 3 oldalas dokumentumnál is leállt 1-2 percet (!!!) gondolkozni, beállt az egész gép, mint a szög (de enélkül a csomag nélkül is előfordult, hogy 15 másodperc volt egy 2 oldalas doksi), és nem swapolt, mert volt elég szabad memória, a proci pörgött maxon. Ugyanez a dokumentum XeTeX-ben lefordult kb. 1 másodperc alatt ugyanazon a gépen.

A képletek sem nehezebbek TeX-ben, szerintem egyedül a nagy táblázatok azok, amik igazán szopósak. A LaTeX-nek csak a jobb magyar nyelvi támogatás az előnye (ilyen ragozás, meg amit írtatok, névelők, jobb elválasztás, bár nálam a XeTeX is igen ritkán választ el rosszul, akkor sem teljesen hibás, inkább egyáltalán nem választ olyankor el), meg van hozzá egy csomó csomag, ami néha jól jön, pl. ilyenek, mint ipsum generátor (bár le lehetne programozni TeX-ben is), meg pl. Beamerhez olyan jó sablonok vannak, hogy prezentációt amiatt LaTeX-ben éri meg csinálni, nem TeX-ben. Alapvetően mégis jobb a TeX, sokkal átláthatóbb, hogy melyik kód pontosan mit csinál. Eleinte szopó lehet, míg az ember nem érti meg a működését, de utána, ahogy megoldotta a felmerülő problémákat, onnantól sokkal könnyebbé válik a használata, mint a LaTeX-nek. Illetve LaTeX még akkor fontos, ha valahol olyan helyen publikálsz (kutatóintézet, egyetem, szakmai lap, stb.), ahol előre megadott, kötött LaTeX-sablon alapján várják el a végeredményt, ott nem találhatod ki, hogy te majd hekkelsz saját megoldást TeX-ben, mert kivágnak vele, mint a macskát. Persze más műfaj a kettő, a LaTeX egy strukturált leírónyelv, míg a TeX inkább formázásra való (bár struktúrát is meg lehet benne valósítani). A XeTeX használata inkább hasonlít arra, mintha Adobe InDesign dokumentumot készítenél, de nem GUI-val, hanem egyszerű HTML-ben, míg a LaTeX inkább az XML-re vagy egy prognyelvre hasonlít. Kicsit persze sarkított példa, mert az InDesign inkább grafika-alapú, mint szövegalapú tördelés, de mégis jobban lehet ilyen példákon érzékelni a különbséget.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Igen, a föntiek mind igazak. Én a TeX legnagyobb "bajának" vagy "veszélyének" azt tartom, hogy az oldalak kinézetével kapcsolatban tényleg le lehet benne MINDENT rendkívül pontosan és részletesen programozni - ami sokszor arra csábít(hat)ja az embert, hogy valójában lényegtelen részletekkel is egy csomót pepecseljen, illetve máskor muszáj is ezt tenni, ha pont arra a problémára nincs elérhető parancs vagy csomag, mint a LaTeX-ben.

És amikor kész a MŰ, kiderül, hogy a szedéstükör 1-1 centivel kisebb lesz. És akkor lehet elölről kezdeni a reszelést, a kézi munkával gyönyörűen beállított betűméreteket, üres helyeket, ábra pozíciókat újraírni:)

Nyilván, aki gányolni akar, az gányolni fog akármiben. A LaTeX nehézzé teszi a gányolást, pont azért nem enged alapból túl sok mindent pontosan állítani. TeX-ben is lehet rendes kódot írni, ami nem gányolt, és semmi gondot nem okoz, ha a szedéstükör változik (mert pl. relatív méretek és pozíciók vannak megadva). Előrelátónak kell lenni, és kerülni kell a gányolást. Sokat TeX-ben sem kell pepecselni, a doksi elején beállítod pár sorban, amit kell, elég csak azokat a tulajdonságokat átdefiniálni, amik nem felelnek meg alapértelmezetten. Aztán szinte épp úgy lehet vele dolgozni, mint LaTeX-kel.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Ebben is teljesen egyetértünk :)

Csak a szál elején, mikor ilyeneket olvastam Tőled, akkor támadtak homályos félelmeim:

"...nincs preambulum, minden pontosan úgy fog kinézni, pont akkora méretben (tehát nincs ilyen \huge, \tiny, stb. ködösítés, hanem megmondod neki, hogy a betűméret legyen 12.8 pt vagy bp, vagy akármi, és akkor pont annyi lesz, ugyanez áll a papírméretre, margókra, stb.), pont ott, ahol te akarod.... "

Szerintem kár volt emiatt félni, mert így visszaolvasva is helytálló. Pl. pont a topiknyitó szalad bele most egy másik topikban, hogy a fancyhdr csomaghoz tartozó pagestyle parancsot nem a \begin-\end KÖZÉ tette, és nem működött neki, nehezen jött rá mi a baj. Na, ilyen szívás TeX alatt nincs. Ez a bajom a LaTeX-kel, tele van ilyen nehezen debugolható szívással, és nem hogy egyszerűsítene, hanem indokolatlanul megbonyolítja az életet.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

A preambulumban elhelyezett \sloppy mindenkeppen kikenyszeriti, hogy ne logjon a margora egy szo. Akkor is, ha cserebe valami nagyon "csunyat" kell tennie.

a végén így oldottam meg, valami 80valamennyi szónál egyenként:

\hbox{van-e}

Ennyi. Ha majd át akarom írni jobbra, akkor elég a -e} stringekre rákeresnem.

Ezt nem egészen értem. A \hbox megakadályozza az elválasztást, de neked az volt a bajod, hogy a LaTeX eleve nem is választja el őket. Vagy így hbox-szal nem lövi túl a sort, mert az egész hboxot átviszi az új sorba?

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum