Pamoka 5

Dokumentų klasės

Ši pamoka paaiškina, kas yra dokumentų klasė ir kaip ji gali įtakoti išeities dokumento išvaizdą, pristatomos pagrindinės LaTeX klasės.

Galbūt pastebėjote, kad visi LaTeX dokumentai, pateikti mūsų pavyzdžiuose, prasidėjo nuo \documentclass eilutės ir kad \documentclass{article} buvo dažniausias variantas. (Mums prireikė \documentclass{report} ankstesnėje pamokoje išbandyti \chapter komandą.) Ši eilutė yra būtina visuose LaTeX dokumentuose ir (beveik) visada yra pirmoji privaloma LaTeX komanda.

Ką daro dokumentų klasė

Dokumentų klasė nustato bendrą dokumento išvaizdą, pavyzdžiui:

Dokumentų klasės taip pat apibrėžia naujas bendras LaTeX komandas; tai ypač pasakytina apie specialius atvejus, kaip klasės pateikties skaidrėms ar laiškams.

Dokumentų klasės eilutė gali taip pat nustatyti parinktis, bendras visam dokumentui. Jos pateikiamos laužtiniuose skliaustuose: \documentclass[<parinktys>]{<klasė>}. Ši sintaksinė forma, su neprivaloma informacija laužtiniuose skliaustuose po komandos, bet prieš privalomus argumentus, yra bendrai naudojama daugelyje LaTeX komandų.

Bazinės klasės

LaTeX visada turi nedidelę aibę standartinių klasių, turinčių tarpusavyje daug bendro, nors su tam tikromis variacijomis:

Klasės article, report ir book apibrėžia labai panašias komandų aibes. Komandos rašyti korespondencijai iš letter klasės yra kiek kitokios:

\documentclass{letter}
\usepackage[T1]{fontenc}
\begin{document}

\begin{letter}{Some Address\\Some Street\\Some City}

\opening{Dear Sir or Madam,}

The text goes Here

\closing{Yours,}

\end{letter}

\end{document}

Pastebėkite, kaip \\ atskiria adreso eilutes; mes pažvelgsime į eilučių laužymą kiek vėliau. Taip pat pastebėkite, kad letter klasė turi aplinką letter kiekvienam atskiram laiškui ir kitas specialias komandas.

Standartinės klasės article, report ir book priima parinktis 10pt, 11pt ir 12pt, surinktas neprivalome documentclass argumente, kad pakeisti pagrindinio teksto šrifto dydį (ir kai kuriuos kitus susijusius dydžius), taipogi twocolumn, kad išvesti dokumentą dviem kolonėlėmis (kelios parinktys atskiriamos kableliais).

Klasės su papildomomis galimybėmis

Pagrindinės klasės yra labai stabilios, tačiau tai reiškia, kad jos taip pat yra gana konservatyvios tiek dizaino, tiek komandų keitimo požiūriu. Laikui bėgant buvo parašyta keletas lankstesnių klasių, leidžiančių jums pakeisti dizainą, neperprogramuojant jo rankiniu būdu (ką mes panagrinėsime šiek tiek vėliau).

Amerikos matematikų draugija (American Mathematical Society, AMS) paruošė standartinių klasių variantus (amsart, amsbook) su dizainu būdingu tradicinėms matematikos mokslo publikacijoms.

Didžiausios ir populiariausios „išplėstinės“ klasės yra iš KOMA-Script rinkinio ir klasė memoir. KOMA-Script siūlo atitikmenis standartinėms klasėms: scrartcl, scrreprt, scrbook, ir scrlttr2. Klasė memoir yra atskira ir labiausiai primena book klasės išplėtimą.

Šiose išplėstinėse klasėse yra paruošta daug keitimams patogių „kablių“ (hooks), kai kuriuos parodysime pratimuose. Gali kilti klausimas, kaip galite žinoti apie jų pateiktus kablius; mes rašysime apie tai vėlesnėje pamokoje, bet jūs visada galite žvilgtelėti į ateitį!

Pristatymai

Klasė slides buvo sukurta ruošti fizinėms skaidrėms 1980-tųjų viduryje, todėl nepateikia jokių priemonių kurti interaktyvius PDF pristatymus. Bet yra modernios klasės, skirtos būtent tam; kadangi jos yra pakankamai specializuotos, lyginant su bendrų LaTeX dokumentų klasėmis, tai bus pristatytos papildomoje pamokoje.

Pratimai

Ištirkite, kaip dokumento klasės pakeitimas iš standartinės į vieną iš KOMA rinkinio ar į memoir klasę paveikia išvesties dokumento išvaizdą.

\documentclass{article} % Pakeiskite klasę čia
\usepackage[T1]{fontenc}

\begin{document}

\section{Introduction}

This is a sample document with some dummy
text\footnote{and a footnote}. This paragraph is quite
long as we might want to see the effect of making the
document have two columns.

\end{document}

Pridėkite klasės parinktį twocolumn ir pamatykite, kaip pasikeitė išdėstymas.

Pakeiskite komandą \section į \chapter ir suraskite, ką paveikia toliau išvardintos parinktys, panaudotos kartu su scrreprt klase: