LaTeX/Greške i upozorenja

Izvor: Викикњиге

Šablon:LaTeX/Top

LaTeX opisuje šta je podešavanje kucanja dok ga odrađuje. Ako naiđe na nešto što ne razume ili ne može da uradi, izbaciće grešku koja govori šta nije uredu. Može takođe izbaciti upozorenje za manje ozbiljna stanja.

Ne paničite ako vidite ove poruke grešaka: česte su greške kucanja ili pogrešnog unošenja komandi, zaboravljanje na vitičaste zagrade, ukucavanje kose crte umesto obične crtice, ili korišćenje specijalnog simbola greškom. Greške se lako uoče i lako se isprave u svom uređivaču, i onda možete pokrenuti LaTeX ponovo da bi ste proverili da li je sve popravljeno. Neke najčešće greške su opisane u nastavku.

Poruke grešaka[uredi]

Format poruke greške je uvek isti. Poruke grešaka počinju sa znakom uzvika na početku linije, i daju opis greške, koji prati linija koja počinje brojem, što se odnosi na linija-broj u vašem dokumenti koji je LaTeX obrađivao kada je greška uočena. Ovde je primer, koji pokazuje da je korisnik pogrešno otkucao \tableofcontents komandu:

! Undefined control sequence.
l.6 \tableofcotnetns

Kada LaTeX naiđe na ovakvu grešku, pokazuje grešku i pauzira. Morate ukucati neko od sledećih slova da biste nastavili:

Ključ Značenje
x Stati odmah i izaći iz programa.
q Nastaviti nečujno najbolje što može i ne uznemiravaj me više sa greškama.
e Zaustavi program ali pomeri tekst u mom uređivaču na mesto gde si pronašao grešku (Ovo jedino radi ako koristite uređivač sa kojim LaTeX može da komunicira).
h Pokušaj da mi daš više pomoći.
i (praćen ispravkom) znači ubaci ispravku umesto greške i nastavi (Ovo je samo trenutna ispravka kako bi fajl bio procesovan. Idalje morate da napravite ispravku u uređivaču).
r Pokreni neprestani mod.Probiti se kroz sve greške, osim ako nema velike gomile i ne uspe (100 grešaka).

Neki sistemi (Emacs je jedan primer) pokreću LaTeX sa "neprestanim" prekidačem uključenim, tako da uvek procesira do kraja fajla, neobraćajući pažnju na greške, ili dok ograničenje nije postignuto.

Upozorenja[uredi]

Upozorenja ne počinju sa znakom uzvika: oni su samo komentari od strane LaTeX-a o stvarima koje bi trebali da pogledate, kao što su predučagke i podvučene linije (često izazvane od strane neobičnih povlaka, na primer), stranica koje su kratke ili duge, i druge tipografske prefinjenosti (većina koja može biti ignorisana kasnije). Za razliku od drugih sistema, koji pokušavaju da sakriju neravnine u tekstu (obično bezuspešno) mešajući se u razmaku slova, LaTeX uzima pogled koji bi autor ili uređivač trebao da učestvuje. Dok je verovatno moguće postaviti LaTeX-ove parametre tako da je razmak dovoljno aljkav tako da nećete skoro uopšte dopiti upozorenje o lošim linijama ili stranama, samo ćete odlagati stvari dok ne počnete da dobijate žalbe od strane čitača ili objavljivača.

Primeri[uredi]

Samo neke česte greške su date ovde: Oni koji najčešće mogu biti odstranjeni od strane početnika. Ako pronađete grešku koja ni prikazana ovde i nije vam jasno šta da radite, tražite pomoć.

Većina grešaka su same po sebi razumljive ali imati na umu da mesto na kome LaTeX primećuje i prijavljuje greške može kasnije biti u fajlu, a ne na mestu gde su stvorene. Na primer ako zaboravite da zatvorite vitičastu zagradu koja se zatvara, recite, italiks, LaTeX neće prijaviti ovo sve dok se nešto drugo ne javi koje se ne može desiti dok se vitičasta zagrada ne zatvori (npr. kraj doukmenta!)Neke zagrade mogu biti zatvorene samo od strane ljudi koji mogu da čitaju i razumeju šta treba dokument da znači ili kako da izgleda.

Početnici bi trebalo da zapamte da provere listu specijalnih simbola: veliki broj grešaka kada učite LaTeX se javljaju zbog slučajnog ukucavanja specijalnog simbola kada niste mislili. Ovo nestaje posle nekoliko dana kada se naviknete na to.

