Pàgines

dimecres, 31 de juliol del 2013

Fullets a l’estil d’Edward Tufte

L’equivalent amb l’estil E. Tufte a la classe article

Fa un parell d’anys, arran d’una troballa a googlecode, vam parlar dels inicis de la classe de documents tufte-latex en l’article Articles de revista científica amb tufte-latex. Ara el temps i la feina dels desenvolupadors han estabilitzat el codi i l’han cedit a CTAN, el lloc on trobar els desenvolupaments més interessants de LaTeX i amics.

En efecte, ja podem trobar la classe de documents tufte-latex a CTAN i veure com el seu ús ens permet generar documentació de gran qualitat visual segons l’estil del prestigiós divulgador de la representació gràfica, l’Edward Tufte.

On resideix l’elegància i claredat dels documents que proposa l’Edward Tufte? Bàsicament en dos punts: una línia de text no massa llarga i un espai marginal gran on situar els accessoris del text, es dir, les notes al peu (que aquí van al marge), les notes al marge, les imatges, equacions, taules i referències bibliogràfiques. De manera que al costat del text que estiguem llegint ara podrem trobar, si fos el cas, els accessoris que el complementen.

Hi ha, a més, alguns afegitons que potencien el resultat final. Un d’ells és la possibilitat de començar una secció del document amb lletres versaletes. Això s’aconsegueix en la classe tufte-latex amb l’ús del comandament:
\newthought{Text En Versaletes} text normal...
L’altre punt destacat és la possibilitat d’usar tot l’ample de la pàgina per posar-hi text o imatges en punts determinats. Això trenca amb la filosofia exposada, però com que només es fa en paràgrafs concrets, els resultat final segueix essent molt bo. Tot depèn de lús que en faci cada autor.

Els tipus de lletra que per defecte carrega la classe són:
  • serif: Palatino.
  • sans serif: Helvetica
  • typewritter: Bera Mono
tanmateix es poden utilitzar altres lletres segons les nostres preferències simplement fent la declaració \usepackage{tipusdelletra} al preàmbul del document.

Val la pena veure el resultat obtingut, que es pot apreciar en el PDF adjunt i, si se’n vol conèixer el codi, estudiar-lo en el document font que es troba dins el fitxer comprimit adjunt també a l’article.

Publicat per primera vegada el dissabte 6 de febrer de 2010.

Presentacions amb ConTeXt

De la mà de l’article Presentations in ConTeXt publicat al PracTeXJournal hem pogut conèixer com es poden crear potents presentacions amb ConTeXt. En aquest breu article veurem com començar a treballar-les.

En primer lloc amb ConTeXt hem de definir la pàgina amb
\setuppapersize[S6][S6]
A continuació donem les propietats i mesures d’aquesta pàgina amb
\setuplayout [width=fit,opcions=...]
Podem fer que les diapositives tinguin o no numeració activant o desactivant el comandament
\setuppagenumber[state=start/stop]
Un tema important és el fons de les diapositives. Donar-li un únic color, o fins i tot un gradient de color amb MetaFun és fàcil. El que ha costat més ha estat posar una imatge de fons (la documentació no acaba d’explicitar-ho, tot i que arreu diu que és tan fàcil), però finalment ho hem aconseguit tot definint una capa, dient que en aquest capa es fa visible una imatge i, finalment assignant els fons de pàgina a aquesta capa:
\definelayer[fons][width=\paperwidth,height=\paperheight] %la capa cobreix tota la pàgina
\setlayer[fons]{\externalfigure[darwin_big_idea][width=\paperwidth]} % contingut de la capa: el fitxer darwin_big_idea.jpg
\setupbackgrounds[page][background={color,fons},backgroundcolor=darkgreen] %definim 2 fons: la capa amb imatge i el color sòlid.
Les diapositives es defineixen com a nous entorns amb el comandament:
\definestartstop % definició de l'entorn diapositiva
[Slide] % el nom de l'entorn
[commands={\switchtobodyfont[modern,ss,24pt]}, % mida i tipus de lletra
before=\page] % salt de pàgina
\define[1]\SlideTitle % definició del títol de la diapositiva
{\midaligned{\tfb #1} % títol centrat
\blank[line]} % línia en blanc
Un cop definides les característiques del document al preàmbul, ja podem començar a escriure el contingut a partir de \starttext.

Una dispositiva típica tindria aquesta estructura:
\startSlide % inici diapositiva
\SlideTitle{Presentacions amb \CONTEXT} % títol
...... % contingut
\stopSlide
Podeu estudiar el codi de la presentació PDF adjunta en el document tex font que hi ha dins el fitxer comprimit presentacio_context.zip i si trobeu qualsevol possibilitat de millora, si us plau, compartiu-la :-)

Publicat per primera vegada el dilluns 25 de gener de 2010.

Articles amb KOMA-Script

Acabarem aquesta mini-sèrie d’articles sobre la classe alternativa de documents de LaTeX, anomenada KOMA-Script, amb un petit estudi sobre els articles, que en aquest cas es construeixen amb la classe scrartcl.

Tota la potència aplicada als llibres o informes es pot escalar amb els articles, tenint en compte, però, la clàssica inexistència de determinades seccions (com ara les Parts o Capítols que els articles no tenen). Ara bé, la resta és aplicable pràcticament al 100%. Des de la formatació del tipus de lletra, de la disposició de la pàgina (layout), peus i capçaleres, colors i tipus de lletres, tot és tan configurable en els articles com en la resta de documents de KOMA-Script.

Podeu comprovar en els fitxers adjunts aquesta afirmació. Si, per una banda estudieu el document amb el codi tex font (inclòs al fitxer comprimit koma_art.zip  juntament amb les imatges i el fitxer de bibliografia) veureu que pràcticament és idèntic al codi font del llibre de l’article Llibres amb KOMA-Script  sobre la classe scrbook.

Per altra banda, veient el resultat PDF obtingut us podeu fer una idea de les possibilitats que ofereix aquesta classe. Com és natural en la mostra s’han exagerat els tret més destacables (potser no és massa adient la línia excessivament llarga a la capçalera) però serveix com a punt de partida per imaginar altres possibilitats més estètiques.

Publicat per primera vegada el diumenge 17 de gener de 2010.

Llibres amb KOMA-Script

No hem parlat massa de llibres aquí a cataLàTeX (només a Documents molt llargs) potser perquè solem fer més aviat textos més curts, de la mida d’un article. Però ara que estem estudiant amb un cert detall el paquet de macros KOMA-Script val la pena aturar-se en la classe de documents scrbook equivalent a l’estàndard de LaTeX pel llibre (book).

La classe scrbook permet determinar només iniciar-se una sèrie d’opcions general pel document que val la pena estudiar en el fitxer tex font adjunt i que podem resumir en aquestes (algunes no utilitzades en l’exemple i començades per %):
  • a4paper,% determina la mida del paper.
  • 12pt,% marca la mida de la lletra.
  • fleqn,% fa que les equacions quedin justificades al marge esquerre.
  • tablecaptionabove,% fa parèixer l’encapçalament de la taula a sobre d’elles.
  • BCOR12mm,% és el factor de correcció per enquadernació, en aquest cas de 12 mm.
  • DIV12,% és el factor de relació entre l’amplada i alçada de la zona de text i que té a veure amb la mida de la lletra.
  • titlepage,% crea una pàgina pel títol del llibre.
  • bibtotoc,% farà aparèixer la Bibliografia a l’índex del document.
  • liststotoc,% farà aparèixer la Llista de figures a l’índex del document.
  • openany,% fa que hi ha pàgines esquerres i dretes.
  • %openright,% l’opció contrària a openany: només hi ha pàgines dretes.
  • chapterprefix,% fa aparèixer el mot ’Capítol’ davant del número.
  • %nochapterprefix,% l’opció contrària a chapterprefix: fa desaparèixer el mot ’Capítol’ davant del número.
  • pointlessnumbers,% fa desaparèixer el punt després del número de secció.
  • %halfparskip,% separa els paràgrafs amb mitja línia.
  • parskip,% separa els paràgrafs una línia: és més visual que el sagnat de la primera línia.
