LaTeX/Posebni znakovi

Izvor: Викикњиге
Idi na navigaciju Idi na pretragu
LaTeX logo.svg

LaTeX

Početak
  1. Uvod100% završen  Dec 13, 2015
  2. Instalacija100% završen  Dec 13, 2015
  3. Instalacija dodatnih paketa 100% završen  Dec 13, 2015
  4. Osnove 100% završen  Dec 13, 2015
  5. Kako pronaći pomoć 100% završen  Dec 13, 2015

Zajednički elementi

  1. Struktura dokumenta 100% završen  Dec 28, 2015
  2. Formatiranje teksta 100% završen  Dec 27, 2015
  3. Formatiranje paragrafa 100% završen  Jan 02, 2016
  4. Boje 100% završen  Jan 10, 2016
  5. Slova100% završen  Jan 10, 2016
  6. Struktura listi 100% završen  Jan 10, 2016
  7. Posebni znakovi 100% završen  Jan 10, 2016
  8. Internacionalizacija 100% završen  Jan 10, 2016
  9. Rotacija 100% završen  Jan 10, 2016
  10. Tabele 100% završen  Jan 10, 2016
  11. Stvaranje naslova 100% završen  Jan 10, 2016
  12. Raspored strane 100% završen  Jan 10, 2016
  13. Uvoz grafike 100% završen  Jan 10, 2016
  14. Figure i natpisi100% završen  Jan 10, 2016
  15. Fusnote i Margine100% završen  Jan 10, 2016
  16. Hiperlinkovi 100% završen  Jan 10, 2016
  17. Oznake i referenciranje100% završen  Jan 10, 2016

Mehanika

  1. Greške i upozorenja 75% završen  Jan 02, 2016
  2. Dužine 100% završen  Jan 02, 2016
  3. Brojači 100% završen  Jan 02, 2016
  4. Kutije 100% završen  Jan 02, 2016
  5. Pravila i nosači 100% završen  Jan 02, 2016

Tehnički tekstovi

  1. Matematika100% završen  Jan 10, 2016
  2. Naprednija matematika 75% završen  Jan 10, 2016
  3. Teoreme
  4. Hemijska grafika 75% završen  Jan 02, 2016
  5. Algoritmi 75% završen  Jan 02, 2016
  6. Listiranje izvornog koda 100% završen  Jan 02, 2016
  7. Lingvistika 75% završen  Jan 02, 2016

Posebne strane

  1. Indeksiranje 75% završen  Jan 02, 2016
  2. Rečnik 75% završen  Jan 02, 2016
  3. Upravljanje bibliografijom‎ 75% završen  Jan 10, 2016
  4. Više bibliografije

Posebni dokumenti

  1. Pisma 50% završen  Jan 02, 2016
  2. Prezentacije 75% završen  Jan 02, 2016
  3. Učiteljski deo 75% završen  Jan 10, 2016
  4. Kratka biografija 50% završen  Jan 02, 2016

Kreiranje grafika

  1. Predstavljanje proceduralnih grafika 100% završen  Jan 02, 2016
  2. MetaPostovi 0% završen  Jan 02, 2016
  3. Slika 50% završen  Jan 02, 2016
  4. PGF/TikZ 25% završen  Jan 02, 2016
  5. PSTricks 50% završen  Jan 02, 2016
  6. Xy-pic 25% završen  Jan 02, 2016
  7. Pravljenje 3D grafika 75% završen  Jan 02, 2016

Programiranje

  1. Makroi 100% završen  Jan 10, 2016
  2. Običan TeH‎ 100% završen  Jan 10, 2016
  3. Kreiranje paketa 100% završen  Jan 10, 2016
  4. Teme 75% završen  Jan 10, 2016

Razno

  1. Modularni Dokumenti 100% završen  Jan 10, 2016
  2. Zajedničko pisanje LaTeX dokumenata 75% završen  Jan 10, 2016
  3. Otpremanje u druge formate 100% završen  Jan 10, 2016

