eines informàtiques per a les matemàtiques part ii: latex · \usepackage[catalan]{babel}. (o...

21
Eines informàtiques per a les matemàtiques Part II: L A T E X A. Alabert & L. Alsedà 1er de grau de Matemàtiques Universitat Autònoma de Barcelona Índex 1 Fonaments de L A T E X 3 1.1 Què ens cal per començar .......................... 3 1.2 Un document minimal ............................ 4 1.3 Fórmules matemàtiques ............................ 5 1.4 IDE per L A T E X ................................. 8 2 Estructura del document. Taules i matrius 9 2.1 Espais i dimensions .............................. 9 2.2 Estructura del document ........................... 9 2.3 Taules i matrius ................................ 12 2.4 Alguns detalls tipogràfics ........................... 14 3 Gràfics. Material flotant. Definició de noves instruccions 15 3.1 Inclusió de gràfics externs .......................... 15 3.2 Creació i manipulació de gràfics ....................... 18 3.3 Material flotant ................................ 19 3.4 Definició de noves instruccions ........................ 20

Upload: others

Post on 25-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Eines informàtiques per a les matemàtiques

Part II: LATEX

A. Alabert & L. Alsedà

1er de grau de Matemàtiques

Universitat Autònoma de Barcelona

Índex

1 Fonaments de LATEX 31.1 Què ens cal per començar . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Un document minimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Fórmules matemàtiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 IDE per LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Estructura del document. Taules i matrius 92.1 Espais i dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Estructura del document . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Taules i matrius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Alguns detalls tipogràfics . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Gràfics. Material flotant. Definició de noves instruccions 153.1 Inclusió de gràfics externs . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Creació i manipulació de gràfics . . . . . . . . . . . . . . . . . . . . . . . 183.3 Material flotant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 Definició de noves instruccions . . . . . . . . . . . . . . . . . . . . . . . . 20

Page 2: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques
Page 3: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 3

1 Fonaments de LATEX

Aquesta és una introducció molt resumida al LATEX. El document de referència recomanatés The Not So Short Introduction to LATEX [1], que es pot trobar fàcilment en PDF ainternet. Hi ha moltíssim material a l’abast a internet: manuals, fòrums, etc.

El LATEX és un typesetting system (sistema de composició tipogràfica), adequat perproduir documents de gran qualitat visual i ben estructurats. Es considera actualmentgairebé imprescindible per a documents amb contingut tècnic, com ara fórmules mate-màtiques, i és l’estàndard en els llibres científics moderns.

Per ser precisos, el nucli de programari que permet fer tot això s’anomena TEX; enprimera aproximació i sense entrar en detalls, es pot pensar que el LATEX és una extensiódel TEX que proporciona un conjunt addicional d’instruccions per ajudar a concentrar-se en el contingut i no en la forma. Al seu torn, el LATEX és ampliable amb packagesque es poden carregar opcionalment i separadament per a cada document. Degut a lacaracterística open source de tot aquest programari, la quantitat de packages de LATEXque existeixen és impressionant.

1.1 Què ens cal per començar

Per escriure en LATEX cal usar un editor de fitxers (com ara Kate o Gedit a Linux, Notepada Windows o TextEdit a MacOSX).

El fitxer contindrà el text que es vol escriure, intercalat amb instruccions per alsaspectes de forma del document i per als caràcters i símbols que no es poden entrar ambel teclat (per exemple, \sum produeix

).El LATEX es pot pensar com un llenguatge de programació: Típicament, es crea un

fitxer de codi font (amb extensió .tex) i es compila amb un programa, com ara pdflatex,per produir un fitxer final, habitualment en format PDF.

Existeixen IDE (Integrated Development Environment) que faciliten una mica el pro-cés en proporcionar una interfície gràfica des d’on editar el fitxer i executar tots elsprogrames necessaris (per exemple, Kile a Linux, Texmaker o TeXworks a Windows,TexShop a MacOSX).

El conjunt de programes necessaris per processar el nostre fitxer font, junt amb altreseines auxiliars, es troba en les anomenades “distribucions” de TEX. Les més popularsactualment són TexLive per a Linux i Windows, MacTeX per a MacOSX, i MiKTex, per aWindows.1

Finalment, es necessita un visualitzador de fitxers PDF (per exemple, Adobe Reader,Sumatra PDF, Okular, . . . ), perquè aquest serà el format final del nostre document.

1Vegeu instruccions d’instal.lació en document apart.

Page 4: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

4 Eines informàtiques per a les matemàtiques

1.2 Un document minimal

\documentclassarticle

\begindocument

Hola, món! Mireu què he escrit:%Que pedant que sóc!

Lorem ipsum dolor sit amet, consectetur adipisicing elit,

sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris

nisi ut aliquip ex ea commodo consequat ...

\enddocument

Suposem que hem guardat aquestes línies en un fitxer de nom myfile.tex. Obriremuna consola, i navegarem al directori on es troba el fitxer2. Escriurem

pdflatex myfile.tex

El programma pdflatex compila el fitxer, indica si hi ha errors a corregir o avisos aconsiderar i produeix el fitxer final myfile.pdf.

En general, aquest procediment funcionarà i és el més ràpid. De vegades, però, serànecessari anar per la via més llarga de passar un fixer intermedi myfile.dvi. En tal cas,cal fer

latex myfile.tex

dvipdfm myfile.dvi

o bé, passant també per un fitxer Postscript (que ja es pot considerar un format final,com el PDF)

latex myfile.tex

dvips myfile.dvi

ps2pdf myfile.ps

Hi ha programes per visualitzar els fitxers .dvi3 i no haver de passar repetidament pertot el procés per veure com va quedant el PDF. En el procés es creen una sèrie de fitxersauxiliars que es poden esborrar tranquil.lament; només cal conservar el fitxer font .tex iopcionalment el .pdf final.

En tot cas, la sortida de l’exemple anterior és la següent:

Hola, mn! Mireu qu he escrit:Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tem-

por incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quisnostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat ...

2Com es fa això depèn del sistema operatiu; en K-uab-untu, feu Aplicacions -> Sistema ->

Terminal.3En K-uab-untu, teniu el Okular

Page 5: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 5

Observacions:

• La línia en blanc ha provocat un canvi de paràgraf (la instrucció \par fa el mateix).

• Els paràgrafs tenen una indentació.

• Espais en blanc entre paraules queden reduïts a un sol espai (i diverses línies seguidesen blanc equivalen a una sola).

• El que hi ha darrera del símbol % s’ignora.

• Què ha passat amb les lletres ó i è ?

Es dedueix del que hem fet que el LATEX usa certs caràcters amb fins especials. Aquestssón

% $ ^ & _ ~ # \

Per escriure realment aquests caràcters, precediu-los per un backslash \, excepte l’últim,que s’escriu amb la instrucció \textbackslash.

El problema de les lletres accentuades té a veure amb el que s’anomena input encoding(la codificació dels caràcters en els fitxers), que depèn del sistema operatiu i altres coses.Per omisió, el LATEX no entèn els caràcters accentuats, i obliga a introduir-los com \’o i\‘e. Per evitar aquesta molèstia, en Linux poseu \usepackage[utf8]inputenc entreel documentclass i el begindocument. En Windows proveu [latin1]. En MacOSX,proveu amb una o altra possibilitat.

Es convenient també especificar un font encoding, per raons que serien llargues d’expli-car aquí. Recomanem usar sempre \usepackage[T1]fontenc, i també usepackagelmodern,per obtenir un PDF de qualitat òptima.

Com es talla una paraula al final de la línia quan no hi ha més remei que tallar-la? Depenent de l’idioma en què estem escrivint, ho voldrem d’una manera o una altra.A més d’aquesta, hi ha altres subtileses relacionades amb l’idioma. La solució és usar\usepackage[catalan]babel. (o spanish, french, etc). Per escriure en anglès, nocal posar res.

1.3 Fórmules matemàtiques

Els paquets amsmath i amssymb afegeixen moltes instruccions al LATEX bàsic per escriuresímbols i fórmules matemàtiques. Per no haver de distingir què es pot fer amb ells iquè no, els carregarem sempre. Per tant, afegirem al fitxer \usepackageamsmath i\usepackageamssymb.

Una fórmula matemàtica dins d’una línia de text, com ara x2 + y2 = 1, s’escriu així:$x^2+y^2=1$. Observeu com es posen superíndexos. Els subíndexos es posen usant elblanc subratllat _. Les claus i s’utilitzen a tot arreu en LATEX per agrupar. Perexemple, W

1,2[a,b] s’obté amb $W^1,2_[a,b]$.

Com heu vist, les “instruccions” de LATEX (tècnicament anomenades control sequences)comencen amb un backslash \. Hi ha seqüències de control per a tots els símbols mate-màtics que pogueu trobar. Per exemple, observeu atentament les seqüències de controlsegüents

Page 6: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

6 Eines informàtiques per a les matemàtiques

$

\lim_n\to\infty \sum_k=1^n \frac1k^2 \ge

\int_1^\infty \frac1x^2\, dx

$

i el resultat que produeixen: limn→∞

∑nk=1

1k2 ≥

∫ ∞

11

x2 dx .Ara bé, aquesta fórmula quedaria millor en un display, o sigui en una línia per a ella

sola, adequadament separada de les línies superior i inferior. Això s’aconsegueix posant-laen un environment equation, de la manera següent:

\beginequation

\lim_n\to\infty \sum_k=1^n \frac1k^2 \ge

\int_1^\infty \frac1x^2\, dx

\endequation

que produeix:

limn→∞

n∑

k=1

1k2

∫ ∞

1

1x2

dx (1)

Observacions:

• Els espais i canvis de línia en les fórmules no tenen efecte.

• Els símbols ^ i _ per als superíndexos i subíndexos s’interpreten adequadamentquan s’utilitzen rera els operadors lim, sum, int.

• L’aparença de la fórmula és diferent dins una línia de text o en un display. Elsoperadors com sum i int tenen una forma diferent, i la posició de llurs sub i su-períndexos canvia.

• Els environments (entorns) apareixen molt en LATEX, i sempre es defineixen ambles seqüències begin i end .

• Les fórmules es numeren consecutivament en un document. Si no volem que esnumeri una fórmula, usem l’entorn equation* .

• \ge produeix el símbol de greater or equal. Podreu intuir fàcilment com es posa elde less or equal.

• Què fa la seqüència \,? Introdueix un petit espai. El LATEX col.loca els espaisraonablement bé a tot arreu, però a vegades voldrem controlar-los una mica. Aquíés una qüestió de gustos.

A l’apartat 3.10. List of Mathematical Symbols de [1] trobareu una bona col.lecció desímbols per utilitzar en fórmules matemàtiques. Feu-la servir com a referència. Encaramés exhaustiva, la col.lecció del document de 164 pàgines The Comprehensive LATEXSymbol List [2].

Anem a veure unes quantes construccions de displays més sofisticades:El environment multline permet escriure una fórmula en més d’una línia, la primera

moguda cap a l’esquerra, l’última cap a la dreta, i les del mig centrades:

Page 7: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 7

\beginmultline

(a + b)^4

= (a + b)^2 (a + b)^2

= (a^2 + 2ab + b^2)(a^2 + 2ab + b^2) \\

= a^4 + 2a^3b + a^2b^2 + 2a^3b + 4a^2b^2 + 2ab^3 + a^2b^2 + 2ab^3 + b^4 \\

= a^4 + 4a^3b + 6a^2b^2 + 4ab^3 + b^4

\endmultline

(a + b)4 = (a + b)2(a + b)2 = (a2 + 2ab + b2)(a2 + 2ab + b2)

= a4 + 2a3b + a2b2 + 2a3b + 4a2b2 + 2ab3 + a2b2 + 2ab3 + b4

= a4 + 4a3b + 6a2b2 + 4ab3 + b4 (2)

Si volem que les línies de la fórmula quedin alineades en un cert punt, usem l’entornsplit dins l’entorn equation:

\beginequation

\beginsplit

(a + b)^3 &= (a + b)(a + b)^2 \\

&= (a + b)(a^2 + 2ab + b^2) \\

&= a^3 + 3a^2b + 3ab^2 + b^3

\endsplit

\endequation

(a + b)3 = (a + b)(a + b)2

= (a + b)(a2 + 2ab + b2)

= a3 + 3a2b + 3ab2 + b3

(3)

O bé, usem l’entorn align:

\beginalign

(a + b)^3 &= (a + b)(a + b)^2 \\

&= (a + b)(a^2 + 2ab + b^2) \\

&= a^3 + 3a^2b + 3ab^2 + b^3

\endalign

(a + b)3 = (a + b)(a + b)2 (4)

= (a + b)(a2 + 2ab + b2) (5)

= a3 + 3a2b + 3ab2 + b3 (6)

Observeu la petita diferència que hi ha entre els resultats de split i align.Si volem posar diverses fórmules centrades una sota l’altre, l’entorn gather és l’ade-

quat:

\begingather

(a + b)^2 = a^2 + 2ab + b^2 \\

(a + b) \cdot (a - b) = a^2 - b^2

\endgather

Page 8: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

8 Eines informàtiques per a les matemàtiques

(a + b)2 = a2 + 2ab + b2 (7)

(a + b) · (a − b) = a2− b2 (8)

Quan es vol alinear en diferents punts, es pot usar alignat. Aquí volem alinear entres punts, i ho diem en el paràmetre addicional que especifiquem. Però de símbols &n’hi ha el doble menys un a cada línia.

\beginalignat3

x_1& = y_1-2&&y_2+y_3&&-5y_4+y_5 \\

x_2& = y_1+&&y_2 &&+7y_4

\endalignat

x1 = y1 − 2y2 + y3 − 5y4 + y5 (9)

x2 = y1+ y2 + 7y4 (10)

Amb alignedat es pot fer el mateix, però, com split, s’ha de posar dins de l’entornequation (es produirà un sol número de fórmula) i fa possible alinear només algunes deles línies:

\beginequation

\beginalignedat3

x_1& = y_1-2&&y_2+y_3&&-5y_4+y_5 \\

x_2& = y_1+&&y_2 &&+7y_4

\endalignedat

\endequation

x1 = y1 − 2y2 + y3 − 5y4 + y5

x2 = y1+ y2 + 7y4

(11)

Hi ha alineacions més sofisticades, però no les farem aquí. En tot cas, prohibiu-vosusar l’entorn eqnarray citat a [1]. Molta gent l’utilitza, però el resultat és tipogràficamentmolt pobre.

1.4 IDE per LATEX

Un Integrated Development Environment (IDE) és un programa amb interfície gràfica quecomprèn totes les eines necessàries per desenvolupar codi en algun llenguatge. Escriureen LATEX no és conceptualment gaire diferent a escriure codi en qualsevol altre llenguatgede programació. Per tant, és natural que hi hagi IDE’s per LATEX.

Un exemple de IDE per LATEX és el Kile que trobem al K-uab-untu. El Kile té un editoramb syntax highlighting i code completion, porta plantilles predefinides per a diversos tipusde document, gestiona projectes (molts fitxers relacionats), permet visualitzar l’estructuralògica del document (capítols, apartats, . . . ), hi ha menús i barres d’eines per a insertartota mena d’instruccions sense haver de recordar el seu nom, permet saltar ràpidamentendavant i endarrera entre el codi font i el document final, i es pot configurar molt a gustde l’usuari.

En MacOSX, useu TeXshop, que ve amb la distribució MacTeX. En Windows, reco-manem provar en primer lloc el TeXworks, que és molt senzill, i ve amb les distribucionsMiKTeX i TexLive. Porta incorporat un visualitzador de fitxers PDF molt lleuger i quepermet fer cerca directa i inversa (de codi font a pdf i a l’inrevés) molt ràpida. Una altraopció, més sofisticada, és Texmaker.

Page 9: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 9

2 Estructura del document. Taules i matrius

2.1 Espais i dimensions

Recordeu que els espais i els salts de línia en el fitxer font no s’acumulen, i si són dinsd’una fórmula s’ignoren totalment. El LATEX posa els espais adequats entre paraules i alfinal de la frase.

Quan volem introduir expressament espais horitzontals, tant dins de text com enfórmules, podem usar les següents seqüències de control (ordenades de més petit a mésgran, amb formes alternatives abreviades; les de la dreta produeixen espais negatius):

\thinspace \, \negthinspace \!

\medspace \: \negmedspace

\thickspace \; \negthickspace

\enskip

\quad

\qquad

i també la instrucció genèrica \hspace. Per exemple, \hspace10mm produeix un es-pai horitzontal de 10mm, com aquest. En LATEX hi ha quantitats que represen-ten longituds, i han de portar unitats, com ara els mil.límetres en aquest exemple.Poden prendre valors negatius. Una altra unitat molt habitual en tipografia son elspunts (1pt=0.3528mm). Per introduir espais verticals entre paràgrafs, tenim \smallskip,\medskip, \bigskip, i també \vspace5pt (espai vertical de 5 punts, per exemple).

Hi ha a més dues unitats relatives a la font que s’està usant: em és l’amplada d’unaM, i ex és l’alçada d’una x.

Una línia o una pàgina nova s’han d’explicitar amb \newline (equivalentment \\)o \linebreak, i \newpage o \pagebreak. Les instruccions que porten break intentenjustificar la línia i ajustar la pàgina a la seva mida (en la mesura del possible) mentreque les de new simplement tallen en el lloc on s’han indicat.

Les classes de document estàndard tenen opcions per indicar al LATEX la mida depaper i el cos de lletra que volem, entre altres coses. Per exemple,

\documentclass[a4paper, 11pt]article

Això estableix una sèrie de mesures per omisió, quant a la disposició (layout) de lapágina: els marges, l’espai ocupat per capçaleres, els peus de pàgina i notes al marge,etc. Aquestes longituds es poden canviar. Vegeu a [1], apartat 6.4. Page Layout, la llistacompleta de paràmetres i com canviar-los, mitjançant \setlength i \addtolength. Ésmillor establir-los sempre en el preàmbul del document (entre el \documentclass i el\begindocument).

Per al control del tipus de lletra i la mida, vegeu l’apartat 6.2. Fonts and Sizes del[1]. Per a les opcions bàsiques de capçaleres i peus de pàgina (headers/footers) vegeu-neel subapartat 1.6.3. Pages Styles.

2.2 Estructura del document

El LATEX té diverses seqüències de control per seccionar el document. És convenient usar-les per tal que la tipografia sigui uniforme, i es pugui, opcionalment, generar una table ofcontents (índex), i també referenciar-les dins del propi document. Tenim, de nivell mésalt a més baix,

Page 10: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

10 Eines informàtiques per a les matemàtiques

\part

\chapter

\section

\subsection

\subsubsection

\paragraph

\subparagraph

Per exemple,

\sectionL’extinció del tiranosaure

\labeltirano

produeix una nova secció, numerada correctament, amb el títol que s’indica, que a mésés guarda per generar l’índex després. En qualsevol lloc del document es pot escriure

A la secció \reftirano, pàgina \pagereftirano, hem parlat

d’un animal gros

i hi apareixerà el número de secció i la pàgina corresponents. El mecanisme label-ref

o label-pageref s’utilitza també per referenciar fórmules, figures, etc. Per tal que totesles referències s’actualitzin correctament després de fer canvis, cal compilar el fitxer duesvegades.

Freqüentment hem de fer enumeracions i llistes.

\beginitemize

\item Maple

\item \LaTeX

\item C/C++

\enditemize

produeix

• Maple

• LATEX

• C/C++

L’entorn description s’usa per a etiquetar cada entrada d’una manera diferent. Vegeuel subapartat 2.11.1. Itemize, Enumerate and Description de [1]. La manera de començarcada entrada és configurable, i es poden fer subllistes. L’entorn enumerate produeix unallista numerada:

\beginenumerate

\item Primer quadrimestre: Maple.

\item Segon quadrimestre:

\beginitemize

\item Latex.

\item C/C++

\item Introducció a l’informàtica

\enditemize

\endenumerate

Page 11: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 11

1. Primer quadrimestre: Maple.

2. Segon quadrimestre:

• Latex.

• C/C++

• Introducció a l’informàtica

Com es pot veure, es poden combinar diferents entorns de llistes uns dins els al-tres. Existeix a més un package anomenat enumerate que permet configurar molt lesenumeracions. Per exemple,

\beginenumerate[Punt A:]

\item Els números enters.

\item Els números racionals.

\item Les lletres.

\endenumerate

Punt A: Els números enters.

Punt B: Els números racionals.

Punt C: Les lletres.

Al escriure matemàtiques, necessitem també destacar definicions, lemes, proposicions,teoremes, corol.laris,. . . . El mecanisme s’explica a l’apartat 3.9. Theorems, Lemmas,. . .de [1]. Cal definir explícitament cadascun d’aquests elements, que en LATEX s’anomenengenèricament theorems. Per exemple, posant en el preàmbul

\newtheorempropProposició

queda definida una classe d’enunciats que es numeraran consecutivament. Ara podemescriure

\beginprop

Tres rectes qualssevol del pla es tallen en un punt

(si el punt es prou gros).

\endprop

i obtenim

Proposició 1. Tres rectes qualssevol del pla es tallen en un punt (si el punt es prougros).

Amb el package amsthm els enunciats es poden configurar més i tenim un entorn proof

que va bé per a escriure demostracions:

\beginproof

Apliqueu la teoria de la relativitat.

\endproof

Demostració. Apliqueu la teoria de la relativitat.

Page 12: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

12 Eines informàtiques per a les matemàtiques

El títol d’un document, en la classe article, es defineix amb \title , i l’autor amb\author . L’ordre \maketitle els fa aparèixer explícitament. L’ordre \tableofcontents

fa aparèixer l’índex de capítols, seccions, etc.Es poden crear altres índexs. Per exemple, el típic índex de paraules al final dels

llibres. Per a això s’utilitza un programa que s’anomena makeindex. Vegeu els detallsa l’Apartat 4.3. Indexing de [1]. Un altre “índex” comú és la llista de referències (obibliografia), explicat a apartat 4.2. Bibliography; el programa bibtex que s’hi esmentaés una opció a considerar per a projectes molt grans, però no és imprescindible.

L’últim element important en l’estructura del document és el material flotant. Elveurem en l’Apartat 3.

2.3 Taules i matrius

Per fer taules, l’entorn bàsic és tabular. Permet fer línies horitzontals i verticals i unacerta flexibilitat per col.locar els elements de la taula. Per exemple:

Quins cognoms se t’acudeixen? −→Emmy . . . Bernhard . . . Gottfried . . .

Carl Friedrich . . . Henri . . . Ada . . .

Aquesta taula l’ha produïda el codi següent, on s’aprecien els elements bàsics:

• El posicionament respecte la línia, que pot ser [t] (top), [c] (center), [b] (bottom).

• El format: l c r per alinear a esquerra, centre i dreta; | per una línia vertical;p30mm per fer un paràgraf en vàries línies i una amplada de 30mm.

• Les instruccions \hline per les línies horitzontals.

• Els & per separar les columnes; els \\ per canviar de línia.

\setlength\extrarowheight8pt

\begintabular[c]|l|c|r|

\hline

Emmy \dots & Bernhard \dots & Gottfried \dots \\

\hline

Carl Friedrich \dots & Henri \dots & Ada \dots \\

\hline

\endtabular

A més, en aquesta taula hem fet que les files tinguin una alçada superior a la que tindriende manera natural: extrarowheight és un paràmetre de dimensió, al qual es pot donarun valor usant setlength. Però no és un paràmetre que estigui definit en el LATEX bàsic.Cal carregar el package array, que estén força les possibilitats de l’entorn tabular.

En fórmules matemàtiques cal fer també disposicions en forma de taula. Per exemple:

Page 13: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 13

\beginequation

P_r - j =

\begincases

0 & \textif $r - j$ is odd, \\

r! \, (-1)^(r - j)/2

& \textif $r - j$ is even.

\endcases

\endequation

Pr−j =

0 if r − j is odd,

r! (−1)(r−j)/2 if r − j is even.

\begingather*

\beginmatrix 0 & 1 \\ 1 & 0 \endmatrix \quad

\beginpmatrix 0 & -i \\ i & 0 \endpmatrix \\

\beginbmatrix 0 & -1 \\ 1 & 0 \endbmatrix \quad

\beginBmatrix 1 & 0 \\ 0 & -1 \endBmatrix \\

\beginvmatrix a & b \\ c & d \endvmatrix \quad

\beginVmatrix i & 0 \\ 0 & -i \endVmatrix

\endgather*

0 1

1 0

0 −i

i 0

0 −1

1 0

1 0

0 −1

a b

c d

i 0

0 −i

\beginequation*

\sum_\substack0 \le i \le m \\ 0 < j < n P(i, j)

\endequation*∑

0≤i≤m0<j<n

P (i, j)

De vegades, per aconseguir alineacions correctes, és útil recòrrer al truc següent:\phantom produeix una caixa en blanc amb l’amplada, l’alçada i la profunditat delque hi hagi dins de les claus, però buida. La versió \hphantom no ocupa espai vertical,i la \vphantom no ocupa espai horitzontal.

A les variants de \matrix que hem vist més amunt, els parèntesis agafen automàtica-ment l’alçada adequada per enquadrar allò que tenen dins. Aquests i altres símbols tenenla propietat de ser delimitadors extensibles verticalment, i agafen l’alçada adequada si elsprecedim de les seqüències \left i \right. Per exemple,

(∫ 1

0arcsin x dx

)

n∑

k=0

P (k)

= ζ(n)

Page 14: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

14 Eines informàtiques per a les matemàtiques

està fet amb

\beginequation*

\left(\int_0^1 \arcsin x\,dx\right)

\qquad

\left\lfloor\sum_k=0^n P(k)\right\rfloor = \zeta(n)

\endequation*

Es pot donar als delimitadors una mida concreta precedint-los per \big \Big \bigg

\Bigg .

2.4 Alguns detalls tipogràfics

Si us fixeu en els llibres ben fets, les cometes són diferents segons tanquin o obrin. Useul’accent obert ‘‘ per fer cometes que obren i l’apòstrof ’’ per les que tanquen.

El símbol de l’euro e està produït per \euro si hem fet \usepackageeurosym.El guió s’utilitza en fórmules com a signe menys, i el LATEX ja s’ocupa de la seva

mida correcta i els espais que l’envolten. En el text ordinari, els guions s’usen amb finsdiversos i la seva mida depèn. Per a paraules compostes, escriviu pit-roig; per a rangs,pàgines 37--42; per a parèntesis —com ara aquí— poseu ---com ara aquí---.

El pit-roig —va dir el boig— s’ha menjat les pàgines 37–42

Page 15: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 15

3 Gràfics. Material flotant. Definició de noves ins-truccions

3.1 Inclusió de gràfics externs

Hi ha moltes maneres de produir i manipular gràfics en LATEX. La més elemental consisteixen incloure directament un fitxer gràfic generat per un altre programa. Per fer això,posarem

\usepackagegraphicx

en el preàmbul.Suposem que tenim una foto en un fitxer en format JPEG, anomenat emperador.jpg.

L’ordre \includegraphicsemperador.jpg l’inclou en el document.

També podem incloure directament una imatge en format PNG, que és un dels mésusats actualment en pàgines web. L’ordre \includegraphics admet diverses opcionsper manipular la imatge en el moment d’incloure-la. En podeu veure unes quantes al’Apartat 4.1. Including Encapsulated Postscript de [1]. La més important seguramentés la que permet escalar la imatge. Per a la foto anterior, s’ha utilitzat en realitat\includegraphics[scale=0.3]emperador.jpg, perquè la foto era massa gran.

Les imatges en JPEG i PNG tenen una certa pèrdua de qualitat, perquè aquests sónformats comprimits, que permeten mides de fitxer petites. Això no és cap problema ambfotografies i dibuixos artístics, però sí en dibuixos lineals o que contenen text. En aquestcas, el format adequat és el EPS (Encapsulated PostScript). Aquí hem inclòs un fitxerEPS amb l’ordre \includegraphicssuperficie.eps:

Page 16: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

16 Eines informàtiques per a les matemàtiques

No obstant, pdflatex no funciona per incloure EPS’s. Cal usar una de les vies llarguesesmentades a l’Apartat 1.2 per obtenir el document final en PDF. Si un fitxer ha deincloure fitxers tant en JPEG com en EPS, aleshores la solució més raonable consisteixen:

1. Determinar la bounding box del fitxer JPEG. Això es pot fer amb el programaidentify, inclòs en el completíssim paquet de manipulació de gràfics ImageMagick.Fent

identify emperador.jpg

obtenim la sortida

emperador.jpg JPEG 480x640 480x640+0+0 8-bit DirectClass 85.5KB ...

2. Modificar la inclusió del gràfic per a què especifiqui la bounding box:

\includegraphics[bb=0 0 480 640, scale=0.3]emperador.jpg

3. Usar els programes latex i dvipdfm per obtenir el PDF.

Una altra solució és convertir els fitxers de gràfics d’un format a un altre. Per exemple,el programa convert, que també ve a l’ImageMagick, podria convertir el fitxer EPS aformat PDF, que sí es podria usar amb pdflatex:

convert superficie.eps superficie.pdf

Page 17: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 17

Però canviar de format una imatge sempre és una solució d’ultim recurs, perquè es perdqualitat o altres propietats.

La superfície de la figura anterior ha estat dibuixada amb Gnuplot, un programa moltinteressant per a dibuixar corbes a partir de fórmules. També el Maple pot guardar elsseus gràfics en EPS; només cal obrir el menú contextual sobre el gràfic, i seleccionarExport -> Encapsulated PostScript. Un worksheet sencer de Maple es pot guardaren un fitxer LATEX fent File -> Export As... en el menú principal. A la vegada que escrea el fitxer .tex, es creen els EPS dels gràfics.

Si volem posar símbols, fórmules o text en els gràfics, una manera de fer-ho és usar elpaquet overpic, que permet posar una graella provisional sobre el dibuix:

\beginoverpic

[grid,tics=10]superficie.eps

\endoverpic

0 10 20 30 40 50 60 70 80 90 100

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

0

10

20

30

40

50

60

70

Amb l’ajuda de la graella, podem posicionar fàcilment una etiqueta en el lloc desitjat.

\begincenter

\beginoverpic

superficie.eps

\put(37,44)$S$

\put(56,42)$x$

\endoverpic

\endcenter

Page 18: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

18 Eines informàtiques per a les matemàtiques

Sx

3.2 Creació i manipulació de gràfics

Es poden crear i manipular gràfics amb LATEX directament, de maneres diverses. Perexemple, el mateix paquet graphicx permet fer\scalebox0.8[1.2]$\int_0^x f’(t)\,dt=f(x)-f(0)$,que escala el material contingut a l’últim argument, produint, en aquest exemple,∫ x

0 f ′(t) dt = f(x) − f(0).

O també \rotatebox30creixent, que produeix creixent

.Els diagrames commutatius i altres esquemes similars es poden fer amb el paquet

xypic. Per exemple,U

y

x

&&

(x,y)

$$

X ×Z Y

p// X

f

Yg

// Z

produït per

\beginequation*

\xymatrix

U \ar@/_/[ddr]_y \ar@/^/[drr]^x

\ar@.>[dr]|-(x,y) \\

& X \times_Z Y \ar[d] \ar[r]_p

& X \ar[d]_f \\

& Y \ar[r]^g & Z

\endequation*

Altres solucions que permeten fer elements gràfics generals amb el LATEX mateix, i pertant de manera totalment portable i independent dels drivers que posteriorment s’usin,

Page 19: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 19

bb

""

bb

""

O

CH3SO2–N

CH3""

bb

""

bb

""

O

N–SO2CH3

CH3"" IC A R1

510 kΩ

IB A ÿ ó Ub

þFigura 1: Química orgànica i electrònica

ăIG

2222 2424 ˇ ˆ ˇ ˇ ˆ

ÊÊ

ˇ ˆ ˇ ˇÊʈ ˇ 2

ˇ ˆ ˇˇ ˆ ˇˇ ˇˇ ˇ

3

ˇ ˆ ˇ ˇ ˆ

ÊÊ6ˇˇ ˇˇ ˇ ˇˇ ˇ ˇˇ ˇ ˇˇ

4

ˇ ˇˇˇ ˇ ˇˇ ˇ

Figura 2: Música

són l’entorn picture i els paquets tikz i pstricks (vegeu [1], capítol 5. ProducingMathematical Graphics).

Hi ha també molts paquets especialitzats en gràfics de tipus concrets. A les Figures1, 2, 3 teniu alguns exemples dels resultats que es poden aconseguir.

3.3 Material flotant

A l’apartat anterior tenim unes figures que van numerades, i amb una llegenda. A més,aquestes figures són “material flotant”. No apareixen exactament en el lloc on estanposades en el fitxer font, sinó que el LATEX les situa de manera automàtica.

Hi ha dos tipus bàsics de material flotant: Les figures i les taules. Les figures esdefineixen amb l’entorn figure i les taules amb l’entorn table. Per exemple,

\beginfigure

material-de-la-figura

\captionLa llegenda de la figura

\labeletiqueta

\endfigure

Se la pot referenciar amb \refetiqueta, de manera similar a seccions i fórmules.A la Taula 1 tenim una taula similar a la del Subapartat 2.3, posada com a material

flotant dins de l’entorn table. El codi corresponent és:

Page 20: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

20 Eines informàtiques per a les matemàtiques

8rZbl0skZ7Z0o0apop6pZ0o0m0Z5mpZPo0Z040Z0ZPZ0Z3Z0O0ZNZP2POBZ0OPZ1S0AQSNJ0

a b c d e f g h

4 1

2 6 4

6 7 9 2

2 4

1 7 9 6

3 2

1 3 7 9

7 5 3

8 1

Figura 3: Escacs i sudokus

Emmy Noether Bernhard Riemann Gottfried Leibniz

Carl Friedrich Gauss Henri Poincaré Ada Lovelace

Taula 1: Algunes persones llestes

\begintable

\begintabular[c]|l|c|r|

\hline

Emmy Noether & Bernhard Riemann & Gottfried Leibniz \\

\hline

Carl Friedrich Gauss & Henri Poincaré & Ada Lovelace \\

\hline

\endtabular

\captionAlgunes persones llestes

\labelllestos

\endtable

3.4 Definició de noves instruccions

Per denotar el conjunt dels nombres naturals, escrivim habitualment N. Aquest tipusde lletra especial s’anomena blackboard bold i s’obté fent $\mathbbN$. Però si hemde referir-nos molts cops a aquest conjunt, es fa pesat repetir aquesta instrucció cadavegada.

El que voldríem és que una seqüència de control curta, per exemple, \N, o fàcil derecordar, com ara \Naturals, fes tota la feina. Això s’aconsegueix així

\newcommand\N\mathbbN

A partir del moment en què es fa això, la seqüència de control \N és a tots els efectesequivalent a \mathbbN. Encara ho podem fer una mica més sofisticat:

\newcommand\N\ensuremath\mathbbN

Page 21: Eines informàtiques per a les matemàtiques Part II: LATEX · \usepackage[catalan]{babel}. (o spanish, french, etc). Per escriure en anglès, no cal posar res. 1.3 Fórmules matemàtiques

Grau de Matemàtiques — Universitat Autònoma de Barcelona 21

que assegura que estem entre signes $, i si no hi són els posa.Si intentem definir una instrucció que ja ha estat definida abans, sigui per nosaltres

o sigui una instrucció estàndard, provocarem un error. En tal cas, o bé escollim un altrenom per a la nova instrucció o bé, si no necessitem la definició antiga, podem “redefinir-la”. Només cal substituir \newcommand per \renewcommand.

Suposem ara que heu d’escriure moltes vegades expressions com ara (x1, . . . , xn),(y1, . . . , ym), etc, que s’assemblen però difereixen una mica. Podem aleshores definir unainstrucció amb paràmetres:

\newcommand\vect[2](#1_1,\dots,#1_#2)

El [2] indica que hi ha dos paràmetres. El primer està representat per #1 i el segon per#2. Podrem aleshores escriure

$ \vectxn, \vectym $

per obtenir (x1, . . . , xn), (y1, . . . , ym) .També és possible definir nous entorns amb \newenvironment. Consulteu [1], apartat

6.1. New Commands, Environments and Packages, si en teniu necessitat.

Referències

[1] T. Oetiker, H. Partl, I. Hyna, E. Schlegl. The Not So Short Introduction to Latex.(en PDF a internet).

[2] S. Pakin. The Comprehensive Latex Symbol List. (en PDF a internet).

[3] K. Reckdahl. Using imported graphics to LATEXand pdfLATEX. (en PDF a internet).

[4] Wikibooks: LATEX. http://en.wikibooks.org/wiki/LaTeX

[5] F. Mittlebach, M. Goossens. The Latex Companion. 2nd edition. Addison-Wesley,2004.