Matemaatika ja statistika instituut
Logi sisse
  • English
  • Kursused
  • 2021/22 sügis
  • Matemaatilise teksti küljendamine (MTMM.00.328)

Matemaatilise teksti küljendamine 2021/22 sügis

  • Üldandmed
  • Korraldus
  • Praktikumid
  • Viited

Praktikum 2

Uus dokument vanal põhjal

Et iga kord uue dokumendi kirjutamist ei peaks päise kirjutamisega alustama, on mõttekas teha koopia mõnest juba eksisteerivast failist ja lähtekoodi keha lihtsalt ära kustutada. Käsureal on selleks käsk copy. Kui soovid kopeerida vaid jooksva kausta piires, piisab argumentidena failinimedest: copy vana.tex uus.tex. Kui soovid aga kopeerida ühest kaustast teise, on vaja ette anda mõlema faili tee (path). Võib anda absoluutse tee näiteks nii: copy "C:\Users\getter\latex\pr1\prax1.tex" "C:\Users\getter\latex\pr2\pax2.tex", kuid kui oletada, et jooksev kaust on näiteks latex, siis piisab ka relatiivse tee ette andmisest: copy "pr1\prax1.tex" "pr2\prax2.tex".

Teha praktikumi jaoks uus tühi failipõhi. Kasutada tekstitoimetit Notepad++. Vana faili sisust jätta alles ainult preambul (enne käsku \begin{document}) ja kustutada eelmine põhisisu (pärast käsku \begin{document}).
Meeldetuletuseks ka operatsioonid käsureal: kompileerimine latex failinimi ja vaatamine yap failinimi.

Mitmerealised valemid

Ava fail naidis4.pdf ning proovi samasugune tekst (alustades pärast joonist nr 12) vormistada LaTeXi abil.

Kasulikud teadmised:

  • \[...\] - matemaatiline valem eraldi real (ja keskele joondatud)
  • \sfrac - väike kaldmurd; vajab paketti xfrac
  • \begin{equation}...\end{equation} - nummerdatud valem (millele viitamist vaatame hilisemates praktikumides)
  • \begin{align}...&=...\\...&=...\end{align} - mitmerealine valem, kus ampersandid (&) tähistavad kohakuti jäävaid sümboleid ning "\\", nagu ikka, rea vahetust; vajab paketti amsmath
    • Selleks, et iga rea juurde uut numbrit ei tekiks, tuleb vastavate ridade ette lisada \nonumber
    • Nummerdamata mitmerealise valemi saamiseks kasuta \begin{align*} ... \end{align*}
  • Üksikjuhtudel saab reavalemile anda numbrit, mis ei sõltuks vastavast counter-ist: \tag
  • \int_{a}^{b}f(x)\,dx - integraal rajadega a-st b-ni funktsioonist f muutuja x-i järgi
  • \sum_{a}^{b} - summa a-st b-ni
  • a_{b} - ab
  • \xi - kreeka täht ksii; veel kreeka tähti tuleviku tarbeks
  • \in - element kuulub hulka
  • \left( ... \right) - sulud matemaatilises režiimis, mille suurus vastab sulgude sisse jääva valemiosaga
  • \dots või \cdots või \ldots - kolm punkti "..." (erinevus on muu tekstiga joondumises, pigem stiili küsimus millal millist varianti kasutada)

Kiirematele ka naidis5.pdf

Käsurea käsu üldkuju

Käsurea iga käsk on järgmisel kujul:

käsk lipud parameetrid

Siin käsk tähistab käsu nime, nagu näiteks latex, copy, dir jms. Käsuviibale sisseehitatud käsud, mis tegelevad kõige lihtsamate toimingutega, on sisekäsud (nt cd, dir, copy, del jne). Ülejäänud käsud on väliskäsud ja nende jaoks on tegelikult kettal olemas programm, mida käsu andmisel käivitatakse. Näiteks käsk latex käivitab tegelikult programmi c:\MiKTeX2.9\miktex\bin\latex.exe (täpne asukoht sõltub installatsioonist).