Pomoć i preporuke

  1. Najčešće postavljana pitanja 100% završen  Jan 10, 2016
  2. Saveti i trikovi 75% završen  Jan 10, 2016

Dodaci

  1. Autori 0% završen  Jan 10, 2016
  2. Linkovi 0% završen  Jan 10, 2016
  3. Oznake paketa 0% završen  Jan 10, 2016
  4. Primeri LaTeX dokumenata 0% završen  Jan 10, 2016
  5. Indeks 0% završen  Jan 10, 2016
  6. Rečnik naredbi 0% završen  Jan 10, 2016

U ovom poglavlju bavićemo se pitanjima u vezi sa ulaznim kodiranjem, dijakritičnim znakovima sleganja sloga i posebnim znakovima.

U sledećem dokumentu, pozivaćemo se na posebne znakove za sve simbole izutev A-Za-z0-9 i engleskih znakova interpukcije.

Ovo poglavlje je usko vezano sa pitanjem kodiranja slova. Trebalo bi da pogledate Slova za ovu temu.

Nekim jezicima je često potreban namenski sistem unosa da bi olakšali pisanje dokumenta. Ovo je slučaj sa Arapskim, Kineskim, Japanskim, Korajanskim i drugim jezicima. Sa ovim pitanjem smo se posebno uzeli u koštac u internacionalizaciji.

Pravila za proizvodnju znakova sa dijakritičnim oznakama, kao što su akcenti, donekle se razlikuju u zavisnosti od toga da li ste u tekstualnom režimu, matematičkom režimu, ili okruženju označavanja.

Kodiranje ulaza[uredi]

Tehničko pitanje[uredi]

Većina modernih računarskih sistema vam dozvoljava da unosite slova nacionalnih pisama direktno sa tastature. Ako ste pukušali da unesete ove specijalne znakove u vašoj LaTeX izvornoj datoteci i kompajlirate, možda ste primetili da se oni uopšte ne štampaju.

LaTeX izvorni dokument je običan tekst fajl. Računar čuva informacije u binarnom formatu, ovo je sekvenca bitova (0 i 1). Da bismo prikazali običnu tekst datoteku, potreban nam je kod koji govori koja sekvenca bitova odgovara kojoj sekvenci znakova. Ova asocijacija se naziva kodiranje ulaza, kodiranje znakova, ili više neformalno charset.

Iz istoriskih razloga, postoje mnoga različita kodiranja ulaza. Postoji pokušaj ujedinjavanja svih kodiranja sa specifikacijom koja sadrži sve postojeće simbole koju su poznati iz ljudske istorije. Ova specifikacija je Unikod. Ona samo definiše tačke kodova, koje su vrojevi za simbole, ali ne način na koji su simboli zastupljeni u binarnom vrednošću. Zato, su unikod kodiranja glavna. Postoje više dostupnih unikod kodiranja, UTF-8 je jedan od njih.

ASCII kodiranje je kodiranje koje definiše 128 znakova na 7 bitova. Njegova široka primena je dovela do toga da velika količina kodiranja ima kompatabilnost sa ASCII, definisanjem prvih 128 znakova na isti način. Ostali znakovi se dodaju korišćenjem više bitova (8 ili više).

Ovo je zapravo veliki problem, pošto ako ne koristite tačna kodiranja da biste prikazali datoteku, pokazaće vam čudne znakove. Šta većina programa pokušava da uradi je da statistički pogodi kodiranje tako što će da analizira česte sekvence bitova. nažalost, ovo nije 100% bezbedno. Neki editori teksta se neće brinuti o pogađanju kodiranja i samo će koristiti uobičajeno kodiranje OS-a. Trebate uzeti u obzir da drugi ljudi možda neće biti u mogućnosti da direktno prikažu vaše ulazne datoteke na svojim računarima, zato što je uobičajeno kodiranje za tekst datoteku različito. Ovo neznači da korisnik ne može da koristi drugo kodiranje, pored uobičajenog, već samo znači da mora biti konfigurisano. Na primer, nemački preglas ä na OS/2 je kodiran kao 132, sa Latin1 je kodiran kao 228, dok u Cyrillic kodiranju cp1251 ovo slovo ne postoji uopšte. Zato trebate da razmislite o opreznom kodiranju.

Sledeća tabela pokazuje uobičajena kodiranja za neke operativne sisteme.

Operativni sistem Uobičajeno kodiranje
Zapadna latinica Ćirilica
Modejni juniksi (*BSD, Mak OS X, GNU/Linuks) utf-8 utf-8
Mak (pre OS X) applemac maccyr
Juniks (stari) latin1 koi8-ru
Vindous ansinew, cp1252 cp1251
Dos, OS/2 cp850 cp866nav

UTF-8 i Latin1 nisu kampatibilni. To znači da ako pokušate da otvorite Latin1-kodiranu datoteku koristeći UTF-8 dekodiranje, pokazaće vam čudne sibole samo ako ste koristili akcente, pošto su oba kodiranja ASCII nadskupa oni kodiraju klasična slova na isti način. Ne postoje mnoge prednosti u korišćenju Latin1 nad UTF-8, koje je tehnički superiorniji. UTF-8 takođe postaje najšire korišćeno kodiranje (Na internetu, u modernim Juniksima, itd.).

Bavljenje LaTeX-om[uredi]

TeX koristi ASCII po normali. Ali 128 znakova nije dovoljno za podršku ne-engleskih jezika. TeX ima svoj način da reši ovaj problem sa kamndama za svako dijakritičko obeležavanje (pogledaj Odbegle kodove). Ali ako su nam potrebni akcenti i i drugi specijalni znakovi direktno u izvornoj datoteci, mi moramo da kažemo TeX-u da želimo da koristimo različito kodiranje.

Postoje nekoliko kodiranja dostupnih LaTeX-u:

  • ASCII: Uobičajeno. Samo nagi engleski znakovi su podržani u izvornoj datoteci.
  • ISO-8859-1 (takođe poznat i kao Latin 1): osmobitno kodiranje. Podržava većinu znakova za latinične jezike, ali to je sve.
  • UTF-8: Unikod višebajtno kodiranje. Podržava kompletnu unikod specifikaciju.
  • Drugi...

U nastavku ćemo pretpostaviti da želite da koristite UTF-8.

Postoje neki bitni koraci za specifikaciju kodiranja.

  • Uverite se da vaš tekstualni editor dekodira datoteku u UTF-8.
  • Uverite se da sačuva vašu dartoteku u UTF-8. Većina tekstualnih editora ne prave ovu razliku, ali neki prave, na primer Notepad++.
  • Ako radite u terminalu, vodite računa da je podešen da podržava UTF-8 ulaz i izlaz. neki stari Juniks terminali možda ne podržavaju UTF-8. PuTTY nije podešen da koristi UTF-8 po normali, morate da ga konfigurišete.
  • Recite LaTeX-u da je izvorna datoteka UTF-8 kodirana.
\usepackage[utf8]{inputenc}

inputenc [2] paket govori LaTeX-u koji je format kodiranja teksta vaših .tex datoteka.

Inputenc paket takođe dozvoljava korisniku da promeni kodiranje unutar dokumenta pomoću komande \inputencoding{'ime kodiranja'}.

\usepackage[utf8]{inputenc}
% ...
% У овој области
% UTF-8 кодирање је наведено.
% ...
\inputencoding{latin1}
% ...
% Овде кодирање текста је наведено као ISO Latin-1.
% ...
\inputencoding{utf8}
% Назад на UTF-8 кодирање.
% ...

Proširenje podrške[uredi]

LaTeX podrška za UTF-8 je prilično specifična: ona uključuje samo ograničen opseg unikod ulaznih znakova. Samo definiše one simbole za koje se zna da budu dostupni sa sadašnjim kodiranjem slova. Možete se naći u situaciji gde korišćenje UTF-8 može dovesti do greške:

