Pàgines

dimarts, 6 d’agost del 2013

Actualització de presentacions amb beamer

beamer ha tingut un desenvolupament força important en les darrers temps

En les darreres presentacions on hem utilitzat la classe beamer no utilitzàvem les novetats que darrerament s’hi han incorporat després que el seu autor passés el testimoni del desenvolupament de la classe a altres programadors. Per això hem volgut actualitzar alguns punts que ja havíem tractat anteriorment, per exemple en l’article Presentacions amb Beamer, a Transició de diapositives en PDF, a Trucs per presentacions o al més recent Pechakucha amb LaTeX.

Què hi podríem destacar? Potser els canvis més importants han vingut en la possibilitat de personalitzar de manera fàcil els temes i l’aspecte en general de les presentacions. Vegeu, per exemple, el PDF adjunt anomenat presentacio-3.pdf on amb l’ajut de l’estil Manhattan, d’en Sebastian Pipping, aconseguim una presentació semblant a les produïdes pel programa keynote de Mac.

Altres novetats són la facilitat per utilitzar logos, imatges en portada o imatges de fons. També és més fàcil ara definir nous blocs com a caixes de text, proposant el propi paquet la realització d’una mena de post-it per destacar contingut. També és molt fàcil fer botons amb que permeten navegar ràpidament entre les parts de la presentació o sortir a documents a la web. Finalment, podem incorporar animacions, vídeos i so al document pdf, però aquesta és una possibilitat que afegeix pes i que pot ser solucionada amb botons a enllaços a llocs externs on obrir les fitxers multimèdia.

Podreu veure aquestes possibilitats en la presentacio2.pdf i estudiar-ne el codi al document tex font. Com sempre la recomanació és obrir la presentació en pantalla completa i activar el mode de presentació. Veureu també les transicions de diapositiva que tan sorprenen als que desconeixen el format pdf perquè es conformen amb els pogüerpoins.

Publicat per primera vegada el dimarts 31 de juliol de 2012.

Glossaris amb el paquet glossaries

Usant makeindex per crear glossaris

En l’article Glossaris amb BibTeX ja vàrem veure com crear glossaris senzills amb l’ajut del paquet gloss i BibTeX   En aquesta ocasió veurem com fer-los amb el paquet glossaries, un paquet molt potent que utilitza la feina que fa en segon terme el paquet makeindex (o xindy) per crear glossaris amb enllaços a les pàgines d’ocurrència.