Previše }[uredi]

	
! Превише }.
l.6 \date December 2004}

Razlog zbog LaTeX misli da postoji previše } ovde je zato što fali otvorena vitičasta zagrada posle \date kontrolne sekvence i pre reči Decembar, tako da je zatvaranje vitičaste zagrade viđeno kao višak (što i jeste!). Ustvari, postoje druge stvari koji mogu da prate \date komandu odvojenu od datuma u vitičastoj zagradi, tako da LaTeX ne može pogoditi da li ste propustili otvorenu vitičastu zagradu sve dok ne nađe zatvorenu!

Nedefinisana kontrola sekvence[uredi]

! Недефинисана контрола секвенце.
l.6 \dtae
{December 2004}

U ovom primeru, LaTeX se žali da nepostoji takva komanda ("kontrola sekvence")kao \dtae. Očigledno je pogrešno ukucana, ali samo čovek može uočiti takvu činjenicu: sve što LaTeX zna je da \dtae nije komanda koju on poznaje: nedefinisana je. Greške u kucanju su najčešći izvor grešaka. Neki uređivači dozvoljavaju česte komande i okruženja da budu ubačena koristeći padajući meni ili ikonice, koji se mogu koristiti kako bi se izbegle ove greške.

Ne u Matematičkom modu[uredi]

! Недостаје $ убачен

Karakter koji može samo biti korišćen u matematici je ubačen u normalan tekst. Ako nameravate da koristite matematički mod onda koristite $...$ ili \begin{math}...\end{math} ili koristite 'brzi matematički mod': \ensuremath{...}. Ako niste nameravali da koristite matematički mod, onda možda pokušavate da koristite specijalni karakter koji je potrebno ukucati na drugačiji način; na primer _ će biti pretstavljeno kao podskripta operatora u matematičkom modu, i biće vam potrebno \_ kako bi se dobio donji karakter.

Ovo se takođe može desiti ako koristite pogrešno kodiranje karaktera, na primer korišćenje utf8 bez "\usepackage[utf8]{inputenc}" ili korišćenjem iso8859-1 bez "\usepackage[latin1]{inputenc}", postoje nekoliko karaktera koji dekodiraju formate, imajte na umu da izaberete pravi.

Odbegli argument[uredi]

Одбегли аргумент?
{December 2004 \maketitle
! Параграф завршен пре \date је завршен.
<за поновно читање>
\par
l.8

Kod ove greške, zatvaranje vitičaste zagrade je izostavljena iz datuma. Suprotno je od greške zvane previše }, i kao rezultat daje \maketitle pokušavajući da formatira naslov stranice dok LaTeX idalje očekuje više teksta za datum! Dok \maketitle stvara novi paragraf na označenoj naslovnoj strani, ovo je pronađeno i LaTeX se žali da je prethodni paragraf završen, ali \date nije još završen.

Potpuna hkutija[uredi]

	
Потпуна \hbox (badness 1394) у параграфу
at lines 28--30
[][]\LY1/brm/b/n/10 Bull, RJ: \LY1/brm/m/n/10
Ac-count-ing in Busi-
[94]

Ovo je upozorenje koje LaTeX ne može razvuče liniju dovoljno široku da stane, ne čineći razmake većim nego što su trenutno dozvoljeni. Pokvarenost (0-10,000) pokazuje koliko je ovo strogo (ovde se može ignorisati pokvarenost od 1394). Govori koje linije vašeg foldera su podešena za kucanje kada je pronađeno ovo, i broj u kvadratnim zagradama je broj strane na kome je uvređena linija ištampana. Kodovi odvojeni crticama su slogovi i stil fonta i veličina se koristi u liniji. Ignorišite ih za trenutak.

Ovo dolazi ako koristite prelom reda, npr., \\, i imate razmak pre toga. Normalno TeX ignoriše prekide redova, pružajući pune paragrafe za nedoteran tekst. U ovom slučaju neophodno je da se izvede prelom reda nad jednom linijom na kraju prethodne rečenice.

Ovo upozorenje se može takođe pokazati kada se ubacuju slike. Može se izbeći korišćenjem \textwidth ili mogućom \linewidth opcijom, npr. \includegraphics[width=\textwidth]{image_name}

Napunjena hkutija[uredi]

[101]
Напуњена \hbox (9.11617pt преширока) у параграфу
при редовима 860--861
[]\LY1/brm/m/n/10 Windows, \LY1/brm/m/it/10 see
\LY1/brm/m/n/10 X Win-