! Package inputenc Error: Unicode char \u8:ũ not set up for use with LaTeX.

Ovo je zbog toga što utf8 definicija nužno nema mapiranje svih znakovnih simbola koje ste vi u stanju da uneseta na vašoj tastaturi. Takvi znakovi su na primer

ŷ Ŷ ũ Ũ ẽ Ẽ ĩ Ĩ

U tom slučaju, možda trebate da koristite utf8x opciju da definišete više znakovnih kombinacija. utf8x nije zvanično podržan,ali može biti dobar u nekim slučajevima. Međutim možda prekine kompatabilnost sa nekim paketima kao što su csquotes.

Druga mogućnost je da se držite utf8 i da definišete znakove sami. Ovo je lako:

\DeclareUnicodeCharacter{'codepoint'}{'TeX sequence'}

gde codepoint je unikodov pozicija koda željenog znaka. TeX sequence je ono što je za štampanje kada se znak koji se slaže sa pozicijom koda pronađe. Ovde možete naći pozicije kodova site. Pozicije kodova se lako istražuju na internetu. Primer:

\DeclareUnicodeCharacter{0177}{\^y}

Sada će unos 'ŷ' efektivno štampati 'ŷ'.

Sa XeTeX i LuaTeX, inputenc paket više nije potreban. Oba programa podržavaju UTF-8 direktno i dozvoljavaju upotrebu TTF i OpenType slova da podrže unikod znakove. Pogledajte slova odeljak za više informacija.

Odbegli kodovi[uredi]

Pored direktnog UTF-8 ulaza, LaTeX podržava sastav specijalnih znakova. Ovo je zgodno ako vašoj tastaturi nedostaju željeni akcenti i drugi dijakritični znakovi.

Sledeći akcenti mogu biti postavljeni nad slovima. Iako se slovo 'o' u većini ovih primera, akcenti mogu biti postavljeni na bilo koje slovo. Akcenti mogu biti čak i postavljeni iznad slova "koje nedostaje"; na primer, \~{} proizvodi tildu iznad praznog prostora.

Sledeće komande se mogu koristiti samo u paragrafskom (uobičajenom) ili LD (levo-desno) režimu.