El paquet es crida al final del preàmbul del document després d’hyperref amb diferents opcions, per exemple:
\usepackage[style=treehypergroup,nolong,nosuper,%
%style=nolong,%
%style=nosuper,%
%style=long,%
%style=list,%
%style=super,%
toc,% % surt a la TaulaDeContinguts
translate=false,% % perquè aparegui la traducció catalana
%numberline, % a la TdC alinea al text i no als números
%acronym,% % per l'ús d'acrònims
numberedsection,% % numera (capítol o secció) el Glossari a la TdC
%description,% % permet el camp 'descripció' de les entrades
%footnote,% % posa els textos en notes al peu
%smallcaps,% % escriu els termes en versaletes
]{glossaries}
Ara cal crear les entrades del glossari amb el comandament
\newglossaryentry{etiqueta}{opcions}
per exemple:
\newglossaryentry{etiqueta}{%
name={Nom de l'entrada tal com apareixerà al document},%
description={Breu descripció. Per deixar-ho en blanc escriure description=\nopostdesc. Per fer paràgrafs: \glspar},%
descriptionplural={Plural de la descripció},%
first={Com es veurà l'entrada quan s'utilitzi per primer cop. Si està en blanc s'usa name},%
plural={Com es veu l'entrada quan s'usa \glspl. Si no es diu res s'afegirà al name una s final},%
firstplural={Com es veu l'entrada quan s'usa per primera vegada \glspl},%
symbol={Per associar un símbol a l'entrada, si es deixa en blanc s'associa \relax},%
symbolplural={Per posar el plural del símbol},%
sort={Per indicar com s'ha de classificar alfabèticament},%
type={Etiqueta del glossari al que pertany l'entrada, si no es diu res és el glossari per defecte.},%
see=[vegeu també]{Etiqueta d'una altra entrada per enllaçar-la},%
parent={etiqueta de l'entrada de la que penja pels glossaris en arbre}%
}
A l’exemple següent hem aprofitat el camp symbol per escriure en cursiva el nom científic de l’espècie, hem creat una referència creuada a una altra entrada al camp see i la fem penjar d’una entrada "pare" que recull les entrades d’espècies de rèptils:
\newglossaryentry{tortugaestany}{%
name={tortuga d'estany},%
description={és la tortuga d'aigua autòctona dels Països Catalans i es troba en un estat de conservació de perill d'extinció per culpa de la degradació del seu hàbitat i de la competència d'espècies introduïdes per l'home com la tortuga d'orelles vermelles o la tortuga d'orelles grogues},%
plural={tortugues d'estany},%
symbol={\textit{Emys orbicularis}},%
see=[vegeu també]{tortugarierol},%
parent={reptil}
}
Les entrades es poden posar al preàmbul del propi document, o millor encara, en un document a part que es crida amb el comandament
\loadglsentries{NomFitxerAmbEntradesSenseExtensió}
Finalment activem la creació del glossari amb \makeglossaries, similar al clàssic \makeindex.

Al lloc del document on volem que aparegui el glossari hi posem \printglossary[title=Títol].

El paquet no té traducció catalana per la qual cosa al preàmbul cal fer-ne la traducció dels termes:
\usepackage[catalan]{babel}
\usepackage[catalan]{translator}
\addto\captionscatalan{%
\renewcommand*{\glossaryname}{Glossari}%
\renewcommand*{\acronymname}{Relació d'entrades}%
\renewcommand*{\entryname}{Notació}%
\renewcommand*{\descriptionname}{Descripció}%
\renewcommand*{\symbolname}{Símbol}%
\renewcommand*{\pagelistname}{Pàgina}%
\renewcommand*{\glssymbolsgroupname}{Símbols}%
\renewcommand*{\glsnumbersgroupname}{Nombres}%
}%
Ara ja estem en disposició d’utilitzar els termes del glossari al document. Quan en el nostre text n’apareix un el podem inserir amb algun d’aquests comandaments:

  • \gls{etiqueta} escriurà el contingut del camp name tal com està definit. 
  • \Gls{etiqueta} escriurà el contingut del camp name amb la inicial majúscula. 
  • \glspl{etiqueta} escriurà el contingut del camp plural tal com està definit. 
  • \Glspl{etiqueta} escriurà el contingut del camp plural amb la inicial majúscula. 

Un cop tenim escrit el document hem de seguir aquestes passes per passar-lo a PDF:

1: Processem el document amb
pdflatex NomDelDocument
un parell de cops per crear totes les referències creuades i la TdC.

2: Creem el glossari amb el comandament
makeglossaries NomDelDocument
3: Finalment tornem a processar amb
pdflatex NomDelDocument
Podeu veure el resultat de l’ús del glossari amb l’estil d’arbre (entrades "pare" de la que pengen subentrades) al fitxer PDF adjunt. També trobareu adjunts el document tex font per estudiar-ne el codi o usar-lo de plantilla i el document amb les entrades del glossari.

Publicat per primera vegada el divendres 27 de juliol de 2012.

dilluns, 5 d’agost del 2013

Gràfics de barres amb datatool

datatool és un paquet que permet visualitzar dades a més de gestionar-les (2)

A l’article Gràfics de sectors circulars amb datatool vam veure com representar dades en gràfics de sectors. En el present article veurem com fer-ho en gràfics de barres.

El paquet databar del conjunt datatool permet generar gràfics de barres verticals o horitzontals a partir de les dades d’un fitxer extern en format CSV. Es tracta d’un paquet amb força opcions i comandaments que permeten personalitzar els gràfics obtinguts de manera que representin perfectament les nostres dades.

El paquet es crida al preàmbul del document:
\usepackage[%gray, % no posa colors
%horizontal % Crea gràfics horitzontals
]{databar}
Com que es tracta de gestionar i representar les dades d’un fitxer extern (poblacio.csv en el nostre exemple) abans de res hem de crear una base de dades que també hem anomenant poblacio:
%crea la base de dades 'poblacio' a partir del fitxer extern CSV:
\DTLloaddb{poblacio}{poblacio.csv}
Ara ja podem generar el gràfic amb el comandament \DTLbarchart amb les opcions desitjades:
\DTLbarchart{variable=\poblacio,% % defineix la variable sobre la que crea el gràfic
axes=both,% % mostra els 2 eixos (pot ser també none, x o y
ylabel={Població en milions de persones},% % etiqueta dels valors de l'eix Y
upperbarlabel={\poblacio},% % etiqueta amb el valor sobre la barra
verticalbars=true,% % barres verticals
barlabel=\continent,% % etiquetes de les barres
}
{poblacio}{\poblacio=Poblacio,\continent=Continent}
El paquet, però, permet representar no una sola variable sinó més d’una emprant aleshores el comandament \DTLmultibarchart i definint les variables que volem representar:
\DTLmultibarchart{variables={\poblacio,\esperanca},% representarem 2 variables
axes=both,% % mostra els 2 eixos (pot ser també none, x o y
ylabel={Població en milions de persones i esperança de vida en anys},% % etiqueta eix Y
verticalbars=true,% % barres verticals
barwidth=15pt,% % amplada de les barres en punts
uppermultibarlabels={\poblacio,\esperanca},% posa el valor al capdamunt de la barra
barlabel={\continent}% % etiqueta eix X
}%
{poblacio}{\poblacio=Poblacio,\continent=Continent,\esperanca=Esperanca}
Podeu veure el resultat al fitxer PDF adjunt així com estudiar les dades en el document poblacio.csv i el codi al document tex font.

Publicat per primera vegada el dimarts 17 de juliol de 2012.

Gràfics de sectors circulars amb datatool

datatool és un paquet que permet visualitzar dades a més de gestionar-les

A l’article Personalitzar documents amb datatool vam veure com podíem utilitzar el paquet datatool per gestionar dades carregades des d’un fitxer CSV extern a LaTeX. En aquest ocasió veurem com amb el paquet datapie de la suite datatool podem representar aquestes dades en forma de gràfic de sectors circulars.

Com en altres casos necessitem un fitxer extern amb dades i en format CSV (valors separats per comes) que utilitzarà datapie per representar-les. La primera fila correspon a la definició de les columnes i ens servirà per identificar cada camp.

Al preàmbul cridem el paquet datapie amb les possibles opcions:
\usepackage[%gray, %no posa colors
%rotateinner, %rota etiquetes internes segons el radi.
%rotateouter, %rota etiquetes externes segons el radi.
]{datapie}
Al cos del document carreguem el fitxer de dades i en fem una base de dades. En aquest exemple, com que volem representar la població humana que viu a cada continent, tenim:
\DTLloaddb{poblacio}{poblacio.csv}
on poblacio.csv és el fitxer extern amb les dades i poblacio la BD que es crearà.

Per crear el gràfic s’utilitza el comandament
\DTLpiechart{variable,opcions}{BD}{macros} 
propi de paquet datapie. Aquest comandament admet diferents opcions, per exemple:
\DTLpiechart{variable=\poblacio,% variable sobre la que es crea el gràfic
radius=3.5cm, % radi del gràfic
cutaway={1}, % per separar el sector 1 de la resta
%cutaway={1,2,3}, % per separar els sectors 1, 2 i 3
innerlabel={\DTLpiepercent\%}, % etiqueta interna en percentatge
outerlabel={\continent\ (\DTLpievariable)}, % etiqueta externa amb el valor de "nom"
%rotateinner, % gira els valors interiors
%rotateouter, % gira els valors exteriors
}{poblacio}{\continent=Continent,\poblacio=Poblacio}
El paquet admet força possibilitats de formatació del gràfic, com ara la possibilitat de separar-ne algun sector (com a l’exemple amb l’opció cutaway={1}), formatar el tipus de lletra de les etiquetes:
%canvia la família del tipus de lletra de les etiquetes
\renewcommand*{\DTLdisplayinnerlabel}[1]{\textsf{#1}} %internes
\renewcommand*{\DTLdisplayouterlabel}[1]{\textsf{#1}} %externes
resseguir els sectors amb una línia de color:
%dibuixa una línia al voltant dels segments
\renewcommand{\DTLpieoutlinecolor}{black!20} %color de la línia (per defecte negre)
\setlength{\DTLpieoutlinewidth}{.5pt} %gruix de la línia: 0.5pt
o determinar els colors de cada sector manualment:
% canvia l'ordre dels colors dels segments
\DTLsetpiesegmentcolor{1}{yellow!20}
\DTLsetpiesegmentcolor{2}{OliveGreen!20}
Al document tex adjunt es pot estudiar el codi al fitxer tex font que s'ha emprat per representar les dades del fitxer poblacio.csv i es pot veure el resultat al fitxer PDF.

Publicat per per primer cop el dissabte 14 de juliol de 2012.