Käyttäjä voi omaa dokumenttiaan varten määritellä kirjoittamista
helpottavia makroja ja ympäristöjä. Määrittelyt tehdään
komennoilla \newcommand
tai \newenvironment
.
Lähes kaikki LaTeXin kenoviivalla alkavat komennot ovat itse asiassa
järjestelmään kuuluvia makroja.
Kirjoittamista voidaan helpottaa kätkemällä monimutkainen syöte makron
tai ympäristön määritelmään, jolloin syötettä tarvittaessa riittää
kirjoittaa kenoviivalla alkava makron kutsu mahdollisine parametreineen
tai muotoa \begin{...}
... \end{...}
olevat
ympäristön alku- ja loppumerkit. Ympäristöönkin voi liittyä parametreja.
Paitsi kirjoittamisen helpottamiseen makroja ja ympäristöjä käytetään dokumentin rakenteellistamiseen. Pyrkimyksenä on tällöin erottaa toisistaan dokumentin sisältö ja esitysmuoto, jolloin esitysmuotoa voidaan muuttaa vaihtamalla makrojen tai ympäristöjen määrittelyä, mutta varsinaiseen sisältöön ei korjailuja tarvita.
Seuraavassa esimerkissä on määritelty muutama makro ja yksi ympäristö. Tarkemmat tiedot syntaksista löytyvät alkeisoppaista.
\documentclass[12pt]{article} \usepackage[finnish]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \setlength{\parskip}{\medskipamount} \setlength{\parindent}{0pt} \setlength{\emergencystretch}{15pt} \thispagestyle{empty} % ei sivunumeroa \newcommand{\ee}[1]{e^{#1}} % makromäärittely; % hakasuluissa parametrien lukumäärä \newcommand{\viiva}{\mathop{\Bigg/}} \newcommand{\sij}[3]{\viiva\limits_{\hspace*{-5mm}{#1}}^{\hspace*{5mm}{#2}}{#3}} % toinen makromäärittely \newcommand{\otsake}[1]{\textbf{#1}} % kolmas makromäärittely \newenvironment{teht}[1]{[#1]\quad}{} % ympäristömäärittely \begin{document} \otsake{Esimerkki 1} Eksponenttifunktio matemaatikoiden tapaan, ts. Neperin luku kursivoituna: Syöte \verb+\ee{2x}+, tulos $\ee{2x}$. \otsake{Esimerkki 2} Muissa maissa kuin Suomessa ei käytetä määrätyn integraalin sijoitusmerkkinä isoa vinoviivaa eikä tätä ole {\LaTeX}issakaan valmiina. Sen voi itse määritellä makroksi, jolloin käyttö on helppoa: Syöte \verb+\sij{0}{\infty}{\frac{\sin x}{\ee{x}}}+, tulos \[ \sij{0}{\infty}{\frac{\sin x}{\ee{x}}} \] \otsake{Esimerkki 3} Kahden harjoitustehtävän tulostus käyttäen ympäristön \verb+teht+ määrittelyä, jossa näytetään tehtävien koodinumero hakasuluissa: \begin{teht}{int53} Laske a)~osittaisintegroinnilla ja b)~sopivaa trigonometrian kaavaa käyttämällä määrätty integraali $\int_0^{2\pi}\sin^2x\,dx$. \end{teht} \begin{teht}{dy12} Määritä se kaikilla $x$:n arvoilla jatkuva funktio $y(x)$, joka toteuttaa yhtälön \[ 2\int_0^x ty(t)\,dt = x^2 + y(x). \] \end{teht} \end{document} |
Tulos näyttää seuraavalta: esim2a.pdf
.
Lähdekoodi on tiedostossa esim2a.tex
.
Lähdetiedoston alussa olevat määrittelyt voidaan korvata toisenlaisilla, jolloin tuloksen ulkoasu muuttuu, mutta varsinaiseen sisältöön ei ole tarvinnut tehdä muutoksia (lukuunottamatta selitystekstejä). Uudet määrittelyt:
\newcommand{\ee}[1]{\mathrm{e}^{#1}} % makromäärittely \newcommand{\viiva}{\mathop{\Bigg|}} \newcommand{\sij}[3]{\left(#3\right)\viiva\nolimits_{#1}^{#2}} % toinen makromäärittely \newcommand{\otsake}[1]{\begin{center}{\large\bfseries\textsc{#1}}\end{center}} % kolmas makromäärittely \newcounter{htnro} % tehtävänumerolaskuri \newenvironment{teht}[1]% % ympäristömäärittely {\addtocounter{htnro}{1}\makebox[10mm][r]{\bfseries\large\thehtnro.\quad}% \begin{minipage}[t]{110mm}}% {\end{minipage}} |
Tulos on tiedostossa esim2b.pdf
ja
lähdekoodi tiedostossa esim2b.tex
.
Huomaa myös seuraava:
$x$
. Toisaalta vakioita ja vakionluonteisia
symboleja ei kursivoida. Tällöin Neperin luku pitäisi esittää muodossa
$\mathrm{e}$
, mutta käytäntö ei ole vakiintunutta.
\,
on hienosäätöä: se tuottaa sanaväliä
lyhyemmän välin.
\verb
. Sen jälkeen tulevasta erikoismerkistä
seuraavaan samaan erikoismerkkiin ulottuva teksti esitetään
kirjoituskonefontilla sellaisenaan. Edellä on käytetty +
-merkkiä,
mutta jokin muu merkki (jota ei ole esitettävässä tekstissä) käy yhtä
hyvin.
SKK 4.11.2011