La configuració del tipus de lletra, la mida i el color es fa a través del comandament
\addtokomafont{partdeldocument}{característiques}
per exemple:
\addtokomafont{caption}{\small\sffamily\color{teal}} 
fa que els encapçalaments de figures caption apareguin en lletra petita small, sans serif sffamily i de color teal (amb l’ajut del paquet xcolor).

A més, en la creació del llibre d’exemple s’ha utilitzat el paquet scrpage2 que ve amb el conjunt KOMA-Script per formatar les pàgines en l’estil de pàgina \pagestyle{scrheadings} similar al clàssic headings però més fàcilment configurable.

En l’exemple s’ha fet aparèixer una línia gruixuda i una de més fina en l’encapçalament de les pàgines envoltant les marques de capítol i secció que es van alternant en les pàgines esquerres i dretes, tot de color gris. Al peu hi apareix a la part interna, prop del plec, el text cataLàTeX, mentre que el número de pàgina apareix a la part externa del full i envoltat entre dues línies horitzontals. Naturalment aquest estil no s’aplica a les pàgines especials (part, inici de capítol, índex, etc).

No hem aprofundit massa en les múltiples possibilitats d’aquesta classe alternativa de document per diferents raons. La primera és que pràcticament amb les opcions per defecte aconseguim ja uns resultats prou interessants. I la segona és la tradicional manca de claredat de la documentació del conjunt. Sembla ser que l’original en alemany és molt millor que la traducció anglesa en què ens hem basat, però pel que hem llegit a diferents llistes és una queixa bastant comuna. A més, cal afegir que el desenvolupament va més ràpid que la documentació perquè la darrera versió de KOMA-Script és la 3 però la documentació encara és sobre la 2.n. Esperem que amb el temps se solucioni aquest tema. [Actualització: la versió actual de la documentació en anglès és la 3.05]

Adjunt a l'article trobareu:



Publicat per primera vegada el dissabte 9 de gener de 2010.

Combinar i personalitzar correspondència amb KOMA-Script

Les cartes amb KOMA-Script són molt versàtils: combinació de correu

En un article anterior (Cartes amb Koma-script) hem vist com n’és de potent el paquet KOMA-Script en la formatació de les cartes. En aquest veurem, a més, com crear correspondència combinada amb una base de dades de destinataris i com personalitzar fins a cert punt les cartes.

