Kursmomentet Latex TEX Tau Epsilon Xi Skrivs TeX om man inte kan åstadkomma den riktiga symbolen. TEX är skapat av Donald E Knuth för sättning av»beautiful books», särskilt matematisk text och ursprungligen The art of computer programming. Litteratur Donald E Knuth. 1984. The TEXbook. Addison & Wesley. TUGboat nyhetsblad för TEX Users Group. CSCs systemgrupps webbsidor för TEX. Helmut Kopka och Patrick W Daly. 2004. Guide to LATEX. Upplaga 4. Addison & Wesley. Lärobok i L A TEX. Frank Mittelbach och Michel Goossens. The LATEX Companion. Upplaga 2. Addison & Wesley. Boken handlar främst om olika paket. Michel Goossens, Sebastian Rahtz och Frank Mittelbach. 1997. The LATEX Graphics Companion. Addison & Wesley. Michel Goossens och Sebastian Rahtz. The LATEX Web Companion. 1999. Addison & Wesley. TEX och LATEX TEX är ett makrospråk och ett program. Knuth gjorde från början en samling TEX-makrodefinitioner för allmän typografi, PlainTEX. Sedan kom idén med märkspråk dvs. att skilja struktur och utformning. Med dessa idéer gjorde Leslie Lamport en ny uppsättning makrodefinitioner, L A TEX. Numera finns ett utvecklingsprojekt för L A TEX, http://www.latex-project.org /latex3.html och aktuell version heter
L A TEX 2ε. Det finns en användargrupp för TEX, TUG (TEX Users Group). TEX finns för de flesta plattformar och är normalt gratis. På TUGs webbplats, http://www.tug.org/, kan man hitta information om implementationer. TUG har ett arkiv med TEX-relaterat material, CTAN (Comprehensive TEX Archive Network). TEX används mycket i den akademiska värden, särskilt där formler är en viktig del, men TEX används också i många andra sammanhang. Viktiga egenskaper är att det är gratis och flexibelt. Några har redan använt TEX och kursen ska ge»lite till». Inledande exempel Pytagoras Ett L A TEX-manus innehåller dokumentets text och kommandon. Det finns ett antal specialtecken: \ kommandotecken { och } grupptecken $ formeltecken # parametertecken & tabulatortecken _ indextecken ^ exponenttecken % kommentartecken ~ bindeblank Ett ordkommando är \ följt av en eller flera bokstäver fram till nästa icke-bokstav. L A TEX ignorerar blanka efter ordkommando. Ett teckenkommando är \ följt av ett tecken som inte är bokstav. Ett tecken, t.ex. ~, kan också vara ett kommando. Vissa kommandon har parametrar som omges med grupparenteser. Den första parametern kan vara frivillig och omges med []: hakparenteser.
\documentclass[a4paper,11pt]{article} \usepackage{graphicx} \usepackage{amssymb} \usepackage[swedish]{babel} \usepackage[t1]{fontenc} \usepackage[latin1]{inputenc} \title{rektangelns diagonal} \author{pelle Murvel} %hemvist, e-adress \begin{document} \maketitle \begin{abstract}\noindent En revolutionerande upptäckt innebär att våra lantmätare och bygg\-mästare inte längre måste rita alla konstruktioner utan kan göra några några mätningar och räkna ut konstruktionsdelarnas mått. \end{abstract} \section*{bakgrund} Euklides har funnit ett nytt samband som nog kan komma att revolutionera yrkesverksamheten inom många områden. Han presenterar resultatet sin nya bok \emph{elementa} och kallar det Pytagoras' sats (f. \(-569\)) efter den som tipsade honom om formeln. \subsection*{behoven} Såväl inom lantmäteriet som byggnadsverksamheten behöver man ta reda på diagonalen i en rektangel när man känner sidorna eller det lutande planets längd när man känner längd och höjd. Hittills har man oftast byggt en modell och mätt på denna eller mätt på en i sanden ritad konstruktion. \section*{den nya formeln} För att beräkna diagonalen i en rektangel behöver man sidornas mått, \(a\) och \(b\). Diagonalen, \(c\), ges då av \(c=\sqrt{a^2+b^2}\). Formeln är kanske lättare att minnas på formen \[c^2=a^2+b^2\] \section*{litteratur} Euklides. (ung. $-295$) \emph{elementa}. Bokförlaget Alexandria. \end{document}
Rektangelns diagonal Pelle Murvel 14 november 2006 Sammanfattning En revolutionerande upptäckt innebär att våra lantmätare och byggmästare inte längre måste rita alla konstruktioner utan kan göra några några mätningar och räkna ut konstruktionsdelarnas mått. Bakgrund Euklides har funnit ett nytt samband som nog kan komma att revolutionera yrkesverksamheten inom många områden. Han presenterar resultatet sin nya bok Elementa och kallar det Pytagoras' sats (f. 569) efter den som tipsade honom om formeln. Behoven Såväl inom lantmäteriet som byggnadsverksamheten behöver man ta reda på diagonalen i en rektangel när man känner sidorna eller det lutande planets längd när man känner längd och höjd. Hittills har man oftast byggt en modell och mätt på denna eller mätt på en i sanden ritad konstruktion. Den nya formeln För att beräkna diagonalen i en rektangel behöver man sidornas mått, a och b. Diagonalen, c, ges då av c = a 2 + b 2. Formeln är kanske lättare att minnas på formen c 2 = a 2 + b 2 Litteratur Euklides. (ung. 295) Elementa. Bokförlaget Alexandria. 1
Ett L A TEX-manus inleds med \documentclass{dokumentklass} där man kan ange någon dokumentklass, t.ex. book, report, article eller nada-brev. Dokumentklassen är en mall för dokumentet. Parametern a4paper,11pt anpassar dokumentet till stående A4-papper och ger brödtext i graden 11 pt. Det finns många modifieringar och tillägg till L A TEX för olika ändamål. Sådana gör man ofta som paket. Ett paket görs tillgängligt med \usepackage{paketnamn}. De här uppräknade paketen är ofta använda. graphics ger möjlighet att lägga in bilder från bildfiler. babel med parametern swedish anpassar L A TEXtill svenska: avstavning, avstånd vid skiljetecken, nyckelord som»kapitel» m.m. inputenc med parametern latin1 ställer in L A TEX att tolka manus enligt teckenkoden»iso 8859-1». fontenc med parametern T1 styr L A TEX att använda teckensnitt med tecknen ordnade enligt»t1». Med kommandona \title och \author ger man titel och författare som används i dokumentets titelsida eller huvud. Omgivningar Med kommandona \begin{omgivningsnamn} och \end{omgivningsnamn} avgränsar man en omgivning med särskilda regler och kommandon. Omgivningen abstract skapar en dokumentdel som är indragen, har mindre grad än brödtexten och är avsedd för en sammanfattning av dokumentet.
Avsnitt Kommandona \section* och \subsection* inleder avsnitt resp. underavsnitt. Vissa kommandon har»stjärnmärkt variant». Utan stjärna numreras rubriken och med stjärna utelämnas numreringen. Eftertryck Kommandot \emph använd för att»betona»/»ge eftertryck åt» parametern, ofta med kursiv men i vissa format med halvfet. Blanka och radbyte Radbyte tolkas som blanktecken och flera blanktecken i följd tolkas som ett blanktecken och ger ett ordmellanrum. Med \verb* får man för att markera ett viktigt blanktecken. En blankrad tolkas som styckeslut (ekvivalent med kommandot \par). Andra tecken - ger bindestreck (-), -- ger halvlångt streck ( ) som används som tillstreck och tankestreck, --- ger hellångt streck ( ) som inte används i svenska och $-$ ger minustecken ( ). Svenska citattecken får man med apostrof och dubbla apostrofer, Citat med innercitat{ } ger Citat med innercitat. Engelska inledande citattecken får man med grav accent och dubbel grav accent, Citation with inner citation{ } ger Citation with inner citation. Man kan använda många av tecknen i ISO 646:!, ",, (, ), *, +, -,., /, :, ;, <, >,?, @, [, ],, =, och lodrätt streck som jag använder i dessa bilder för att kunna skriva ut kommandon och
specialtecken och i latin1:,, c, a, «, R,,,,,,», 1 4, 1 2, 3 4,, Æ, Ç, Ð, Þ, ß, æ, ç, ð, þ och i formelläge,, ±, 2, 3, µ,, 1, o,, Stycken L A TEX är ganska bra på radplanering och avstavning. \\ ger tvingande radbyte, ~ ger bindeblank dvs. ordmellanrum som ej får radbrytas, \- är avstavningsanvisning dvs.»om detta ord behöver avstavas kan det avstavas här». Nytt stycke får normalt förstaradsindrag med \parindent utom efter rubrik. Man kan själv ordna indrag med \indent och undertrycka med \noindent. \begin{center}, \centering, \centerline, \leftline, \rightline, \begin{flushleft}, \begin{flushright}, \raggedleft och \raggedright används för att styra ett styckes utseende. Formler Det finns två huvudtyper av formler: formel i löpande text eller textformel och fristående formel. En textformel omges med \(... \), $... $ eller \begin{math}... \end{math} och en fristående formel omges med \[... \], $$... $$, \begin{displaymath}... \end{displaymath} eller \begin{equation}... \end{equation} där den sistnämda ger automatisk formelnumrering. I formelläge gäller särskilda regler: L A TEX styr själv avstånd, blanktecken ignoreras, bokstäver tolkas som storhetsbeteckningar och sätts kursivt, bokstäver intill varandra sätts med avstånd som underförstått betecknar multiplikation, index och exponenter markeras med _ resp. ^.
Funktionen $F(x)$ ger \ldots Funktionen F (x) ger... Variablerna $\alpha$ och $\xi$. Variablerna α och ξ. Fristående formler centreras på raden. Sambandet $$a+h=xt$$ ger oss att \ldots Sambandet a + h = xt ger oss att... Index och exponenter $x^2$ x 2 $x_2$ x 2 Mindre grad används automatiskt för exponenter och indices. $x^12$ x 1 2 $x^{12}$ x 12 $x^2_i$ x 2 i $x^2y^2$ x 2 y 2 $x_{y^2}$ x y 2 $x^{2^2}$ x 22 $x_{i+1}$ x i+1 $x^2\sigma_i$ x 2 σ i L A TEX ignorerar blanktecken i formler. Mellanrum (utslutning) bestäms av särskilda regler. $a bc$ abc $$x=y a=b$$ $$x=y\qquad a=b$$ Bråk x = ya = b x = y a = b $a/(b+c)$ a/(b + c) $a\over b+c$ a b+c
a b+c $\frac{a}{b+c}$ $a\over b+{1\over2}$ a b+ 2 1 $x+y^{2\over k+1}$ $a\atop 1+b$ $n+1\choose k$ $m\brack n$ $m\brace n-1$ Rötter x + y 2 k+1 a ( 1+b n+1 k [ m n] ) { m n 1 $\sqrt2$ 2 $\sqrt{x+2}$ x + 2 $\sqrt{x^3+\sqrt\alpha}$ x3 + α n+1 $\sqrt[n+1]{a}$ a Rottecknets storlek anpassas automatiskt. } Summor och integraler Man använder ^ och _ för att ange gränser i summor och integraler. $\sum x_n$ $$\sum x_n$$ xn xn $\sum_{n=1}^m x_n$ m n=1 x n $$\sum_{n=0}^m x_n$$ m N=0 x n Gränserna sätts som index och exponent i textformel. Det kan ändras med \limits och sättas med \nolimits. $\sum\limits_{n=1}^m x_n$ m x n n=1
$$\sum\nolimits_{n=1}^m x_n$$ m n=1 x n Integrationsgränser sätts normalt som index och exponent både i textformler och i fristående formler. $\int_{-\infty}^{+\infty}$ + $$\int_0^{\pi\over2}$$ π 2 0 $\int\limits_{_\infty}^{+\infty}$ + Utslutning i formler L A TEX gör för det mesta bra mellanrum automatiskt. \quad En fyrkant mellanrum \qquad Två fyrkanter mellanrum $\,$ 1/6 fyrkant mellanrum $\>$ 2/9 fyrkant mellanrum $\;$ 5/18 fyrkant mellanrum $\!$ 1/6 fyrkant mellanrum $$F_n=F_{n-1}+F_{n-2}, \qquad n\geq2.$$ F n = F n 1 + F n 2, n 2. $\int x dx$ xdx $\int x\,dx$ x dx $n!(n+1)!$ n!(n + 1)! $n!\,(n+1)!$ n! (n + 1)! Funktionssymboler sin, cos $y=cos x$ $y=\cos x$ L A TEX känner till: y = cosx y = cos x
\arccos \arcsin \arctan \arg \cos \cosh \cot \coth \csc \deg \det \dim \exp \gcd \hom \inf \ker \lg \lim \liminf \limsup \ln \log \max \min \Pr \sec \sin \sinh \sup \tan \tanh L A TEX»vet» var gränser o.d. ska sitta. $$\max_{1\leq n \leq m}\log_2p_n$$ max 1 n m log 2 P n Text i formler $x^3+\mbox{lower order terms}$ x 3 + lower order terms Man kan styra utformningen av variabelnamn med: \mathrm \mathtt \mathtt \mathsf \mathif \mathcal Parenteser Parentesers storlek kan dels styras med \big, \Big, \bigg eller \Bigg, dels automatiskt med \left och \right. ( \lbrack ([) \lbrace ({) ) \rbrack (]) \rbrace (}) \lfloor ( ) \lceil ( ) \langle ( ) \rfloor ( ) \rceil ( ) \rangle ( ) \slash (/) \vert ( ) \uparrow ( ) \backslash (\) \Vert ( ) \Uparrow ( ) \downarrow ( ) \updownarrow ( ) \Downarrow ( ) \Updownarrow ( ). $\bigl\vert\vert x\vert+ \vert y\vert\bigr\vert$ x + y
$$1+\left(1\over1-x^2\right)^3$$ ( ) 3 1 1 + 1 x 2 Formelnummer m.m. \begin{equation}a=\sin x \end{equation} ger a = sin x (1) Man kan infoga aktuellt formelnummer med \the\value{equation} där equation är namnet på räknaren. L A TEX har många räknare och andra variabler. I klassen article numreras formlerna löpande men inom book och report innehåller numren ockå kapitel- och avsnittsnumren. I den frivilliga parametern till \documentclass kan man ange leqno för att få formelnumren till vänster på raden eller fleqn för att få fristående formler på fast avstånd från vänstermarginalen istället för centrerade. Standardavståndet är 0 pt men kan styras med \mathindent. Med omgivningen eqnarray (eqnarray* ger inga formelnummer) gör man flerradiga formler och ekvationssystem. Varje rad har 3 delar, en vänsterställd, en mittdel och en högerställd. $$a+b=3$$ $$b=5$$ ger a + b = 3 b = 5 medan \begin{eqnarray*}a+b&=&3\\ b&=&5\end{eqnarray*} ger a + b = 3 b = 5 Med paketet amsmath kan man använda align*:
\begin{align*}(x+\mi y)^2 &=x^2+ 2\mi xy +\mi ^2y^2 = x^2+ 2\mi xy-y^2\\ (x-\mi y)^2 &=x^2-2\mi xy + \mi ^2y^2 = x^2-2\mi xy-y^2 \end{align*}% (x + iy) 2 = x 2 + 2ixy + i 2 y 2 = x 2 + 2ixy y 2 (x iy) 2 = x 2 2ixy + i 2 y 2 = x 2 2ixy y 2 Jag tycker att mellanrummen kring = är snyggare i det senare fallet. α \alpha ξ \xi β \beta o o γ \gamma π \pi δ \delta ϖ \varpi ɛ \epsilon ρ \rho ε \varepsilon ϱ \varrho ζ \zeta σ \sigma η \eta ς \varsigma θ \theta τ \tau ϑ \vartheta υ \upsilon ι \iota φ \phi κ \kappa ϕ \varphi λ \lambda χ \chi µ \mu ψ \psi ν \nu ω \omega Symboler Exempel på symboler som man kan använda i L A TEX.
Γ \Gamma Σ \Sigma \Delta Υ \Upsilon Θ \Theta Φ \Phi Λ \Lambda Ψ \Psi Ξ \Xi Ω \Omega Π \Pi \mathcal{a, B,...,Z} A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P Q, R, S, T, U, V, W, X, Y, Z ± \pm \ominus \mp \otimes \times \circ \div \bullet \cdot \diamond... \ldots \lhd. \vdots \rhd \cdots \unlhd... ddots \unrhd \ast \oslash \star \odot \dagger \bigcirc \ddagger \Box \amalg \Diamond \cap \bigtriangleup \cup \bigtriangledown \uplus \triangleleft \sqcap \triangleright
\vee \ \setminus \wedge \wr \oplus Ellipser Enligt svenska konventioner sätts punkterna alltid på skrivlinjen. $x...y$ x...y Visa att $(1-x)^{-1}= 1+x+x^2+\ldots\,$. Visa att (1 x) 1 = 1 + x + x 2 +.... Lätt inses att $a_i<b_i$ för $i=1$, 2, $\dots$, $n$. Lätt inses att a i < b i för i = 1, 2,..., n. Koefficienterna $c_0$, $c_1$, \dots, $c_n$ är positiva. Koefficienterna c 0, c 1,..., c n är positiva. \le or \leq \neq. \ll = \doteq \subset \approx \subseteq = \cong \sqsubset \equiv \sqsubseteq \propto \in \prec \vdash \preceq = \models \parallel \ge or \geq \sim \gg \simeq \supset \asymp \supseteq \smile \ \frown \sqsupseteq \bowtie \ni \succ \dashv \succeq \perp \mid
\not< \not\succeq \not\le \not\supset \not\prec \not\supseteq \not\preceq \not\equiv \not\subset \not\sim \not\subseteq \not= \not\in / \notin \not> \not\simeq \not\ge \not\approx \not\succ = \not\cong \not\asymp \not\sqsubset \not\sqsubseteq \not\sqsupset \not\sqsupseteq \leftarrow \gets \Leftarrow \rightarrow \Rightarrow \to \leftrightarrow \Leftrightarrow \mapsto \hookleftarrow \leftharpoonup \leftharpoondown \rightleftharpoons \longleftarrow = \Longleftarrow \longrightarrow = \Longrightarrow \longleftrightarrow \Longleftrightarrow \longmapsto \hookrightarrow
\rightharpoonup \rightharpoondown \uparrow \Uparrow \downarrow \Downarrow \updownarrow \Updownarrow \nearrow \searrow \swarrow \nwarrow ℵ \aleph \forall \hbar \exists ı \imath \neg j \jmath \flat l \ell \natural \wp \sharp R \Re \ I \Im \angle \mho \ \backslash \prime \Box \emptyset \Diamond \nabla \triangle \surd \clubsuit \partial \diamondsuit \top \heartsuit \bot \spadesuit \vdash \Join \dashv \infty
\sum \bigsqcup \int \bigvee \oint \bigwedge \prod \bigodot \coprod \bigotimes \bigcap \bigoplus \bigcup \biguplus Vektorer och matriser $$\begin{array}{*{3} {c@{\:+\:}}c@{\;=\;}c} a_{11}x_1 & a_{12}x_2 & \ldots & a_{1n}x_n & b_1 \\ a_{21}x_1 & a_{22}x_2 & \ldots & a_{2n}x_n & b_2 \\ \multicolumn{5}{c}{\dotfill}\\ a_{n1}x_1 & a_{n2}x_2 & \ldots & a_{nn}x_n & b_n \end{array}$$ a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2.............................. a n1 x 1 + a n2 x 2 +... + a nn x n = b n $$x-\begin{array}{c} a_1\\\vdots\\a_n\end{array} -\begin{array}[t]{cl} u-v&10\\u+v& \begin{array}[b]{r} 12\\-120 \end{array} \end{array}$$ x a 1. a n u v 10 12 u + v 120
Blockstruktur Vissa kommandon påverkar bara sin parameter, medan andra ändrar vissa av L A TEXs parametrar. Sådana ändringar är lokala och gäller till slutet av närmast omgivande block omgivet av {}: grupparenteser. Teckensnitt L A TEX använder normalt teckensnittet Computer Modern. Man kan använda andra teckensnitt, helt eller delvis. Med \usepackage{times} används istället Times. Brödtextens grad bestäms i första hand av parametern till \documentclass. Teckensnitt har 4 egenskaper som kan väljas oberoende av varandra: Storlek \tiny \normalsize \LARGE \scriptsize \large \huge \scriptscriptsize \small \Large \Huge Familj \textrm{} {\rmfamily } seriffer \textsf{} {\sffamily } linjärer \texttt{} {\ttfamily } skrivmaskinsstil Serie \textmd{} {\mdseries } medium \textbf{} {\bfseries } fet Form \textup{} {\upshape } rak \textit{} {\itshape } kursiv \textsl{} {\slshape } lutad \textsc{} {\scshape } kapitäler
Övrigt \emph{} {\em } eftertryck \textnormal{} normal {\normalfont } I matematisk text \mathcal{} \mathtt{} \mathrm{} \mathit{} \mathbf{} \mathnormal{} \mathsf{} För varje teckensnitt finns en metrikfil (.tfm) som innehåller: måtten på varje symbol uppgift om ordmellanrum, em, ex m.m. knipningsinformation, t.ex. hur mycket avståndet i»av» ska minskas ligaturinformation, t.ex. att fi och --- ska bytas mot»fi» resp.»». Vidare finns någon sorts»glyffil» som beskriver symbolernas form som bitkarta (.pxl,.gk eller.pk) eller som konturer m.m. (Adobe type 1, Truetype e.d.). Vissa utskriftsprogram anropar Metafont för att skapa de glyffiler som behövs. Arbetsgång Man använder ofta numera en version av L A TEX som direkt skapar ett dokument i PDF-format. Ofta startar kommandot latex programmet pdflatex. Egentligen är det pdftex som startas och läser in en definitionsfil för L A TEX. Vidare läses en beskrivning av dokumentklassen och alla paketen, som i sin tur kanske läser ytterligare filer. Vidare läses manusfilnamn.aux som kan innehålla värden från föregående dokumentkompilering om korsreferenser o.d. L A TEX läser också metrikfiler för de teckensnitt som används och annan information om tecknen vid behov. Vid kompileringen kan man få varningar och
felmeddelanden. Vid fel kan man svara med vagnretur ignorera det felaktiga och fortsätt x sluta e starta Emacs med arbetspunkten där TEX tror att felet är h ge ett fylligare felmeddelande Vanliga fel är att stava fel på kommandonamn och att använda kommandon för formler utanför formelläge. L A TEX skriver själva dokumentet, loggfil och en ny.aux-fil. Om man inte använder pdftex skapar TEX en.dvi-fil (device independent) som sedan läses av en utskriftdrivrutin, t.ex. dvips som framställer dokumentet och skickar det till skrivaren. Mått 1 mm 1 cm 1 dd (Didot-)punkt 0.37594... mm 1 cc cicero (12 dd) 4.5113... mm I anglosaxiska länder 1 pt point 0.35146... mm 1 pc pica (12pt) 4.2175... mm 1 in inch (72.27 pt) 25,4 mm Beroende på aktuellt teckensnitt 1 em fyrkant (M-bredd) 1 ex x-höjd Ovanliga mått 1 bp big point (72 bp=1 in) 1 sp scaled point (65 536 sp=1 pt) 2 660 dd=1 m. Man måste ange både mätetal och måttenhet.
Byggstenar i LATEX bredd höjd boxar djup fjädrar (lim, glue) har naturlig längd, sträckbarhet och krympbarhet linjer färg har samma egenskaper som boxar samt Boxar Dessa byggstenar sammanfogas med \mbox{text} Skapar en box med inehållet text och vars dimension bestäms av innehållet. \makebox[width][pos]{text} Boxens ges bredden width och innehållets placering i boxen styrs av pos: l vänsterställer innehållet, r högerställer och s sträcker innehållet, som då måste innehålla någon fjäder, till bredden width. \fbox{text} Som \mbox men med kantlinje. \framebox[width][pos]{text} Som \makebox men med kantlinje. \parbox[pos][height][innerpos]{width} {text} sätter en styckebox med angiven bredd där pos anger denna box vertikala placering med c (skönsvärde; centrering på omgivningens baslinje), t (boxens översta baslinje linjerar med omgivningens baslinje) eller b (... nedersta baslinje... ). Med height kan man ange boxens höjd och med innerpos (t (vertikalt toppställt), c (centrerat), b (bottenställt) eller s (sträckt till angiven höjd) med pos som skönsvärde). \begin{minipage}[pos][height] [innerpos] {width} som \parbox. Innehållets naturliga dimensioner kan användas i specifikationen genom \width, \height, \depth och \totalheight. En box
vertikalläge kan styras med \raisebox{lift}[height][depth]{text}. Det finns också mekanismer för att spara boxar i variabler. med obegränsad elasticitet och obegränsad elasticitet av lägre ordning är försumbar jämfört med obegränsad elasticitet av högre ordning. Några fjädrar har särsklilda namn t.ex. Fjädrar En fjäder har en fast del, sträckbarhet och krympbarhet. \hspace{fast del plus sträckbarhet minus krympbarhet} ger en horisontell fjäder och \vspace{fast del plus sträckbarhet minus krympbarhet} ger vertikal fjäder. \hspace och \vspace tas bort i början av rad resp. överst på sida medan \hspace* och \vspace* lämnas kvar. Det finns också obegränsad sträckbarhet och krympbarhet av ordning 1 3 (fil, fill och filll). Ändlig elasticitet är försumbar jämfört
Fjäderexempel \framebox[...]{% \framebox[5mm]{\hfil} \hspace{9mm plus 3mm minus 6mm} \framebox[6mm]{\hfil} \hspace{9mm plus 6mm minus 2mm} \framebox[3mm]{\hfil} \hspace{12mm} \framebox[8mm]{\hfil} } Den fasta delen är totalt 52 mm, sträckbarheten 9 mm och krympbarheten 8 mm. Med \framebox[58mm]... får man med fjädrarna 11, 13 resp. 12 mm och med \framebox[48mm]... med fjädrarna 6, 8 resp. 12 mm. Fjädrar krymper aldrig mer än krympbarheten. \hfil \hspace0pt plus1fil \hss \hspace0pt plus1fil minus1fil \vfil \vspace0pt plus1fil \vss \vspace0pt plus1fil minus1fil Linjer \rule[lift]{width}{height} ger en linje med höjd height, bredd width som är lyft lift över baslinjen. Ibland använder man stöttor (eng. strut), en linje med ena dimensionen 0 pt, för att styra dimensionerna på innehållet i en box. Uppräkningar Uppräkningar eller listor finns i L A TEX i ungefär samma former som i HTML: \begin{itemize} för»oordnade» listor, \begin{enumerate} för»ordnade» listor och \begin{description} för»nyckelordslistor». Varje listelement inleds med
\item resp. \item{nyckelord}. Man kan ha listor-i-listor och mekanismen hanterar»fortsättningsstycken». Utseendet styrs av många parametrar:
Ovanstående får vi från följande manus. \noindent Icke indragen text. Indragen text före. \begin{itemize} \item Första listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Fortsättningsstycke Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. \begin{enumerate} \item Första listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Fortsättningsstycke Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. \item Andra listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. \begin{description} \item{första} Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Fortsättningsstycke Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. \item{andra} Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. \end{description} \end{enumerate} \item Andra listelementet \end{itemize}
Text efter \ldots Vi ska senare se på hur detta anpassas till tumregler för utformning.
Tabeller Tabulatorer I omgivningen tabbing kan man använda tabulatorlägen. Från början finns ett tabulatorläge vid vänstermarginalen. Man använder \= för att sätta tabulatorläge, \kill för att avsluta mallrad (som inte sätts), \> resp. \< för att flytta till nästa tabulatorläge åt höger resp. åt vänster, text, \hspace{} eller \hspace*{} för att flytta en bestämd sträcka, \\ för att börja ny rad, \+ resp. \- för att flytta början av rader i fortsättningen ett tabulatorläge åt höger resp. vänster, med vänstertext \ högertext högerställs vänstertext \tabbingsep t.h. om nästa tabulatorläge och högertext vänsterställs vid detta tabulatorläge, med \ text högerställs text mot högermarginalen, med \pushtabs resp. \poptabs sparar man aktuella tabulatorlägen resp. återställer tidigare sparade. \begin{tabbing} \hspace*{0.25\columnwidth}\=% \hspace*{0.25\columnwidth}\=% \hspace*{0.25\columnwidth}\=\kill \>\>tre\\ \>två\\ \itshape text i kolumn 1, \>\>\>fyra och bortom!\\ \end{tabbing} två text i kolumn 1, tre fyra och bortom!
\begin{tabbing} \indent\=pc\quad\=\kill \>pt\>point\\ \>pc\>pica (=12~pt)\\ \>in\>inch (=72.27~pt)\\ \end{tabbing} pt pc in point pica (=12 pt) inch (=72.27 pt) \newcommand{\bx}[1]{\textbf{#1}} \newcommand{\ix}[1]{\textit{#1}} \begin{tabbing} \bx{if} $n<r$ \=\bx{then} $n:=n+1$\\ \>\bx{else} \=\bx{begin} $\ix{print\_totals}$; \>\>\bx{end};\\ \bx{while} $p>0$ \bx{do}\\ mmm\=\kill $n:=0$;\\ \>\bx{begin} $q:=\ix{link}(p)$; $\ix{free\_node}(p)$ $p:=q$;\\ \>\bx{end}; \end{tabbing} if n < r then n := n + 1 else begin print_totals; n := 0; end; while p > 0 do begin q := link(p); free_node(p) p := q; end;
Allmänna tabeller Med någon av omgivningarna array, tabular och tabular* skapar man tabeller. Omgivningen array används bara i formelläge för att skapa matriser och har samma syntax som tabular. Med tabular* kan man ange tabellens bredd medan tabular ger den naturliga bredden. \begin{array}[pos]{mallrad} \begin{tabular}[pos]{mallrad} \begin{tabular*}{bredd}[pos]{mallrad} Mallraden innehåller någon av c, l eller r för varje kolumn för att ange om cellinnehållet ska vara centrerat, vänsterställt eller högerställt. Med p{bredd} i mallraden anger man att en styckebox med bredden bredd ska sättas och *{antal}{text} är ekvivalent med antal förekomster av malldelen text. Ovanstående ersätts med respektive celltext. Dessutom kan man ange för enkel vertikal linje, för dubbel vertikal linje och @{text} för extra text som sätts in på alla rader. Där @{} finns tas motsvarande spalt- mellanrum bort. Med \extracolsep{bredd} anger man spaltmellanrum t.v. och när man använder tabular* måste det finnas elasticitet t.ex. @{\extracolsep\fill}. Dataraderna avslutas med \\ och celltexterna åtskiljs med &. Före första raden eller direkt efter \\ anger \hline en horisontell linje över tabellens bredd och \cline{m n} en linje under cellerna i kolumn m till n. \vline anger en radhög vertikal linje på just denna plats. \multicolumn{antal}{mall}{text} ersätter mallen för de närmaste antal kolumnerna med mallen mall med celltexten text insatt. \tabcolsep sätts in t.v. och t.h. i varje cell.
Det finns ytterligare parametrar som styr tabellutseendet. \begin{tabular}{ll} HUND &DOG\\ SKALBAGGE&BEATLE\\ SKRAK &GOOSANDER\\ \end{tabular} HUND DOG SKALBAGGE BEATLE SKRAK GOOSANDER Avståndet mellan kolumner är \tabcolsep som här är 6.0pt.
\begin{tabular}{@{}lcrrr@{}} \hline Utsläppskälla &1970&1980&1990&1995\\ \hline Vägtrafik &x &159 &165 &181\\ Industriprocesser &x &24 &10 &10\\ \hline Summa &302 &317 &284 &309\\ \hline \end{tabular} Utsläppskälla 1970 1980 1990 1995 Vägtrafik x 159 165 181 Industriprocesser x 24 10 10 Summa 302 317 284 309 Utan @{} får man: Utsläppskälla 1970 1980 1990 1995 Vägtrafik x 159 165 181 Industriprocesser x 24 10 10 Summa 302 317 284 309
\begin{tabular} { r l rrr r@{:}l r@{:}l c } \hline\multicolumn{10}{ c } {\rule[-3mm]{0mm}{8mm}\bfseries 1st Regional Soccer Leage --- Final Results 1994/95}\\ \hline &\itshape Club &\itshape W &\itshape T &\itshape L & \multicolumn{2}{c } {\itshape Goals} & \multicolumn{2}{c } {\itshape Points} &\itshape Remarks \\ \hline\hline 1 &Amesville Rockets & 19 & 13 & 1 & 66&31 & 51&15 & League Champs\\ \hline \end{tabular} 1st Regional Soccer Leage Final Results 1994/95 Club W T L Goals Points Remarks 1 Amesville Rockets 19 13 1 66:31 51:15 League Champs
Infogade bilder De moderna versionerna av L A TEX som använder pdftex kan hantera bilder i PDF-, JPEG- och PNG-format. De flesta andra bildformat gör man lätt om till PDF med Acrobat, Photoshop eller något annat program. För att kunna foga in bilder ska man ha med \usepackage{graphics} och infoga bilden med \includegraphics{filnamn} t.ex. \includegrapgics{knuth}. Det ska gå att beskära en bild med Rita med LATEX L A TEX har en omgivning picture för enkla illustrationer och dessutom finns många ritpaket, bl.a. eepic och xypic. Innan man går in i picture sätter man måttenheten med \setlength{\unitlength}{längd}; skönsvärdet är 1 pt. Omgivningen inleds med \begin{picture}(bredd,höjd) eller \begin{picture}(bredd,höjd)(akt.x,akt.y) som placerar figurens punkt (akt.x,akt.y) istället för figurens origo i aktuell position på baslinjen. \includegraphics[llx,lly][urx,ury]{filnamn}. För ovaler och lutande linjer finns två tjocklekar \thinlines och \thicklines. Horisontella och vertikala linjers bredd styrs med \linethickness{bredd}. Man utplacerar bildelement med \put(x,y){bildelement} eller \multiput(x,y)( x, y){antal}{bildelement}. Bildelement är text
\makebox(bredd)(höjd)[pos]{text} box utan kantlinje som innehåller text \framebox(bredd)(höjd)[pos]{text} box med kantlinje \dashbox{strecklängd}(bredd)(höjd)[pos] {text} box med streckad kantlinje som innehåller text där pos kan ha följande värden t horisontellt centrerat och toppställt b horisontellt centrerat och bottenställt l vertikalt centrerat och vänsterställt r vertikalt centrerat och högerställt s vertikalt centrerat och horisontellt sträckt Värdena kan kombineras t.ex. tl. Räta linjer ritas med \line( x, y){längd} där x och y får vara heltalen 6, 5,..., 0, 1,..., 6. \vector( x, y){längd} ger en pil \circle{diameter} ofylld cirkel \circle*{diameter} fylld cirkel Med \oval(bredd,höjd)[del] ritas en oval, rektangel med rundade hörn, med centrum i aktuell position, angiven bredd och höjd och den del som anges av 0 2 av bokstäverna tblr för topp, botten, vänster resp. höger. Hörnradien väljs automatiskt bland vissa möjliga värden. Med \qbezier[n](x 1, y 1 )(x 2, y 2 )(x 3, y 3 ) ritas n punkter längs en kvadratisk splinekurva. Med \newsavebox{boxnamn} skapas en boxvariabel, med \savebox{boxnamn(bredd)(höjd)[pos]{delbild} där paramerarnas betydelse är som för \makebox ovan, sparar delbilden i boxvariabeln och \usebox{boxnamn} kan användas för att placera boxvariabelns innehåll som bildelement.
Exempelbild \setlength{\unitlength}{1mm} \noindent\begin{picture}(20,10) \thicklines \put(4.5,0){\oval(3,3)[b]} \multiput(-2,0)(5,0){5}{% \put(9,0){\oval(8,8)[t]}\put(11.5,0){\oval(3,3)[b]}} \put(0,0){\line(1,0){6}}\put(0,-2.5){\line(0,1){5}} \put(28,0){\line(1,0){6}}\put(34,-2.5){\line(0,1){5}} \end{picture}
Sidformat 4 5 6 Header 2 3 Body 7 9 Margin Notes 10 11 8 1 Footer 1 one inch + \hoffset 2 one inch + \voffset 3 \oddsidemargin = 0pt 4 \topmargin = 0pt 5 \headheight = 0pt 6 \headsep = 0pt 7 \textheight = 426pt 8 \textwidth = 734pt 9 \marginparsep = 10pt 10 \marginparwidth = 144pt 11 \footskip = 30pt \marginparpush = 5pt (not shown) \hoffset = 0pt \voffset = 0pt \paperwidth = 845pt \paperheight = 597pt
Med paketet layout ritar kommandot \layout en översikt över sidlayouten med måttangivelser. Paketet layout känner inte till multicols som används för dessa bilder. \columnseprule. Flerspalt Utgående från tumreglerna för grad och antal tecken per rad kommer man fram till att på stående A4 bör man ha två spalter. Det åstadkommer man bäst med \usepackage{multicol} och en ny omgivning varje gång man byter kolumnantal: \begin{multicols}{2}... \end{multicols} Spalterna balanseras och om man vill avstå från det använder man omgivningen multicols*. Avståndet mellan spalterna är \columnsep och man kan lägga in spaltlinje med
Litteraturreferenser L A TEX har hjälpmedel för att hantera litteraturreferenser. Olika förlag och tidskrifter har olika konventioner för hur litteraturreferenser och litteraturlistor ska skrivas. Man kan skriva allt helt manuellt men det normala är att använda kommandon för litteraturreferenserna, att ha verkbeskrivningarna i ett litteraturregister (.bib-fil) och att använda programmet BibTeX för att extrahera information om verken. Man kan ha en enda registerfil för sin verksamhet men man kan ha ett separat register för varje dokument. Paketet natbib är flexibelt och rekommenderas. Ta med \usepackage{natbib} i manusets prolog. Formgivningen bestäms av en stilfil (t.ex. authordate2) som anges med \bibliographystyle{bib.style}. Där litteraturförteckningen ska stå skriver man \bibliography{register} där register är registrets namn utan tillägg. I den löpande texten där man vill referera till ett verk skriver man \citep{nyckel} där man vill ha namn och årtal helt inom parentes och \citet{nyckel} där man vill ha namnet/-n utanför parentesen och årtalet inom. Registerfilen I registerfilen, säg reg.bib, lägger man in verkbeskrivningar. @book{bb, title = {Om vikt}, author = {Lillen {Ä}rlig}, publisher = {Addison \& Wesley}, year = 1998} @book{da, title = {Allra sist},
author = {Olle {Ö}vrig}, publisher = {Addison \& Wesley}, year = 1998} @book{aa, title = {Om m{å}tt}, author = {Lillen {Å}ngstr{ö}m}, publisher = {Addison \& Wesley}, year = 1998} Grupparenterserna kring de svenska tecknen är inte alldeles nödvändiga men kan ev. underlätta sorteringen. Manusfilen manus.tex demonstrerar detta: \documentclass[a4paper,11pt]{article} \usepackage{natbib}... \begin{document}... \citet{aa} har skrivit \em{om mått} och ett annat verk är \em{om vikt} \citep{bb}. \bibliographystyle{authordate2} \bibliography{srom} \end{document} Man måste göra många»kompileringar» för att få dokumentet från filen manus.tex komplett. latex manus skapar manus.aux. bibtex manus skapar manus.bbl och manus.blg. Bibtex sorterar inte svenska så man går in i manus.bbl och sorterar verkbeskrivningarna rätt. latex manus genererar korrekt litteraturlista. latex manus genererar färdigt dokument med korrekta litteraturreferenser. Resultatet blir:
Testa också biblatex som ev. kan ordna riktig sortering automatiskt.
1 Korsreferenser Utöver litteraturreferenser kan dokument innehålla andra typer av korsreferenser såsom till figurer, tabeller och formler, till sidor och avsnitt o.d., såsom innehållsförteckning eller sakregister och som fotnoter. Fotnoter lägger man in med kommandot \footnote{text} omedelbart efter det ord som ska ha fotnotsmarkeringen. Fotnoterna placeras nederst på sidan under en fotnotslinje. Det går att välja annat än löpande numrering 1. Man kan märka en position med \label{märkord}. Märkordet kan därefter användas i \ref{märkord} som ger numret på den dokumentdel där motsvarande \label finns och i \pageref{märkord} som ger numret på sidan där motsvarande \label finns. Med kommandot \label här ger Avsnitt \ref{here}»avsnitt 1» och \pageref{here} ger 40. Jag har använt \section utan stjärna för att få ett numrerat avsnitt och jag måste kompilera dokumentet två gånger för att referenserna ska kunna upplösas. Kapitel, avsnitt, underavsnitt, formler, figurer och tabeller samt sidor kan refereras på detta sätt. Kommandon för avsnitt o.d. utan stjärna samlar information om rubrikstrukturen som kan skrivas ut som innehållsförteckning med kommandot\tableofcontents: 1 T.ex. alfabetisk.
Innehåll 1 Korsreferenser 40 Särskilt stöd för PDF 43 När man vill ha stjärnmärkta avsnitt med i innehållsförteckningen använder man \addcontentsline{toc}{nivånamn}{rubrik}. Kommandot \addcontentsline{toc}{section}{särskilt stöd för PDF} finns i början av ett senare avsnitt.
Sakregister L A TEX har hjälpmedel för att göra sakregister. I den löpande texten lägger man in sakregisterposter med \index{sakpost}. Med kommandot \makeindex i preludiet skriver L A TEX sakposterna med tillhörande sidnummer på en fil med tillägg.idx. Med programmet Makeindex och paketet makeidx samlas sakposterna till ett sakregister som fogas in där man ger \printindex. Med \index{sakpost}, \index{åkerö} och \index{övärld} samt \printindex ska man få: Sakregister sakpost, 42 åkerö, 42 övärld, 42 Jag har dock hittills inte fått MakeIndex att sortera på svenska men det går att göra manuellt
Särskilt stöd för PDF När man genererar PDF med L A TEX kan man lägga in klickbara länkar, länkmål, sidminiatyrer och innehållsspalt som allt kan hanteras av visare för PDF såsom Acrobat. Det kan man göra genom paketet hyperref. Med pdfpagemode=usethumbs får man Acrobat att visa en ruta med klickbara sidminiatyrer. Med \href{url}{text} gör textn till klickbar länk till url, t.ex. \href {http://www.csc.kth.se /index.php.sv} {Länk till CSC} ger Länk till CSC. \hyperlink{s1}{länk till första OH} ger Länk till första OH när \hypertarget{s1}{} finns tidigt på bild 1. Boxar (\mbox, \makebox, \fbox, \framebox, \sbox..., lrbox, \raisebox, \parbox, minipage), längder, fjädrar, räknare, mått Egna kommandon (namn, parameterantal, villkor) och omgivningar Modifierade uppräkningar Uppräkningar styrs av många parametrar: och omgivningen list: \begin{list}{märke}{dekl.} listelement\end{list}, där märke
definierar märket före listelementen och dekl. ger lämpliga värden på parametrarna. Med \renewenvironment{itemize}{ \begin{list}{\hbox to 0pt% {$\bullet$\hss}}{ \setlength{\parsep}{0pt} \setlength{\itemsep}{0pt} \setlength{\leftmargin}{\parindent} \setlength{\labelsep}{\parindent} \setlength{\listparindent}% {\parindent}}} {\end{list}} får vi uppräkningar på följande form: Indragen text före. Första listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Fortsättningsstycke Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Första listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Fortsättningsstycke Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Andra listelementet Abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz abcxyz. Andra listelementet Text efter... Detta stämmer med tumreglerna och man kan göra motsvarande modifieringar av enumerate och description. Flytande material (figure, table) Flytande material Med»flytande material» menas dokumentdelar vars placering inte bestäms av ordningen i manuskriptet. Tabeller och bilder låter man ofta flyta. Omgivningarna table och figure.
Flytande material kan inte användas i multicols. h: here, t: top, b: bottom. Tabelleller figurtext lägger man in med \caption. Ev. numrering görs automatiskt. Mera text. Sidformat, pappersformat, sidhuvud/-fot, pagina, mer om innehållsförteckning Exempel ev. stordia, ev. brevblankett Om paket, hitta, hitta dokumentation, installera från TeXlive e.d. Latex och PDF, DVI-PDF, hyperref-paketet Andra sätt att visa Latex på webben MathML m.m. Andra hjälpmedel: LatexIt, Metapost, Postscript, EPS Forts, multifilmanus, skärmutskrift, sakregister, presentationsmaterial (slides, seminar, pdf, prosper?, skärmdokument (pdfscreen)).\input, \include, \includeonly, \excludeonly, \typeout, \typein På Systemgruppens webbplats finns mallar för brev, rapporter och avhandlingar. Brev Jag har testat att göra en mall för mina tjänstebrev och fönsterkuvert. \documentclass[ss]{nada-brev} \usepackage[t1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[swedish]{babel} \usepackage{times} \name{staffan Romberger} \email{srom@csc.kth.se} \web{http://www.csc.kth.se/~srom/} \signature{staffan Romberger} \address{mdi, CSC, KTH, 100~44~~Stockholm. Besöksadress: Lindstedtsvägen 3, plan 6, rum 1615} \telephone{08~790~8164} \telefax{08~790~0930}
\accounts{} \begin{document} \begin{letter} {Gun Larson\\ Helgagatan 36-3-3\\ 118 58~~Stockholm} \opening{hej!} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris purus. Fusce tempor. Nulla facilisi. Sed at turpis. Phasellus euipsum. Nam porttitor laoreet nulla. Phasellus massa massa, auctor rutrum, vehicula ut, porttitor a, massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam ligula lectus, volutpat in, rutrum sit amet, ultrices at, elit. \closing{} %\cc{orci consequat} %\encl{suscipit pharetra} %\ps %P.S.: %Aenean ultrices, eros vel %sollicitudin semper, dui lacus %hendrerit metus, id ultricies %arcu arcu id mi. \end{letter} \end{document}
Resultatet (förminskat) blir: Gun Larson Helgagatan 36-3-3 118 58 Stockholm Hej! Stockholm, 2006-09-10 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris purus. Fusce tempor. Nulla facilisi. Sed at turpis. Phasellus eu ipsum. Nam porttitor laoreet nulla. Phasellus massa massa, auctor rutrum, vehicula ut, porttitor a, massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam ligula lectus, volutpat in, rutrum sit amet, ultrices at, elit. Staffan Romberger Kungliga Tekniska högskolan KTH MDI, CSC, KTH, 100 44 Stockholm. Besöksadress: Lindstedtsvägen 3, plan 6, rum 1615. Tel: 08 790 8164. Fax: 08 790 0930. E-post: srom@csc.kth.se http://www.csc.kth.se/~srom/