LaTeX komanda Uzorak Opis
\`{o} ò grave akcenat
\'{o} ó akut
\^{o} ô cirkumfleks
\"{o} ö preglas, ili trema
\H{o} ő dugačak mađarski preglas (dupli oštri)
\~{o} õ tilda
\c{c} ç sedilja
\k{a} ą ogonek
\l{} ł štraftasto l (l sa crtom)
\={o} ō makron akcenat (crta iznad slova)
\b{o} o crta ispod slova
\.{o} ȯ tačka iznad slova
\d{u} tačka ispod slova
\r{a} å kružić iznad slova (za å postoji posebna komanda \aa)
\u{o} ŏ breve preko slova
\v{s} š ("v") iznad slova
\t{oo} o͡o "veza" (preokrenuto u) preko dva slova
\o ø precrtano o (o sa kosom crtom preko)

Da postavite dijakritički znak iznad i ili j, tačkica mora biti uklonjena. verzija bez tačke ovih slova se postiže tako što ćete uneti \i i \j. Na primer:

  • \^\i treba koristiti za i cirkumfleks 'î';
  • \"\i treba koristiti za i preglas 'ï'.

Ako bi dokument trebao kompletno da se napiše u jeziku kome su potrebni posebni dijakritični znaci nekoliko puta, onda korišćenje odgovarajuće konfiguracije dozvoljava dozvoljava ovim znakovima da budu napisani direktno u dokumentu. na primer, da bismo postigli lakše kodiranje of preglasa, babel paket se može konfigurisati kao \usepackage[german]{babel}. ovo obezbeđuje kraće "o za \"o. Ovo je veoma korisno ako je nekom potrebno da koristi tekstualne akcente u oznakama, pošto obrnuta kosa crta neće biti prihvaćena inače.

Više informacija o jezičkim konfiguracijama se može pronaći na internacionalizacija odeljku.

Manje < i veće >[uredi]

Dva simbola '<' i '>' su ustvari ASCII simboli, ali ste možda primetili da će se oni štampati kao '¡' i '¿'. Ovo je problem kodiranja slova. Ako želite da oni štampaju svoje prave simbole, moraćete da koristite drugo kodiranje slova kao što je T1, učitano sa fontenc paketom. Pogledajte slova za više detalja o kodiranju slova.

Alternativno, oni se mogu štampati sa posvećenim komandama:

\textless
\textgreater

Evro simbol valute[uredi]

Prilikom pisanja o novcu ovih dana, potreban vam je znak evra. textcomp paket dolazi sa \texteuro komandom koja vam daje simbol evra uparen sa vašim trenutnim sloviam teksta. U zavisnosti od slova koja ste izabrali ovo može biti poprilično daleko od zvaničnog simbola.

Zvanična verzija simbola evra je obezbeđena od strane eurosym. Učitajte ga u preambuli (opcionalno sa official izborom):

\usepackage[official]{eurosym}

Onda ga možete ubaciti sa \euro{} komandom. Konačno, ako želite simbol evra koji se poklapa sa trenutnim stilom slova (npr, podebljana, kurzivna, itd.) možete da koristite drugu opciju:

\usepackage[gen]{eurosym}

opet možete da ubacite simbol evra sa \euro{}.

Alternativno možete da koristite marvosym paket koji takođe pruža zvanični simbol evra.

\usepackage{marvosym}
% ...

\EUR{}

Sada kada ste uspeli sa štampanjem znaka evra, možda želite da dugme '€' na vašoj tastaturi stvarno štampa znak eura kao gore. Postoji jednostavan način da to i uradite. Morate se uveriti da koristite UTF-8 kodiranje zajedno sa radećom \euro{} ili \EUR{}komandom.

\DeclareUnicodeCharacter{20AC}{\euro{}}
% or
\DeclareUnicodeCharacter{20AC}{\EUR{}}

Kompletan primer:

\usepackage[utf8]{inputenc}
\usepackage{marvosym}
\DeclareUnicodeCharacter{20AC}{\EUR{}}

Stepen, simbol za temperaturu i metematiku[uredi]

Najlakšti način da štampate temperaturne i ugaone vrednosti je da koristite \SI{value}{unit} komandu iz siunitx paketa, koja radi i u tekstualnom i u matematičkom režimu:

\usepackage{amsmath}
\usepackage{siunitx}
%...

\SI{45}{\degree} угао.

Напоље је $\SI{17}{\degreeCelsius}$.

Za više informacija , pogledajte dokumentaciju siunitx paketa.

Česta greška je koristiti \circ komandu. ona neće štampati ispravne znakove (iako $^\circ$ hoće). Koristite textcomp paket umesto prethodnog, koji obezbeđuje \textdegree komandu.

\usepackage{textcomp}
%...

$45$\textdegree угао.

Za temperaturu, možete da koristite istu komandu ili da se odlučite za gensymb paket i napišite

\usepackage{gensymb}
\usepackage{textcomp}
%...

17\,\celsius % најбоље (са textcomp)

Neke tastature imaju simbol za stepen, možete ga koristiti direktno ako koristite UTF-8 i textcomp. Za bolje rezultate (kvalitet slova) preporučujemo vam upotrebu odgovarajućih slova, kao što su lmodern:

\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{textcomp}

% ...

17\,°C

17\,% најбоље

Drugi simboli[uredi]

LaTeX ima mnogo simbola na raspolaganju. Većina njih su u domenu matematike, u kasnijim poglavljima ćemo pokriti kako da prostupimo njima. Za opšte tekstualne simbole, koristite sledeće komande:

Komanda Uzorak znak
\% %
\$ $
\{ {
\_ _
\P
\ddag n/a
\textbar n/a |
\textgreater >
\textendash n/a
\texttrademark n/a
\textexclamdown n/a ¡
\textsuperscript{a} a
\pounds n/a £
\# #
\& &
\} }
\S §
\dag n/a
\textbackslash n/a \
\textless <
\textemdash n/a
\textregistered n/a ®
\textquestiondown n/a ¿
\textcircled{a} n/a
\copyright n/a ©

Ne pomenutoj u tabeli, tilda (~) se koristi u LaTeX kodu da proizvede ne-slomljiv prostor. Da dobijete odštampan znak tilda, napišite \~{} ili \textasciitilde{}. A vidljiv razmak se može napraviti sa \textvisiblespace.

Za neke interesantnije simbole, postskriptum ZipfDingbats slova su naraspolaganju zahvaljujući pifont paketu. Dodajte izjavu na vašoj preambuli: \usepackage{pifont}. Zatim, će komanda \ding{number}, odštampati naveden simbol.

U posebnim okruženjima[uredi]

Matematički režim[uredi]

Nekoliko od prethodnih i neki slični akcenti mogu takođe biti proizvedeni u matematičkom režimu. Sledeće komande se mogu koristiti samo u matematičkom režimu.

LaTeX komanda Uzorak Opis Ekvivalente u tekstualnom režimu
\hat{o} cirkumfleks \^
\widehat{oo} šira verzija \hat preko više slova
\check{o} vee ili znak štikliranja \v
\tilde{o} tilda \~
\widetilde{oo} šira verzija \tilde preko više slova
\acute{o} akut \'
\grave{o} grave akcenat \`
\dot{o} tačka iznad slova \.
\ddot{o} dve tačke iznad slova (preglas u tekstualnom režimu) \"
\breve{o} breve \u
\bar{o} makron \=
\vec{o} vektor (strela) preko slova

Prilikom primene akcenata nad slovima i i j, možete da koristite \imath i \jmath da nebi dozvolili da se tačke mešaju sa akcentima:

LaTeX komanda Uzorak Opis Uzorak sa gornjom tačkom
\hat{\imath} cirkumfleks nad slovom i bez gornje tačke
\vec{\jmath} vektor (strela) iznad slova j bez gornje tačke

Okruženje uvlačenja teksta[uredi]

Neki od znakova akcenata korišćeni u tekstu imaju drugu primenu u okruženju uvlačenja teksta. U tom slučaju oni mogu biti napravljeni sa sledećom komandom:

  • \a' za akut
  • \a` za grave akcenat
  • \a= za makron akcenat