lipud tähistab (tavaliselt mittekohustuslikke) lüliteid, mida käsu töö täpsustamiseks antakse. Lülitid algavad sümboliga -, -- või /. Lüliti -h, --help või /? annab tavaliselt käsu kohta abiinfot.

parameetrid võimaldavad anda käsu täitmiseks vajalikke lähteandmeid, nt. sisendfailide nimed jmt.

Failivormingud

Seni oleme konverteerinud vaid .tex faile .dvi failideks. Vaatame, kuidas teisendada siit edasi .ps failiks ning seejärel .pdf failiks.

  1. Kui sa seda veel teinud ei ole, siis võta oma eelnevas punktis koostatud (poolik) dokument ning konverteeri see laiendiga .tex failist laiendiga .dvi faili käsuga latex fail.tex
  2. Konverteeri saadud .dvi fail laiendiga Postscript-failiks (laiend .ps), kasutades käsku dvips -o väljund.ps sisend.dvi
    • -o väljund.ps märgib väljundfaili nime (-o tähendab output). Kui väljundfaili nime ei täpsustata, saadetakse PostScripti sisu hoopis konsoolile.
    • käsule dvips on vaja parameetriks anda ette sisendfaili nimi (dvi-vormingus fail)
  3. Saadud Postscript-faili saad avada mitmesuguste programmidega:
    • Evince (ei tööta kõigil juhtudel)
    • GSView (vananenud)
    • Ghostscriptiga, kasutades lippu -sDEVICE=display
    • EPS Viewer, IrfanView (näitab ainult 1. lehekülge)
  4. PostScript üleüldiselt on printerikeel, see tähendab, et mistahes dokumendi saab konvertida PostScriptiks, teostades printimise sellise draiveriga, mille nimes esineb väljend "PostScript".
  5. Konverteeri saadud .ps fail .pdf failiks
    1. Ghostscripti kasutamiseks on vaja esmalt määrata tema "tee" (path). Selleks on mõistlik kasutada tabulaatorit - ilma ühtegi tähte ette andmata, saab läbi vaadata kõik kaustas paiknevad alamkaustad, dokumendid ja programmid. Andes aga ette üks või rohkem tähte, saab läbi vaadata vaid vastava tähekombinatsiooniga algavad kaustad, dokumendid ja programmid. Nõnda toimides saab tee kätte tõenäoliselt üsna kiiresti. Üks võimalik lõpptulemus on näiteks selline: "C:\Program Files\gs\gs9.50\bin\gswin64.exe"
    2. Käsureal määratud teele järgneb käsk -sDEVICE=pdfwrite -sOutputFile=väljund.pdf -sPAPERSIZE=a4 -dNOPAUSE -dBATCH sisend.ps
      • -sDEVICE=pdfwrite määrab väljundvormingu; näiteks on kasutusel veel ps2write, png16m, jpeg ja palju muud
      • -sPAPERSIZE=a4 määrab väljundi paberi suuruse; kasutusel on veel a3, a5, letter ja palju muud; endamääratud suuruse jaoks tuleb kasutada -dDEVICEWIDTHPOINTS=w -dDEVICEHEIGHTPOINTS=h, kus w ja h on paberi laius ja kõrgus punktides. 72 punkti võrdub 1 tolli ehk 2;54 sentimeetriga
      • -dNOPAUSE tähendab, et ühe lehekülje konverteerimise järel ei oodata kasutajalt Enter-klahvi vajutust
      • -dBATCH tähendab, et Ghostscriptist väljutakse kohe pärast konverteerimise lõppu (Ghostscript ei jää kasutajalt ootama edasisi käske)
      • Täiendavaid parameetreid (pole ammendav loetelu): PDF
      • Ghostscripti ametlik dokumentatsioon