Napunjeni \hbox znači da postoji povlačenje ili problem opravdanja: pomeranje poslednje reči linije bi učinilo razmake u liniji širim od trenutnog limita; zadržavanje reči na liniji bi učinilo razmake manjim od trenutnog limita, tako da je reč na levoj liniji, ali sa minimumom razmaka koji dozvoljen između reči, i koja čini da linija ide preko ivice.

Upozorenje je dato tako da možete naći liniju u kodu od koga potiče problem (u ovom slučaju: 860-861) i popraviti ga. Linija u ovom primeru je predugačka, preko 9pt. Izabrano povlačenje smanjuje grešku koja je prikazana na kraju linije (Win-). Brojevi linija i stranica su već dati. U ovom slučaju, 9pt je mnogo da bi se ignorisalo (preko 3mm), i potrebna je manuelna korekcija (kao promena povlačenja), ili podenjavanje fleksibilnost ima potrebu za promenom.

Ako "napunjena" reč uključuje kosu crtu, kao "input/output", ovo bi bilo tipično slaganje sloga "input\slash output". Korišćenjem \slash ima isti efekat kao korišćenje "/" karaktera, osim što ono može da formira kraj linije (sa pratećim rečima na startu sledeće linije). "/" karakter koji se tipično koristi u jedinicama, kao "mm/year" karakter, koji ne bi trebao da se rasturi preko više linija.

Upozorenje se takođe može razmatrati kada \end{document} oznaka nije uključena ili je izbrisana.

Lako primećivanje napunjenih hkutija u dokumentu[uredi]

Da biste lako pronašli lokaciju napunjene hkutije u vašem dokumentu, možete napraviti da latex ubaci crnu liniju gde je linija predugačka:

\overfullrule=2cm

Nedostajući paket[uredi]

! LaTeX Error: File `paralisy.sty' not found.
Укуцати X за излаз или <RETURN> за наставак,
или укуцајте ново име. (Default extension: sty)
Укуцати ново име:

Kada naiđete na \usepackage komandu da LaTeX zahteva korišćenje određenog paketa, tražiće fajl sa određenim imenom i tipom fajla.sty. In this case the user has mistyped the name of the paralist package, so it's easy to fix. Međutim, ako upišete ime kako treba, ali paket nije instaliran na vašem računaru, moraćete da skinete i instalirate da biste nastavili. Ako ne želite da utičete na globalnu instalaciju računara, možete jednostavno skinuti sa Interneta potrebni .sty fajl i staviti ga u isti folder dokumenta koji uređujete.

Upozorenje paketa babela: Nema podvučenih šablona koji se učitavaju za jezik H[uredi]

Iako je ovo upozorenje od strane Babel paketa, a ne od LaTeX-a, ova greška je česta i (može) daje neka čudna povlačenja (prekid reči) problema u vašem dokumentu. Netačno povlačenje pravila može smanjiti urednost vašeg dokumentaA

Упозорење пакета бабела: Нису учитани подвучени шаблони за
(babel)                језик `Латински'
(babel)                Користићу учитане шаблоне за \language=0 уместо тога.

Ovo se može desiti nakon korišćenja: (videti LaTeX/Internacionalizacija)

\usepackage[latin]{babel}

Rešnje nije teško, samo instalirajte jezik koji koristite u vašem LaTeX distribucija.

Greška paketa babela: Niste idalje učitali opciju H.[uredi]

Ako je prethodno podešen H jezik, i onda se odluči za promenu na Y, dobićete ovu grešku. Ovo može delovati nezgodno, pošto ne postoji greška u vašem kodu ako niste promenili ništa. Odgovor se nalazi u .aux fajl, gde babel definiše vaš jezik. Ako pokušate kompilaciju drugi put, trebalo bi da radi. Ako ne, izbrišite .aux file, onda će sve raditi kao uobičajno.

Nema greške, ali neće da kompajlira[uredi]

Jedan čest uzrok (pdf)LaTeX koji se zaglavljuje je zaboravljanje uključenja \end{document}

Softver koji može proveriti vaš .tex Code[uredi]

Postoje nekoliko programa koji imaju mogućnost prover LaTeX izvora, sa ciljem pronalaska grešaka ili naznačavanje loše prakse, i pružanje više pomoći (specijalno početnicima) korisnicima nego ugrađenim greškama.T


Prethodno: Oznake i referenciranje Indeks Sledeće: Dužine