Cursus LaTeX deel 10
voortgezet door Dick Tanis

Dit is deel 10 van de LaTeX cursus. Na een kleine pauze van 2 maanden gaan we gewoon weer verder. De vorig keer hadden we diverse wiskundige functies, symbolen en dergelijke behandeld en nu behandelen we van matrices en arrays em theorema's. Verder behandelen we deze keer het afbreken en spatiëren van formules.

Het komt voor dat de spatiëring van in formules niet helemaal perfect is, we kunnen dit aanpassen via de speciale spatiëring commando's. De vorige keren hebben we er al een paar langs zien komen zoals quad en qquad. Voor kleine spatiëringen hebben we \, 3/18 quad, \: 4/18 quad en \; voor 15/18 quad. De escape karakter \(spatie) geeft een normale spatie en \quad en \qquad genereren grote spaties. De grootte van \quad verhoudt zich tot de letter 'M' van het huidige lettertype. Het \!-commando genereert een negatieve spatie van 3/18 quad.

\newcommand{\ud}{\mathrm{d}}
\begin{displaymath}
\int\!\!\!\int_{D} g(x,y) \, \ud x\, \ud y
\end{displaymath}
inplaats van
\begin{displaymath}
\int\int_{D} g(x,y) \ud x \ud y
\end{displaymath}

Aangezien 'd' geen variabele is, gebruiken we \mathrm om een staande letter te krijgen. Bij dit voorbeeld is gebruik gemaakt van een macro-commando \ud zodat we niet elke keer \mathrm hoeven te gebruiken. Macro-commando's worden later in deze cursus uitgebreid behandeld. Met het pakket amslatex kunnen we de spatiëring tussen meerdere integralen instellen. Dit doen we met de commando's: \iint, \iiint, \iiiint, en \idotsint. Het vorige wordt met het amsmath pakket geladen, als volgt:

\newcommand{\ud{{\mathrm{d}}
\begin{displaymath}
\iint_{D} \, \ud x \, \ud y
\end{displaymath}

Om materiaal verticaal uit te lijnen zoals matrices e.d, maken we gebruik van de array omgeving. Deze omgeving is bijna identiek aan de tabular omgeving. Met \\ geven we het einde van een rij aan.

\begin{displaymath}
\mathbf{X} =
\left( \begin{array}{ccc}
x_{11} & x_{12} & \ldots \\
x_{21} & x_{22} & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{displaymath}

De array omgeving kunnen we ook in situaties, waarbij we maar één afscheidingsteken willen, gebruiken. Dit doen we door het rechter afscheidingsteken onzichtbaar te maken door er een . achter te zetten:

\begin{displaymath}
y = \left\{ \begin{array}{lll}
 a   & \textrm{if $d>c$}\\
 b+x & \textrm{'s morgens} \\
 l   & \textrm{de hele dag} \\
 \end{array} \right.
\end{displaymath}

Net als bij tabellen, kunnen we lijnen gebruiken om de aparte cellen af te bakenen:

\begin{displaymath}
\left(\begin{array}{c|c}
 1 & 2 \\
\hline
 3 & 4
\end{array}\right)
\end{displaymath}

Om formules over meerdere regels uit te laten lopen of onder elkaar uit te lijnen, gebruiken we de omgeving eqnarray. Met eqnarray krijgt elke regel een nummer. Als we dit niet willen dan gebruiken we de eqnarray* omgeving. De eqnarray omgeving werkt als een 3-koloms tabel met de volgende vorm {rcl}, waarbij de middelste kolom gebruikt kan worden voor het = of ander vergelijkingsteken, andere tekens mag ook. Met \\ wordt een regel/rij afgebroken.

\begin{eqnarray}
f(x) &  = & \cos x  \\
f'(x) & = & -\sin x \\
\int_{0}^{x} f(y)\mathrm{d}y &
 = & \sin x
\end{eqnarray}

De ruimte tussen het = teken en de rest van de formules is in dit voorbeeld best groot. Dit kan verkleind worden met het commando \setlength\arraycolsep{2pt}.

Aangezien lange formules niet automatisch in kleine stukjes worden gehakt, moeten we dit dus zelf doen. Hierbij moeten we de formule afbreken en op de volgende regel voldoende laten inspringen om de formule goed uit te lijnen. Dit kunnen we op 2 manieren doen:

{\setlength\arraycolsept{2pt}
\begin{eqnarray}
\sin x & = & x - \frac{x^{3}}{3!} 
     +\frac{x^{5}}{5!}-{}
     \nonumber\\
 & & {}-\frac{x^{7}}{7!}+{}\cdots
\end{eqnarray}}

\begin{eqnarray}
\lefteqn{ \cos x = 1
 -\frac{x^{2}}{2!} +{} }
 \nonumber\\
& & {}+\frac{x^{4}}{4!}
  -\frac{x^{6}}{6!}+{}\cdots
\end{eqnarray}

Met het \nonumber-commando onderdrukken we de nummering van de huidige regel. In sommige gevallen werken deze 2 bovenstaande methodes niet goed. We kunnen dan beter gebruik maken van het pakket amspath om formules uit te lijnen. Hier gaan we in deze cursus niet verder op in.

Soms is het handig om alleen de ruimte van een letter te gebruiken inplaats van de letter zelf. Bijvoorbeeld om iets beter uit te lijnen. LaTeX heeft hiervoor het \phantom-commando. Dit commando is bijvoorbeeld erg handig als we tekst in super- en subschrift hebben staan die anders dan normaal, uitgelijnd moeten worden. Hierbij 2 voorbeelden:

\begin{displaymath}
{}^{12}_{\phantom{1}6}\textrm{C}
\qquad \textrm{versus} \qquad
{}^{12}_{6}\textrm{C}
\end{displaymath}

\begin{displaymath}
\Gamma_{ij}^{\phantom{ij}k}
\qquad \textrm{versus} \qquad
\Gamma_{ij}^{k}
\end{displaymath}

In de wiskunde-modus wordt de grootte van het lettertype aangepast aan de context. Neem bijvoorbeeld super- en subschrift, hierbij wordt automatisch een kleinere grootte geselecteerd. Gebruik niet het \textrm-commando om normale tekst in formules te gebruiken want dan werkt het automatische aanpassingsmechanisme niet meer, omdat er tussentijds gewisseld wordt naar tekst-modus. Gebruik daarentegen \mathrm om tijdelijk normale letters te gebruiken. Het aanpassingsmechanisme werkt met dit commando nog wel goed maar let wel op dat we dit alleen voor kleine items kunnen gebruiken. Spaties worden namelijk genegeerd en we kunnen ook geen gebruik maken van karakters met accenten.

\begin{equation}
2^{\textrm{nd}} \quad
2^{mathrm{nd}}
\end{equation}

Soms moeten we LaTeX vertellen welke grootte de symbolen moet krijgen. In de wiskunde omgeving gebruiken we hiervoor de volgende stijl-commando's:

\displaystyle, \textstyle, \scriptstyle en \scriptscriptstyle.

\begin{displaymath}
\displaystyle 123 \textstyle 123 \scriptstyle 123 \scriptscriptstyle 123
\end{displaymath}

Natuurlijk schaalt de grootte van de afscheidingstekens mee met de gekozen stijl.

\begin{displaymath}
\mathop{\mathrm{corr}}(X,Y)=\frac{\displaystyle
  \sum_{i=1}^n(x_i-\overline x)
  (y_i-\overline y)}
  {\displaystyle\biggl[
  \sum_{i=1}^n(x_i-\overline x)^2
\sum_{i=1}^n(y_i-\overline y)^2
\biggr]^{1/2}}
\end{displaymath}

In dit voorbeeld zijn de standaard versies van de recht haken te klein dus gebruiken we \biggl[ en \biggr].

Bij het maken van wetenschappelijke documenten kunnen we niet zonder "Lemma's", "Definities", "Axioma", "Wetten" en dergelijke structuren. Ook deze structuren worden natuurlijk ondersteund door LaTeX. Hiervoor gebruiken we het commando:

\newtheorem{naam}[teller]{tekst}[sectie]

Hierin is de naam een sleutelwoord die het type theorema aangeeft. In het tekst argument komt de echte naam van het theorema te staan die in het uiteindelijke document wordt afgedrukt.

Alle argumenten tussen de vierkante haken zijn optioneel. Ze worden beide gebruikt voor de nummering van de theorema's. In het teller argument zetten we het sleutelwoord van de vorige gedefinieerde theorema. Met het sectie argument kunnen we het nummer van de paragraaf gebruiken als start voor de nummering van de theorema's in diezelfde paragraaf.

Het \newtheorem-commando definieert een nieuwe omgeving dus moeten we deze commando's in het LaTeX-bestand voor het commando \begin{document} zetten. In het document gebruiken we dan de volgende commando's om het gedefinieerde theorema te starten.

\begin{naam}[tekst]
Dit is een heel interessant theorema
\end{name}

Nu komen er nog wat voorbeelden om alle mogelijkheden van het \newtheorem-commando duidelijker te maken.

%defenities van de theorema's
\newtheorem{bewering}{Bewering}
\newtheorem{vraag}[bewering]{Vraag}
%in het document
\begin{bewering} \label{bew:1}
\'e\'en van de volgende beweringen is onwaar
\end{bewering}
\begin{bewering} \label{bew:2}
twee van de volgende beweringen zijn onwaar
\end{bewering}
\begin{vraag}[Het raadsel]
Is bewering \ref{bew:1} of \ref{bew:2} waar of zijn beide beweringen waar?
\end{vraag}

We zien hier dat de theorema 'vraag' nu meegenummerd wordt met de beweringen. Verder kunnen we een theorema een extra titel geven door deze na het begin van de omgeving tussen rechte haken te plaatsen.

\section{Wetten}
\subsection{Bijzondere wetten}
\flushleft
\newtheorem{mur}{Murphy}[subsection]
\begin{mur}
Als er meer dan \'e\'en manier is om een taak te doen, en \'e\'en van die manieren in een ramp zal resulteren, dan zal iemand het zo doen.
\end{mur}

Zoals we zien krijgt de wet van Murphy het nummer van de huidige sub-paragraaf. Inplaats van subsection kunnen we bijvoorbeeld ook section en chapter gebruiken.

Het is in LaTeX meestal erg moeilijk om symbolen vet af te drukken. Bijvoorbeeld het commando \mathbf geeft wel een vetgedrukte letter maar deze is dan weer niet cursief terwijl wiskundige symbolen normaal wel cursief worden afgedrukt. We zouden het commando \boldmath kunnen gebruiken maar die werkt alleen buiten de wiskundige omgeving en dat ook voor symbolen.

\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}

We zien nu dat de komma ook vet wordt afgedrukt wat natuurlijk niet echt de bedoeling is. Met het pakket amsbsy (amsmath bevat dit pakket ook) kunnen we dit probleem oplossen met het commando \boldsymbol.

\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}
\end{displaymath}

Zo dit was het weer voor deze keer. De volgende keer behandelen we het maken en toevoegen van afbeeldingen aan documenten.

Voor verdere opmerkingen of vragen, ben ik bereikbaar op onderstaand e-mailadres:

dtanis@student.ru.nl

Dick Tanis