Unikod ulaz tastature[uredi]

neki operativni sistemi pružaju tastaturnu kombinaciju za unošenje bilo koje unikod tačke koda, takozvanog unikod sastavni ključ.

Mnoge X aplikacije (*BSD i GNU/Linuks) podržavaju Ctrl+Shift+u kombinaciju.'u' simbol bi trebalo da se pojavi. unesite kod tačke i pritisnite enter ili space da bi stvarno odštampali znak. Primer:

<Ctrl+Shift+u> 20AC <space>

će odštampati znak evra.

Desktop okruženja kao što su GNOME i KDE mogu da imaju svojstvo prilagodljivog sastavnog ključa za zapamtljivije sekvence.

Xorg poseduje napredne izglede tastatura sa varijantama koji vam omogućavaju da lako unesete dosta znakova sa kombinacijom korišćenjem odgovarajućeg modifikatora, kao što je Alt Gr. To u mnogome zavisi od izabranih izgleda-varijanti, tako da vam mi predlažemo da se malo igrate sa vašom tastaturom, tako što ćete da pritisnete svako dugme dok držite pritisnuti Alt Gr modifikator.

Spoljašnje veze[uredi]

Napomene i reference[uredi]

  1. Za kratko objašnjenje o skupovima znakova, pogledati ovaj članak na Džoel Spolskijevom blogu.
  2. Za detaljne informacije o ovom paketu, pogledajte kompletna specifikacija napisana od strane autora paketa.


Prethodno: Struktura listi Indeks Sledeće: Internacionalizacija