Kõige sellega annab võrdväärse tulemuse käsk pdflatex fail.tex

Ülesanne

Eesmärgiks on 10-leheküljelise dokumendi muutmine nii, et kokkuvõttes saadaks 5-leheküljeline dokument, kus esialgse dokumendi lehed on vähendatult kahekaupa kokku pandud ühele leheküljele.

  1. Lae alla fail smm_dirichletov.tex
  2. Konverteeri see eelneva alapeatüki põhjal käskude latex ja dvips abil näiteks failiks smm.ps
  3. Paiguta 2 lehekülge ühe peale kasutades psnup -2 sisend.ps valjund.ps
  4. Konverteeri saadud väljundfail Ghostscripti abil pdf-failiks

Käsufailid

Eelmises punktis oli vaja teha mitu sammu käsureal enne lõpptulemuseni jõudmist. Mõnikord on aga käsurea avaldised pikad ning nende meeldejätmine ja kirjutamine aeganõudev (eriti kui on vaja töö tegemise jooksul mitu korda samu käske samas järjekorras kasutada). Sellistel juhtudel on mõistlik kasutada käsufaile (batch file). Käsufaile saab vormistada Notepad++is kirjutades vajalikud käsurea avaldised õiges järjekorras üksteise alla ning salvestades selle laiendiga .bat või .cmd. Siis piisab edaspidi vaid käsureale selle faili kirjutamisest, et kõik sammud ära tehtaks.
Iga keerukam käsufail peaks sisaldama ka kommentaare. Kommentaarid antakse käsuga rem, näiteks rem Nüüd algab kopeerimise osa

Teine võimalus on kasutada käsku echo. Käsk echo kirjutab tema järele kirjutatud teksti lihtsalt konsoolile tagasi. Seda saab aga suunamisoperaatorite abil suunata mujale edasi, kas faili või mõne järgmise käsu sisendiks.
Kasutatakse järgmisi operaatoreid:

  • > – suunab väljundi faili
  • | – suunab väljundi järgmise käsu sisendiks (konveier ehk toru [pipe])
    • Näiteks
      • echo load("draw"); draw2d(file_name="tere", terminal=pdf, explicit(x**2, x, -3, 3)); | "c:\Program Files (x86)\Maxima-5.34.1\bin\maxima.bat" programmile "maxima" suunatakse teatavad käsud, mis joonistavad ruutparabooli {$y=x^2$}, kus {$x\in[-3,3]$}
      • ( echo \documentclass{article} \begin{document} & ( for /L %x in (1,1,100) do @echo %x ) & echo \end{document} ) | latex -job-name=arvud -- täidab järjest käsud "kirjuta väljundisse \documentclass{article} \begin{document}", "tsükkel 1-st 100-ni, väljundisse tsüklimuutuja", "kirjuta väljundisse \end{document}" ning saadud väljund läheb programmile "latex" sisendiks, tulemusena saadakse fail arvud.dvi, mille sisuks on arvud 1-st 100-ni
  • >> – suunab väljundi olemasolevale failile lõppu juurde
    • Näiteks
      • echo uus rida >> smm.bat lisab allolevale failile juurde rea "uus rida".

Eelmise ülesande käsufail (nt smm.bat) võib välja näha umbes selline:
latex smm_dirichletov.tex
dvips -o smm.ps smm_dirichletov.dvi
psnup -2 smm.ps smm2.ps
"C:\Program Files\gs\gs9.15\bin\gswin64.exe" -sDEVICE=pdfwrite -sOutputFile=smm2.pdf -dNOPAUSE -dBATCH smm2.ps

Kodus

Installi oma arvutisse Ghostscript näiteks siit: https://www.ghostscript.com/

Installi oma arvutisse Evince näiteks siit: https://wiki.gnome.org/Apps/Evince


Proovi lõpetada tunnis pooleli jäänud tööd

  • Matemaatika ja statistika instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.