El paquet scrlttr2 admet la incorporació de dades d’usuari des d’un fitxer amb extensió adr (destinataris.adr a l’exemple adjunt) formatat de la següent manera. Cada destinatari té associats 8 camps, dels quals alguns són obligatoris i altres optatius; vegem-ne l’estructura per a un destinatari:
\adrentry{Cognoms=#1}{Nom=#2}%
%{Adreça postal\\CP Població=#3}%
%{Telèfon=#4}%
%{h=home/d=dona=#5}{Tractament=#6}%
%{Càrrec=#7}{Clau_id}
Els camps optatius són el #5, el #6 i el #7 que, per la nostra conveniència els hem assignat a una clau per poder personalitzar després les cartes; la resta són obligatoris. El paquet permet afegir més camps optatius, però cal aleshores reanomenar el comandament d’\adrentry a \addrentry.

Què millor per aclarir-ho que un exemple:
\adrentry{Nito}{Helena}%
{13 Rue del Percebe\\75001 Paris}%
{010}%
{d}{Dra.}%
{Servei de diagnosi}{NITO}
Un cop tenim un fitxer amb tants comandaments \adrentry com destinataris ja podem  fer la combinació de correspondència. Primer hem de cridar-lo des del fitxer tex de la carta amb el comandament \input{destinataris.adr} i hem de reanomenar el comandament \adrentry:
\renewcommand*{\adrentry}[8]{\begin{letter}}...\end{letter}
Per indicar que la carta va adreçada a un conjunt de destinataris, a la carta en lloc d’usar les dades concretes d’un d’ells, utilitzem els paràmetres del comandament \adrentry: #2 pel Nom, #1 pels Cognoms, etc. Així en l’exemple que trobareu al fitxer tex font i que ha generat el PDF també adjunt l’ordre triat ha estat:
 {#6 #2 #1\\#7\\#3}
és a dir: a la primera línia del destinatari el Tractament (=#6), el Nom (=#2) i els Cognoms (=#1); a la línia de sota el Càrrec(#7) i per sota l’Adreça postal amb el CP i la Població(=#3) a baix de tot.

Quan processem el fitxer tex amb pdflatex, per exemple, obtenim un document PDF amb tantes cartes d’una o més pàgines com destinataris hi ha al fitxer d’adreces destinataris.adr.

La màgia de la personalització de les cartes ve de la mà d’una mica de programació. Fixeu-vos que les cartes dels destinataris femenins comencen per Benvolguda, mentre que les dels homes comencen per Benvolgut. Això ho hem aconseguit amb dues passes:

  1. Primer omplint el camp #5 de cada destinatari amb la lletra h quan es tracta d’un home o la d quan és una dona. 
  2. Al fitxer tex de la carta hi posem una condició segons el contingut d’aquest camp:

\ifx h#5 \opening{Benvolgut #2,} \fi
\ifx d#5 \opening{Benvolguda #2,} \fi
Quan el contingut del camp #5 és la lletra h escriu en masculí, però quan és una d escriu en femení. I LaTeX s’encarrega de fer tota la resta de feina.

Observeu en el PDF adjunt a aquest article el resultat obtingut en processar el fitxer tex font que trobareu, juntament amb el fitxer de destinataris, el logo i el fitxer de configuració, en el arxiu comprimit combinar_correspond.zip adjunt.

Publicat per primera vegada el divendres 1 de gener de 2010, dia de Cap d'any.

Agrupar les notes al final del document

Notes finals en lloc de notes al peu

El paquet pagenote permet que totes les notes del document, en lloc d’aparèixer al peu de cada pàgina, es reuneixin al final d’un capítol, d’una secció o de tot el document, de forma que no es destorbi la lectura del text amb constants interrupcions. Lògicament, cada nota queda perfectament identificada amb la numeració corresponent a cada divisió del document o de tot el text, i separada per aquestes mateixes divisions (capítols, seccions, etc) amb indicació del número de pàgina on apareixen.

Només té un inconvenient: els superíndex que indiquen l’existència de la nota no queden hiperenllaçats amb la nota corresponent. Això pot fer una mica pesat, sobretot quan es llegeix en pantalla, el fet d’anar a llegir les notes al final del document i haver de tornar al punt just on estàvem llegint de manera manual amb les eines de navegació del lector de PDF.

Per incloure aquesta característica cal que al preàmbul cridem al paquet pagenote amb els comandaments:
\usepackage{pagenote}
\makepagenote 
on el segon diu a LaTeX que s’han d’ajuntar totes les notes al final.

El comandament per inserir les notes al peu \footnote{textdelanotaalpeu} ara és substituït per \pagenote{textdelanotaalfinal}.

Finalment, quan volem que aparegui impresa la divisió amb totes les notes, per exemple al final d’una secció, d’un capítol o de tot el document, ho indiquem amb el comandament \printnotes.

El paquet admet dues opcions:

  • page escriu el número de la pàgina on apareix una determinada nota. 
  • continuous: fa que la numeració de les notes sigui contínua al llarg del document i no es reiniciï en cada divisió (capítol, secció, etc). 

Les dues opcions poden actuar alhora, tal com es pot veure en el document tex adjunt. Queden un parell d’aspectes a personalitzar. Un d’ells es refereix al títol amb que el paquet titula la divisió que conté totes les notes. Per defecte apareix en anglès Notes, però el podem canviar reanomenant el comandament a Anotacions, per exemple:
\renewcommand*{\notesname}{Anotacions}
L’altre aspecte es refereix al nom de les divisions dins la secció de Notes. Tot i fer servir el paquet babel pel català, el funcionament de  pagenote se salta la catalanització i fa aparèixer el nom en anglès. Per evitar-ho cal reanomenar el comandament: 

  • si el document està dividit en capítols:
    \renewcommand*{\chaptername}{Capítol} 
  • si està dividit en seccions:
    \renewcommand*{\sectionname}{Secció} 
Al document font en format tex adjunt a aquest article es pot trobar un exemple de la utilització dels diferents comandaments i veure el resultat en el PDF també adjunt.

Publicat per primer cop el dimecres 30 de desembre de 2009.

dimarts, 30 de juliol del 2013

Cartes amb KOMA-Script

En un article anterior (Cartes ) vàrem veure com es poden formatar cartes amb LaTeX per obtenir uns resultats professionals. En aquest veurem com obtenir encara uns resultats superiors amb l’ús de la classe scrlttr2 que forma part del paquet KOMA-Script.

Amb scrrlttr2 podem definir el contingut d’una sèrie de variables predefinides (com ara el nom del remitent, l’adreça, el telèfon, etc) amb el comandament \setkomavar.

Però també en podem definir de noves si ho fem a través d’un fitxer de configuració amb extensió lco on, a més, podem redefinir la disposició del text en la carta i la localització de les dades del remitent i afegir-hi un logo.

La classe scrrlttr2 té una sèrie d’opcions que en faciliten la configuració general, com ara on situar la numeració de la pàgina si se’n vol, l’aparició una línia de separació pel peu o l’encapçalament, la mida del full i de la lletra o la possibilitat de diferenciar i fer més gran la primera pàgina entre d’altres.

En els fitxers PDF adjunts es pot veure el resultat obtinguts sense fitxer de configuració i un altre PDF fet amb fitxer de configuració. Els documents tex fonts i el fitxer de configuració es troben en el fitxer comprimit fonts.zip.

Es pot trobar més informació sobre el fitxer de configuració en l’article Replacing LaTeX2e standard classes with KOMA-Script de la revista The PracTeX Journal.

Publicat per primera vegada el diumenge 27 de desembre de 2009.

Calendari dodecaèdric

Un petit regal de cataLaTeX per als seus lectors i lectores en acabar aquest 2009 en què tan poquets articles hem pogut fer a causa d’altres obligacions que ens han apartat de l’estudi i divulgació de LaTeX.

Es tracta d’un enllaç a la pàgina de l’Ole Arntzen que ens permet descarregar-nos un calendari dodecaèdric en dues formes diferents:
  • dodecaedre regular, on les cares són pentàgons regulars.
  • dodecaedre romboïdal, on cada cara és un rombe.


En qualsevol dels casos les cares presenten el calendari d’un mes de l’any, en català, les setmanes que comencen pel dia desitjat i amb els diumenges marcats en vermell.

La pàgina presenta un petit formulari des del qual podrem triar el model de dodecaedre, l’any, el llenguatge (hi ha també el català), el dia en què ha de començar la setmana i el format (PDF o PS) en què volem el desenvolupament.

Al fer clic al botó Download la pàgina fa córrer un script de Pstricks que genera el desenvolupament del dodecaedre en un full de mida dina4 i que ens podem descarregar al nostre ordinador, imprimir en un paper de bona qualitat( 100gr/m2 és el recomanat) i, finalment, tallar, doblegar i muntar la figura.
Una troballa feta via @immav (qui li havia de dir ;-)

Publicat per primera vegada el dissabte 26 de desembre de 2009, dia de Sant Esteve.

Marques d’aigua

Amb LaTeX existeixen diverses maneres d’inserir una marca d’aigua al fons d’una pàgina. En aquesta ocasió, però, ens centrarem en el paquet xwatermark, potser el més recent i que més activitat està tenint darrerament.

xwatermark és un paquet molt potent que permet incloure com a marca d’aigua un text de color o una imatge en qualsevol lloc de la pàgina i en qualsevol pàgina, no necessàriament a totes les pàgines.

Per cridar el paquet només cal incloure el comandament \usepackage[opcions]{xwatermark} i configurar les diferents opcions:
  • activem les macros: printwatermark=true
  • decidim on apareixerà la marca: allpages=true o bé altres opcions: pages=1-4,firstpage, oddpages, evenpages, pageno=x
  • triem el tipus de lletra i el color: fontfamily=pag,color=gray!25
  • escrivim el text de la marca: mark=Text de la marca
  • configurem l’orientació, la mida, el tipus de lletra i el punt on situar-la: angle=45,fontsize=5cm,width=\paperwidth,fontseries=b,scale=0.8, xcoord=0,ycoord=0
Cas que la marca sigui una imatge caldrà donar les opcions:

  • ruta i nom del fitxer (sense l’extensió): picfile={.../dirgrafics/fitxerimatge} 
  • extensió del fitxer (pot ser eps per a sortida DVI o pdf, png o jpg per a sortida en PDF): picfilex=png
  • el viewport de la imatge al PDF: picbb=0 0 100 100 
  • l’escala de la figura: picscale=n

Ara bé, aquesta configuració general del paquet ens crearia una única marca d’aigua i potser volem tenir-ne més d’una al mateix document. En aquest cas deixarem les opcions generals del paquet en la crida i utilitzarem la macro
\xwatermarksetup{opcions} 
per configurar cada nova marca.

Aquesta és la via que s’ha utilitzat per crear el document PDF adjunt a aquest article, generat a partir del fitxer tex font on podeu estudiar les diferents opcions utilitzades.

Publicat per primera vegada el dimecres 15 de juliol de 2009.

Motor de cerca de Firefox per a Ctan

[Caveat lector: en l'actualització de l'entrada no s'ha comprovat el funcionament del procediment descrit aquí amb la darrera versió de Firefox. Per tant cataLàTeX no es fa responsable de problemes que se' puguin derivar.]

Els motors de cerca de Firefox, que solen aparèixer a la part superior dreta de la finestra, permeten fer cerques directament sobre un lloc web, com ara el Diccionari de l’Institut d’Estudis Catalans, simplement escrivint a la finestreta l’expressió a cercar. Per defecte es presenta el cercador Google, però fent clic al desplegable veiem altres opcions i la possibilitat d’afegir-ne de nous.


Com que Firefox és un programa de codi lliure permet que moltes persones puguin modificar-ne el codi o, simplement, millorar-lo tot traduït-lo, afegint-hi connectors o, en el cas que ens ocupa, nous motors de cerca. L’autor n’ha fet un parell, un per a Xtec i un altre per a moodle.org, que es poden trobar, descarregar i obtenir informació sobre com instal·lar-los, a la web de l'autor.

Els usuaris de LaTeX, quan busquem algun paquet, solíem escriure al motor de cerca de Google ctan nom del paquet de manera que la cerca fos el més semblant al que teníem en ment. Però des del passat 23 d’abril de 2009 podem trobar a CTAN un parell de motors de cerca: un de paquets de LaTeX i un altre d’informació general.

La instal·lació a Firefox és ben senzilla:

  1. Ens descarreguem al nostre ordinador el motor de la web de ctan http://www.ctan.org/tex-archive/support/firefox_ctan_plugins/ Es tracta d’un fitxer xml que podem desar en un directori temporal per, en acabat, deixar al lloc que li correspon. 
  2. El lloc que li correspon varia segons el sistema operatiu que utilitzem: 
    • Linux: cerquem la carpeta /home/usuari/.mozilla/firefox/xfxfxf.default/searchplugins on usuari és el nom de la carpeta de cada usuari xfxfxf.default o qualsevol altre nom de perfil que tingueu a la carpeta de perfils. Dins d’aquest directori searchplugins hi enganxem el fitxer xml 
    • Uindous icsp: cerquem c:\Documents and Settings\usuari\Datos de programa\Mozilla\Firefox\Profiles\xfxfxf.default\searchplugins on: usuari és el nom d’usuari amb què entreu al vostre ordinador Datos de programa és una carpeta oculta, caldrà visualitzar-la xfxfxf.default o qualsevol altre nom de perfil que tingueu a la carpeta Profiles 
  3. En qualsevol cas, després de la còpia del fitxer xml a la carpeta corresponent, cal reiniciar Firefox. 
Un cop instal·lat ens ha d’aparèixer al desplegable dels motors de cerca. si trobeu que queda massa a munt o massa avall en la llista de motors, podeu moure’l a la vostra conveniència.
A partir d’ara serà molt més fàcil cercar paquets o altra informació sobre LaTeX a CTAN.

Publicat per primera vegada el diumenge 26 d'abril de 2009.

Canvi de codificació. de Latin1 a UTF8

En el vell uindous se sol teballar amb fitxer tex amb la codificació Latin1 (iso 8859-2). Però a Linux, que va un xic avançat, la codificació més corrent és la UTF8, molt més versàtil, potent i actualitzada. Així que el problema es planteja quan volem reaprofitar vells fitxers font en format tex i codificats des de uindous com a Latin1 a Linux i amb la codificació UTF8.

Si obrim directament un fitxer antic (amb codificació Latin1) amb, posem per cas, Kile, aquest fa una canvi radical de codificació i ens presenta un munt de caràcters desconeguts si és que el tenim, per defecte, configurat per treballar amb UTF8. Com solucionar aquest problema?

Res més senzill. Al nostre sistema Linux (Ubuntu, posem per cas) tenim un paquet anomenat recode que ens permet substituir una codificació per l’altre simplement amb una senzilla ordre:
recode latin1..utf8 fitxer.tex
això transforma el fitxer.tex codificat en Latin1 a un altre codificat en UTF8. Aleshores ja es podrà utlitzar sense problemes a Linux sempre i quan substituïm la línia
\usepackage[latin1]{inputenc}
per la línia: \usepackage[utf8]{inputenc}
Existeix la possibilitat inversa, és a dir, la de passar un fitxer UTF8 a la codificació Latin 1. Això ho haurem de fer amb el comandament iconv.

Per exemple, per transformar el fitxer1.tex codificat en UTF8 a fitxer2.tex codificat en Latin1 haurem d’escriure aquest comandament:
iconv -f utf8 -t latin1 fitxer1.tex > fitxer2.tex
Publicat per primer cop el dijous 12 de març de 2009.

Fons de pàgina i logos

El paquet wallpaper

El paquet wallpaper permet inserir fàcilment una imatge com a fons de pàgina d’un document, d’una única pàgina o posar un logo en una cantonada de les pàgines d’un document.

Se’l crida al preàmbul del document simplement amb \usepackage{wallpaper} i després només cal utilitzar el comandament adient per aconseguir el que vulguem. Els comandaments van per parelles afectant un a tot el document i el seu homòleg només la pàgina on es troba.

Per exemple, per posar una imatge al centre de les pàgines d’un document escriurem
\CenterWallPaper{escala}{fitxerimatge} 
mentre que per fer que aparegui només en una pàgina determinada (per exemple a la del títol) escriurem:
\ThisCenterWallPaper{escala}{fitxerimatge}

Una altra de les funcionalitat interessants del paquet és la d’inserir un logo personalitzat a la cantonada de la pàgina que preferim. Això ho aconseguirem amb el comandament
 \XXCornerWallPaper{escala}{logo} 
on XX indica quina cantonada:
comandament posició del logo
\ULCornerWallPaper Dalt a l’esquerra
\URCornerWallPaper Dalt a la dreta
\LLCornerWallPaper Baix a l’esquerra
\LRCornerWallPaper Baix a la dreta

Adjunts a l’article trobareu un fitxer comprimit amb el document tex font i les imatges utilitzades per crear el PDF adjunt on es mostra el resultat.

Publicat per primera vegada el dissabte 14 de febrer de 2009.

Feines pendents: todonotes

Quan escrivim un document llarg pot ser molt interessant tenir un registre d’allò que encara ens manca per fer, imatges per inserir o comentaris en punts concrets de l’escrit.

El paquet todonotes ens permet inserir notes al marge, o al mig del text, als documents que estem creant on reflectir el que encara ens queda pendent. També insereix senyals visuals per a les imatges que encara no tenim. I, finalment, ens pot fer una Llista de totes les feines pendents (\listoftodos) amb indicació de la pàgina on es troben les feines.

Per cridar el paquet simplement escrivim \usepackage[opcions]{todonotes} al preàmbul del document.

El paquet té diferents opcions, des de la de ser desactivat quan hem acabat les feines pendents (disabled) fins a les més útils:
  • idioma: hi ha una opció pel català (catalan), contribució de cataLaTeX [des de la versió 0.8].
  • l’amplada de la nota al marge (textwidth)
  • la mida de la lletra (textsize).
Quan volem inserir una nota sobre tasca pendent en un punt del document simplement escrivim el comandament \todo[opcions]{Contingut de la nota}

Les opcions són:
  • color podem escriure qualsevol color que permeti el paquet xcolor.
  • noline no dibuixa la línia des del punt d’inserció al text fins la nota al marge.
  • nolist escriu una nota que no apareixerà a la Llista de feines pendents.
  • size permet determinar la mida de la lletra de la nota. Per exemple: size=\large fa la lletra gran.
  • inline escriu la nota al mig del text, no pas a l marge.
  • caption escriu un text curt a la Llista de feines pendents. diferent al contingut de la nota.
Quan vulguem que aparegui la llista de tasques pendents escriurem el comandament \listoftodos i quan vulguem inserir un senyal per a figures que manquen escriurem el comandament \missingfigure{Missatge}.

Al document tex font adjunt es pot veure el codi i al PDF el resultat que se n’obté.

+info: documentació del paquet todonotes

Publicat per primer cop el dimecres 7 de gener de 2009.

Diagrames a LaTeX amb Dia

Una manera senzilla i fàcil de fer diagrames per a LaTeX és utilitzar un programa auxiliar que, en acabat, ens permeti exportar el resultat a un format compatible amb LaTeX.

Dia és un programa per crear diagrames, de codi lliure sota llicència GPL, basat en GTK+, i amb ports per a Linux, Unix i Uindous. Permet treballar en el format propi del programa, fitxers d’extensió *.dia i exportar a diferents formats d’imatge, com ara svg, png, jpg o per a LaTeX:
  • metapost: *.mp
  • macros de PSTricks: *.tex
  • macros de PGF: *.tex
Com hem vist en altres articles (vegeu Capçaleres i peus molt originals, per exemple) el potent paquet PGF ens permet unes potencialitats a LaTeX que altres paquets compliquen més, com per exemple obtenir directament PDFs directament del codi font tex per fer els gràfics.

El cas és que podem treballar fàcilment amb el programa Dia, fer els nostres diagrames i exportar-los a les macros de PGF en format LaTeX. En acabat podem incloure els diagrames resultants dins els nostres projectes i obtenir quelcom semblant al que podeu veure al PDF adjunt on es barreja text i diagrama.

Adjunts a aquest article trobareu el fitxer tex font a partir del qual s’ha obtingut el PDF resultant i també el fitxer tex que conté el diagrama exportat per Dia.

Esperem que Dia us pugui facilitar la feina de crear diagrames a LaTeX.

Publicat per primera vegada el dimarts 30 de desembre de 2008.

Llistes amb ordinals

No fa massa, a la llista Usuarios hispanohablantes de TeX es va plantejar el tema de com aconseguir que en una llista numerada apareguessin els ordinals (primer, segon, etc) en lloc del números (1, 2,...).

La solució que es va trobar és la que s’exposa en aquest article on, a més, catalanitzem i ampliarem a altres casos la proposta original publicada pel Sr. Francisco Callejo Giménez.

La solució, per entendre-la millor, es pot dividir en tres fases:

1. Definir un nou comandament, \ordinal, que és el que escriurà el literal de l’ordinal en la llista. En el nostre cas només hem escrit fins a deu ordinals, però es podria continuar fins que calgués simplement afegint-los a la definició:
\newcommand{\ordinal}[1]{\ifcase\value{#1}\or
PRIMER\or SEGON\or TERCER\or QUART\or CINQUÈ\or
SISÈ\or SETÈ\or VUITÈ\or NOVÈ\or DESÈ\fi}
2. Definir un nou comptador: aquí anomenat ordenum:
\newcounter{ordenum}
3. Definir un nou entorn, anomenat ordenum, basat en l’entorn list de LaTeX:
\newenvironment{ordenum}
{\begin{list}{\stepcounter{ordenum}\ordinal{ordenum}.- }{}}
{\end{list}}
Aleshores al nostre document, quan vulguéssim una llista amb aquests ordinals simplement haurem d’escriure:
\begin{ordenum}
\item text
...
\end{ordenum}
El resultat es pot veure al fitxer PDF adjunt, però podem avançar que és semblant a això:
PRIMER text.
SEGON text.
TERCER text
etc.

Seguint la mateixa lògica podem ampliar a altres casos aquesta solució. Per exemple, en el cas d’una Acta de reunió pot ser interessant que aparegui l’ordinal: Primer punt, Segon punt,... O bé en un text legal el literal Article primer, Article segon,...

Per aconseguir-ho seguiríem les mateixes tres fases i podríem obtenir un codi semblant a aquest:
\newcommand{\puntord}[1]{\ifcase\value{#1}\or
\textbf{Primer punt}\or \textbf{Segon punt}\or \textbf{Tercer punt}\or \textbf{Quart punt}\or \textbf{Cinquè punt}\or \textbf{Sisè punt}\or \textbf{Setè punt}\or \textbf{Vuitè punt}\or \textbf{Novè punt}\or \textbf{Desè punt}\fi}
\newcounter{puntnum}
\newenvironment{puntnum}
{\begin{list}{\stepcounter{puntnum}\puntord{puntnum}:}{}}
{\end{list}}
Com és habitual trobareu adjunts a aquest article el document tex font i el PDF que en resulta de processar-lo.

Publicat per primer cop el diumenge 7 de desembre de 2008.

Fusió de les cel·les d’una columna en un taula

El paquet multirow ens permet fusionar les cel·les d’una columna en una taula.

El procediment és l’habitual: al preàmbul del document cridem al paquet amb
\usepackage{multirow}
quan estiguem en la taula, per fusionar les cel·les d’una columna posarem en la fila de la primera ocurrència el comandament
\multirow{nfiles}{amplada}{text}
on
  • nfiles és el nombre de files que s’ha de fusionar en la única cel·la.
  • amplada és l’amplada que es vol donar al text. Si volem la de la columna, definida en l’entorn tabular, posarem l’asterisc *.
  • text és el text que volem que contingui la cel·la.
En el document tex font adjunt podreu estudiar el codi i veure’n l’efecte un cop processat en el fitxer PDF adjunt.

+info: documentació del paquet multirow.

Publicat per primera vegada el dissabte 11 d'octubre de 2008.

dilluns, 29 de juliol del 2013

L’entorn eqnarray

[Actualització: vegeu el comentari d'en Torbjørn Taskjelle de Bergen a la part inferior de l'article]

L’entorn eqnarray és molt útil quan es tracta d’escriure notació científica perquè permet alinear una successió d’expressions, una sota l’altra, però respecte al signe que les lliga. Per exemple, si volem escriure totes les passes de la resolució d’una equació, una sota l’altra, el procés és molt més fàcil d’entendre si les equacions queden centrades al voltant del signe =

En realitat aquest entorn internament és una taula amb 3 columnes:
  • l’esquerra és la part esquerra de l’expressió i està alineada a la dreta. 
  • la del centre és el signe que la lliga, el signe =, o el de desigualtat < ó > o qualsevol altra que hi vulguem posar (una fletxa, per exemple). 
  • la de la dreta és la part dreta de l’expressió i està alineada a l’esquerra. 

Amb aquesta alineació, dreta, centre, esquerra (rcl) queden expressions sempre centrades al voltant del signe. Els elements de les "columnes" es separen per signes &. Com tots els entorns cal escriure l’expressió entre els comandaments \begin i \end. La primera fila comença amb una contrabarra i dues contrabarres \\ indiquen el salt de fila; a la darrera fila, com que no hi haurà salt, no cal posar les dues contrabarres. Vegem-ne un exemple:
\begin{eqnarray}
3x+2 &=& -5 \\
3x &=& -5 - 2 \label{eq:2} \\
3x &=& -7\\
x &=& \frac{-7}{3}
\end{eqnarray}
L’entorn eqnarray numera les equacions a la part dreta, si no volem que apareguin numerades haurem d’usar l’entorn eqnarray*.

Ara, que si volem que alguna equació no surti numerada però les altres sí, utilitzarem eqnarray i al final de la línia o línies que no vulguem numerar posarem el comandament \nonumber.

Als fitxers adjunts trobareu el codi font i el PDF obtingut amb ell.

+info: Multiple Line Equations al LaTeX Cookbook

Publicat per primer cop el dissabte 4 d'octubre de 2008.

Comentari 29-juliol-2013 a G+:

Torbjørn Taskjelle
It isn't recommended to use eqnarray, you should load amsmath and use align instead. 

See http://tug.org/pracjourn/2006-4/madsen/ (or l2tabuhttp://ctan.org/tex-archive/info/l2tabu/).

Entorns de color

Per millorar la presentació de determinats documents es pot definir un nou entorn amb un títol destacat, una vora i un fons acolorits. Això és el que es pot trobar remenant per la web de TeXnik, un lloc web no oficial que recull una sèrie de trucs i solucions força interessants i útils.

El treball que s’hi reflecteix és d’en Donald Arseneau, un autor canadenc de paquets de LaTeX molt prolífic. El que hi fa és definir, amb l’ajuda del paquet xcolor dos colors un pel fons de la pestanya on anirà el títol de l’entorn i, alhora, la vora de l’entorn i, per altra banda defineix un altre color de fons per l’entorn. Després situa cada cosa el seu lloc, crea un comptador i permet definir una etiqueta per la pestanya del nou entorn.

El resultat, com sempre dependrà de la traça que tinguem en escollir els colors. Però si ho fem d’una manera agradable tindrem una pestanya fosca en la que es veu el títol escrit en blanc i el contingut de l’entorn suaument ombrejat de color.

Amb molt poqueta feina més es pot repetir la definició i canviar el nom de l’entorn. Així, si en principi venien definits un parell d’entorns, l’example i l’statement, nosaltres n’hem definit un de nou anomenat exercici, amb els colors diferenciats i comptador propi.

Podeu veure el resultat d’aplicar aquests entorns nous al fitxer PDF adjunt i estudiar el codi o usar-lo de plantilla en el document tex font.

Publicat per primer cop el dimarts 24 de juny de 2008, dia de Sant Joan.

Gestionar documents PDF

Amb PDFjam no cal editar LaTeX

Fa algun temps, en l’article Recopilar documents pdf amb estil [no republicat per manca dels fitxers originals] ja vam parlar del paquet pdfpages, un paquet força útil que permet incloure pàgines d’altres documents PDF en un nou PDF generat a partir de LaTeX.

En aquest article parlarem d’un petit i senzill programa, bé en realitat 3 comandaments diferents, però que venen junts amb l’aplicació PDFjam. PDFjam té una llicència GPL v.2 i funciona sobre sistemes UNIX (MacOS inclòs) i, sembla, que a Win amb MiKTeX. De la web del projecte es poden obtenir el codi font o diferents paquets per a Debian Ubuntu (és als repositoris) i FreeBSD.

Els requisits pel funcionament de PDFjam són:

  • tenir instal·lat pdfTeX 
  • tenir el paquet pdfpages és a dir, sobre qualsevol distribució estàndard de LaTeX (TeXlive, p.ex.) pot funcionar perfectament. 

Bé, però què fa PDFjam? Bàsicament facilitar el treball amb pdfpages i simplificar-ne l’ús quan gestionem documents PDF sense haver de passar per LaTeX. És a dir, sense haver de crear un document tex nou que cridi el paquet pdfpages i faci el que desitgem podem treballar directament sobre fitxers PDF des de la línia de comandaments.

Vet aquí algunes possibilitats que permet PDFjam:

pdfnup És un comandament que agrupa diferents pàgines d’un document PDF en una pàgina d’un altre que crea automàticament, deixant l’original intacte. Vegem-ne un exemple d’ús: suposem que partim del document original.pdf

  • amb el comandament pdfnup original.pdf --nup 2x2 obtindríem un nou fitxer, anomenat original-2x2.pdf, cada pàgina del qual conté 4 (2x2) pàgines en miniatura del fitxer original. 
  • amb el comandament pdfnup original.pdf --nup 3x2 --frame true --pages 1,3,6-12 --outfile resultat.pdf obtindríem un nou fitxer, anomenat resultat.pdf, cada pàgina del qual conté 6 (3x2) pàgines emmarcades i en miniatura del fitxer original, però només les pàgines 1 i 3 i el rang de la 6 a la 12.


pdfjoin Aquest comandament ajunta diferents documents PDF ( fitxer1.pdf fitxer2.pdf ... fitxer_n.pdf) en un de sol, anomenat fitxer_n-joined.pdf, deixant els originals intactes. Les opcions són semblants a les de pdfnup.

pdf90 Aquest comandament gira 90º en el sentit contrari al de les agulles del rellotge totes les pàgines d’un document PDF (fitxer1.pdf) rendint-ne un de nou, anomenat fitxer1-rotated.pdf, i deixant l’original intacte. També té algunes opcions.

Trobareu totes les opcions possibles dels tres comandaments en el fitxer pdfjam.pdf adjunt.

Adjunt a l’article també hi ha un document PDF, resultat.pdf, obtingut mitjançant l’ús de pdfnup. A partir de 6 pàgines d’un altre PDF se n’ha fet una de sola amb un marc que separa cada pàgina lògica i disposades una al costat de l’altre.

Publicat per primer cop el dissabte 31 de maig de 2008.

Compilar LaTeX on line

No cal tenir instal·lat LaTeX a l’ordinador per treballar-hi i compilar documents.

Podem recórrer a solucions web. Fa temps que li dono voltes a la possibilitat de compilar fitxers tex directament en un lloc web, alliberant així a l’usuari d’haver-se d’instal·lar res a l’ordinador. En l’article sobre ConTeXtlive ja parlàvem sobre aquest lloc web des d’on podem compilar documents de ConTeXt. També a l’article sobre mimetex citàvem la possibilitat de compilar fórmules matemàtiques al lloc web del projecte.

Però arran d’un missatge a la llista ES-TEX@LISTSERV.REDIRIS.ES en què un usuari volia saber com processar LaTeX en un ordinador que no fos el seu, han anat apareixent una sèrie de llocs web que ofereixen aquesta possibilitat. A continuació n’estudiarem alguns veient quins avantatges ofereixen i quins inconvenients presenten.

[Actualització: actualment hi ha dos molt bon llocs per editar, compilar i desar documents LaTeX que són shareLaTeX i writeLaTeX als quals dedicarem articles específics.]

LaTeX Previewer

El LaTeX Previewer d’en Troy Henderson, un professor de Matemàtiques de la University of Mobile, és una pàgina en la qual podem escriure el cos del document (allò que va entre el \begin{document} i l’\end{document} i obtenir una previsualització (en format d’imatge PNG o SVG del document compilat que, en acabat, podem baixar en format PDF, EPS, SVG o,directament, el fitxer tex font.

Els contres són que no podem modificar el preàmbul del document amb nous paquets, tot i que l’autor ens permet afegir-ne algun d’una llista i que n’hi proposem de nous per correu electrònic. El cas més sagnant és el la codificació, que no permet incloure els caràcters catalans.

Per començar a treballar amb LaTeX és un lloc força interessant, en especial pel que fa a prova de fórmules, gràfics, etc. A destacar que el mateix autor, tot un especialista en Metapost, manté un previsualitzador de MP que, espero que aviat, ens pot permetre fer proves per aprendre aquest llenguatge de creació gràfics tant potent.

Sciencesoft .at

Aquesta empresa austríaca dedicada a l’elaboració de programari educatiu té dos processadors de LaTeX, un en format Flash i un altre com a formulari HTML. En els dos casos el funcionament i el resultat és el mateix.

Ofereix una bona llista de plantilles de documents (fórmules, text, caràtula de CD, etc) que es poden copiar a la casella d’edició i personalitzar-les. Es pot triar el format de sortida: pdf o fitxer d’imatges (png, jpeg, bmp, psd (per a photoshop) així com la qualitat (de 20 a 600dpi). Després, prement el botó d’execució podem veure un informe que, si tot ha anat bé, mostra el temps d’execució i, si no ha anat bé, dóna els missatges d’error que genera LaTeX.

Els inconvenients principals [Actualització: que tenia en un principi han estat resolts] són que no es poden demanar fitxers al preàmbul, especialment problemàtic en el cas de la codificació de caràcters (no admet la utf8), que hi falten paquets bàsics, com ara l’hyperref i que no es poden resoldre les referències creuades. [El límit dels fitxers a compilar és de 131072 caràcters]. Un bon intent que hauria de millorar.

Compilador de LaTeX

Aquest compilador web sens dubte és el millor dels que hem provat, està allotjat a la web de la Facultad de Ciencias de la UNAM i va sorgir arran d’un curs de LaTex que hi van fer.

Les millores respecte als llocs anteriors són evidents:

  • de entrada hem de triar entre dues opcions: redactar el document tex en la web del lloc pujar els fitxers tex, bib i d’imatge en un fitxer comprimit zip 
  • podem triar el tipus de document font: TeX, LaTeX (sortida DVI) o PDFLatex (sortida PDF) 
  • també podem triar el format de sortida: DVI o PDF 
  • és necessari que la codificació sigui utf8 perquè el seu servidor funciona així, fet que facilita enormement la gestió de llenguatges. 

Podeu fer una prova aprofitant per pujar a compilar el fitxer comprimit adjunt a aquest article que conté un document tex font (amb referències creuades, enllaços i està codificat en utf8) i un fitxer d’imatge. El resultat serà el que podeu veure en el PDF adjunt i que ha compilat aquest lloc web.

Si se li hagués de posar nota, seria un Excel·lent: és el lloc web on compilar LaTeX.

 Publicat per primera vegada el diumenge 25 de maig de 2008.

diumenge, 28 de juliol del 2013

Més química

Ja vam parlar fa un temps en l’article titulat Química sobre les millores en la presentació de la documentació química que aportava el paquet chemsym. Ara hi tornem per parlar del paquet mhchem que no solament millora l’aparença sinó que facilita enormement l’escriptura de fórmules i reaccions químiques.

Per cridar el paquet cal escriure en el preàmbul del document l’ordre \usepackage[version=3]{mhchem}.

Una de les primeres decisions que ens permet prendre el paquet és la família del tipus de lletra, així, si volem que les fórmules del document s’escriguin amb Sans Serif escrivim:
\mhchemoptions{textfontcommand=\sffamily}
Ara ja podrem utilitzar el nou comandament \ce{expressió} que, de una forma natural ens facilitarà l’escriptura de la notació química.

Per exemple, per obtenir la fórmula de l’àcid carbònic H2CO3 amb LaTeX per defecte hem d’escriure H_2CO_3 mentre que amb mhchem només cal \ce{H2CO3}.

Les reaccions químiques amb les fletxes corresponents també es poden incloure dins d’aquest comandament i obtenir, així, una aparença similar d’una manera molt senzilla. Per exemple, per escriure la reacció de síntesi del clorur d’hidrògen
només ens caldrà escriure:
\ce{H2 + Cl2 -> 2HCl}
En el document PDF adjunt es pot veure en acció el resultat de l’utilització del paquet i la potència que aporta a la notació química. En el document tex font es pot estudiar el codi amb què s’ha generat.

Publicat per primera vegada el diumenge 18 de maig de 2008.

Taules a ConTeXt — I —

Tot i que ConTeXt disposa d’una àmplia documentació, presenta el problema que molta d’ella ha quedat obsoleta i superada pel ràpid creixement del projecte. Això fa que, a vegades, una tasca senzilla es compliqui força perquè no es troba la documentació actualitzada. La font més actualitzada de documentació, ara per ara, és ConTeXt garden, la wiki del projecte.

És una mica el que passa amb el tema de les taules, que a ConTeXt es poden fer amb diferents entorns:
  • tabulate, el més senzill de tots, similar a un tabulador.
  • table, el mòdul de taules més antic de ConTeXt i sobre el que tractarem en aquest primer article dedicat a les taules.
  • Tables, una extensió de l’anterior per a taules que ocupen més d’una pàgina i on cal repetir la capçalera o el peu de taula.
  • TABLE, un mòdul completament diferent als anterior i que permet tractar amb taules complexes o "naturals", semblants a les HTML i especialment adaptat a treballar amb XML.
  • linetable, un nou mòdul per a taules multipàgina. Amb prou feines documentat.
En aquest primer article tractarem de les beceroles de les taules: definició i formatació. Perquè tot i que ConTeXt va nèixer amb la idea de simplificar la feina i fer més amable el llenguatge TeX , no ho ha aconseguit del tot i si a LaTeX les taules són feixugues d’escriure i tractar, a ConTeXt també.

Vegem com es codifiquen les taules. Una taula a ConTeXt s’escriu entre els comandaments: starttable i stoptable:
starttable[|l|c|r|]
\HL
\NC esquerra \NC centre \NC dreta \NC \AR
\HL
\NC $a_{1,1}$ \NC $a_{1,2}$ \NC $a_{1,3}$ \NC \AR
\NC $a_{2,1}$ \NC $a_{2,2}$ \NC $a_{2,3}$ \NC \AR
\stoptable
A continuació d’starttable escrivim la definició de quantes columnes i quina alineació tindran. L’exemple, on hi ha starttable[|l|c|r|] generarà una taula amb 3 columnes (aquí a ConTeXt se separen amb la barra vertical | tot i que no vol dir que s’hi separin per línies verticals) d’alineació esquerra (l), centrada (c) i dreta (r).

Cada fila comença amb el comandament \NC o Nova Cel·la (o nova columna, com vulguem recordar-ho), que repetirem cada cop que anem a escriure el contingut de la següent cel·la. Una fila s’acaba amb \NC \AR per generar automàticament una nova fila.

Les línies horitzontals es generen amb el comandament \HL i les verticals (tan poc recomanables) amb \VL.

Adjunts a aquest article hi trobareu un document PDF amb el resultat de l’aplicació de diferents trucs de formatació. Al document tex font s’hi pot veure el codi que l’ha generat.

Publicat per primer cop el dissabte 19 d'abril de 2008.

ConTeXt a Kile

Configurar Kile per compilar ConTeXt

Kile, per defecte, no ve preparat per compilar fitxers tex de ConTeXt. Ara bé, com que es tracta d’un editor de TeX per a GNU Linux molt configurable, no costa gens adaptar-lo a la nova situació.

La primera passa és afegir al menú de Kile l’eina de compilació ConTeXt. Això ho podem fer des del menú Arranjament del propi Kile. Afegim una eina nova, indiquem quina és la comanda a executar (texexec nomdefitxer.tex) i diem en quin punt del menú de kile apareixerà i amb quina icona.

La segona passa, optativa, consisteix en afegir una icona a la barra d’eines de manera que, amb un sol clic a sobre, Kile compili el fitxer i, amb un altre, obrim el nostre visualitzador de fitxers PDF preferit.

En el document PDF ajunt a aquest article trobareu aquestes passes ben detallades amb les il·lustracions corresponents. És un document compilat amb ConTeXt des de el fitxer tex font que també trobareu adjunt amb Kile.

Publicat per primer cop el divendres 11 d'abril de 2008.

Millorar les notes

En un article anterior, anomenat Notes, parlàvem de les possibilitats que dóna LaTeX pel que fa a les notes al peu o al marge. En el present article, però, veurem les millores que ens pot reportar la utilització del paquet footmisc

Aquest paquet es crida com tots al preàmbul del document amb el comandament:
\usepackage[opcions]{footmisc} 
Les opcions més freqüents i interessants, i l’acció que realitzen es poden resumir en aquest quadre:

opció del paquet resultat
side fa que les notes al peu (\footnote) apareguin al marge del document.
para les notes apareixen al peu de pàgina però una al costat de l’altra, en un paràgraf.
symbol les notes venen assenyalades per un símbol en lloc de per un número.
norule fa desaparèixer la línia que separa el text de les notes.
multiple permet posar més d’una nota en una paraula.

A més, podem definir quins símbols volem que apareguin quan no utilitzem números. Per exemple, podem fer aparèixer lletres gregues en lloc de números si escrivim al preàmbul:
\usepackage[symbol,multiple]{footmisc}
\DefineFNsymbols*{catalatex}{\alpha\beta\delta\gamma\lambda\epsilon}
\setfnsymbol{catalatex} 
Al document PDF adjunt es pot veure una mostra del resultat d’aplicar cadascuna d’aquestes opcions a les notes d’un document.

 +info: documentació del paquet footmisc

Publicat per primera vegada el dissabte 22 de març de 2008.

Unitats de mesura

Amb el paquet units podem millorar la presentació de les unitats de mesura i deixar-les en la seva òptima presentació tipogràfica

És molt senzill d’utilitzar, només cal cridar-lo al preàmbul del document:
\usepackage{units} %per escriure unitats simples: m2
\usepackage{nicefrac} %per escriure unitats derivades: m/2
i quan haguem d’escriure una unitat utilitzar els comandaments que proporciona el paquet:
unitat comandament LaTeX nou comandament
$\frac{m}{s^2}$ $\unitfrac{m}{s^2}$
$\frac{m}{s^2}$ $\nicefrac{m}{s^2}$
Al document PDF adjunt podreu veure les diferències entre els dos comandaments: \unitfrac o \unit manté el tipus de lletra normal, mentre que \nicefrac el transforma en cursiva.

Disposeu del document tex adjunt per estudiar-ne el codi o fer-lo servir de plantilla i del PDF per veure’n el resultat.

 +info: documentació del paquet units 

 Publicat per primer cop el diumenge 24 de febrer de 2008.

gEdit com editor i processador de LaTeX

gEdit és l’editor de text que per defecte ve amb Gnome2, l’escriptori d’Ubuntu. És un programa senzill, però força interessant, que obre i edita tota mena de documents de text i de llenguatges de marques. Tant hi podem editar codi HTML, com XML com, ho veurem en aquest article, LaTeX.

De entrada gEdit no es contenta en mostrar els caràcters sobre un fons blanc, sinó que reconeix i destaca les etiquetes o marques si el document en conté i ens mostra, a més, el número de línia.

Ara bé, gEdit permet afegir connectors que amplien les possibilitats d’edició del programa. Alguns d’aquests connectors o plugins ja venen preinstal·lats en el programa i només cal activar-los. D’altres, com el connector LaTeX, el que ens interessa, cal descarregar-los i instal·lar-los.

Podem descarregar el connector de LaTeX de la pàgina web del projecte, descomprimir el fitxer comprimit que baixa i copiar-ne el contingut a la carpeta HOME/.gnome2/gedit/plugins.

Aleshores obrim el programa i des de les Preferències, activem el connector. El resultat és que ara podrem crear nous documents de LaTeX, taules, incloure gràfics, etc. amb l’ajut d’assistents que ens facilitaran la tasca. També podrem inserir entorns, canviar el format del text i inserir símbols científics fent clic sobre les icones corresponents.

Ara bé, el connector no fa córrer LaTeX. Per poder compilar el document tex editat amb gEdit cal que instal·lem al nostre sistema el programa rubber que es pot descarregar del Centre de Programari d'Ubuntu.

Un cop instal·lat, també només amb un clic sobre la icona corresponent gEdit compilarà el document i ens mostrarà el resultat en el format de sortida desitjat.

Podeu veure amb molt més detall aquest procés en l’article adjunt en format PDF i veure el fitxer tex font que s’ha editat i compilat des de gEdit.

Afegit el 21/març/2008:

Per defecte el visor de documents PDF del gEdit és el d’Gnome. Però es pot canviar a AdobeAcrobat anant a:
Edita -> Preferències -> Connectors -> seleccionant LaTeX Plugin -> botó Configura el connector. 
Això obre una finestreta des d’on configurar el connector amb 3 pestanyes. Triem la del mig anomenada Build profiles (perfils de construcció) i triem el perfil PDF (rubber): el seleccionem i fem clic sobre el botó Edita fet que ens obre una nova finestra d’edició del perfil PDF.

Anem a la secció Viewing command i canviem gnome-open "%e.pdf" per acroread "%e.pdf". Després acceptem totes les finestres obertes i tanquem. La propera visualització es farà amb el visor d’Acrobat.



Publicat per primera vegada el dijous 14 de febrer de 2008.

Articles de revista científica amb tufte-latex

Segur que en veure la composició d’una pàgina de revista científica actual heu desitjat obtenir un resultat semblant.

Amb LaTeX és possible sense massa esforç gràcies a la classe tufte-handout que s’està desenvolupant al projecte tufte-latex a Google code.

[Actualització: a hores d'ara el paquet ja és estable, s'han corregit els bugs i es troba normalitzat a CTAN]

Edward Tufte és un expert internacional en la presentació de gràfics informatius i manté una activa pàgina web on hi ha una sèrie de fils de discussió sobre la millor manera de presentar les dades. Un d’aquests fils tracta, precisament, sobre com hauria de ser la composició d’una pàgina per fer més senzilla la lectura i comprensió de la informació que conté. Basant-se en aquestes idees, Bil Kleb, un enginyer aeroespacial va iniciar el projecte tufte-latex del que en podem veure algun exemple.

És un classe en desenvolupament, vol dir que encara no està completa al 100%, però que ja conté les principals característiques de la composició de la pàgina:

  • l’amplada del text ve a representar uns 2/3 de l’amplada de la pàgina, mentre que deixa el terç restant per a les notes al marge.
  • no hi ha notes al peu, són totes al marge.
  • els marges prou amples permeten incloure tota mena d’objectes: anotacions, gràfics, taules, imatges, etc. És possible, a més, numerar aquests objectes i referenciar-los.
  • és possible, quan no hi ha res al marge, utilitzar tota l’amplada de la pàgina.

Totes les opcions de la classe article estan activades i es poden afegir als documents: capçaleres i peus, bibliografia, etc.

Amb una mica de hacking es pot adaptar la classe original per a personalitzar-la al nostre gust o necessitat, res radical, però es poden obtenir resultats molt interessants com els que podreu veure en el fitxer PDF adjunt. 

També trobareu un fitxer comprimit tuftefonts.zip  amb el codi font tex i la classe tufte-handout.cls modificada per obtenir-lo.

Publicat per primera vegada el diumenge 3 de febrer de 2008.

Trencar URLs amb seny

Quan en un document volem donar una URL, com que solen ser molt llargues, o bé surten dels marges de l’escrit, o bé queden trencades per on menys esperem.

El paquet breakurl permet trencar les URL de manera que quedin dins dels marges del text i el resultat visual sigui mínimament lògic. A més, com que treballa conjuntament amb el paquet hyperref, segueix creant els hiperenllaços dins el document PDF.

El seu ús és molt senzill, només cal cridar al paquet després de l’hyperref al preàmbul del document:
\usepackage{hyperref}
\usepackage{breakurl} 
Després, al cos del document, quan haguem d’escriure la URL, en lloc del clàssic \href{url}{text} o bé \url{url}, escriurem
\burl{url}
Aquest comandament crea l’enllaç a la url en el document PDF alhora que la talla pel lloc més adient, que pot ser:
  • els dos punts :
  • la barra /
  • el punt .
  • l’interrogant ? (usat a les urls de php)
  • el coixinet #
  • el símbol &
  • altres.
Un altre comandament força útil que proporciona el paquet és
\burlalt{url real}{url mostrada}
equivalent a \href{url real}{url mostrada}, que crea l’enllaç al lloc adient, però mostra una url més abreujada o fàcil de recordar, per exemple:
\burlalt{http://www.xtec.cat/~jqueralt/index.htm}{www.xtec.cat/~jqueralt}


+info: documentació del paquet breakurl

Publicat per primera vegada el diumenge 30 de desembre de 2007.