Feia temps que anava al darrere d'una disposició de pàgina (layout) que havia vist en alguns llibres impresos i que fa molt bonic. Es tracta de posar al marge de la pàgina el que habitualment va a la capçalera o al peu. És a dir, posar-hi el títol del llibre, l'autor, el número de pàgina, el de la secció, etc.
Havia provat de fer-ho jo i no me'n sortia, clar. Així que ho vaig buscar tex.stackexchange.com
però no ho sabia trobar. Tanmateix l'altre dia, inopinadament i mentre buscava una altra cosa, vaig trobar la inspiració: Page numbers vertically centered in the outer page margin
Després de treballar-hi una mica i de mil i una proves, finalment me'n vaig sortir i aconseguí el que volia.
La idea és amb l'ajut de scrlayer crear una capa nova amb \DeclareNewLayer, que es porta al fons de la pàgina, en la qual es fa aparèixer al marge exterior de la pàgina (outermargin) el títol del document i el número de pàgina, que és el que m'interessava. Com que a l'exemple apareixia el text en horitzontal, l'he fet girar 90 graus i ara apareix en vertical, més elegant.
Per cert, estava treballant en un altre tema que em té capficat amb Komascript i és fer documents fàcilment llegibles amb una longitud de línia curta, d'un 70% de la longitud habitual del text que costa més de llegir. També vaig trobar una pista per a la solució a left or right text alignment in notes depending on odd or even page using scrlayer-notecolumn que, a més em va descobrir la potència del paquet scrlayer —de la suite Komascript— que fins ara coneixia només per crear estils de pàgina amb capçaleres i peu complexos.
I, com sempre, mentre provava una cosa i l'altra anava repassant la documentació de Komascript on un sempre acaba trobant-hi coses noves i interessants, com ara la possibilitat de definir una pàgina de títol (titlepage) per a llibres i reports amb tota la informació disponible (títol, autor, editorial...) amb els seus propis marges no necessàriament coincidents amb els del text.
Hi buscava, en concret, la possibilitat de crear petites taules de contingut per a capítols, com ara les que fa el paquet minitoc i amb el qual Komascript no és compatible. Resulta que aquest capacitat no està desenvolupada a la suite, però algú n'ha trobat una solució fins que hi sigui: How to write a minitoc with plain KOMA-script? Podeu estudiar-ne el codi al fitxer tex font corresponent al document d'aquesta entrada.
Si voleu veure el document en format PDF, així com el tex font del qual procedeix, visiteu https://sites.google.com/site/catalatex9/home/koma/contingutalmarge
dissabte, 4 de gener del 2020
dijous, 27 de desembre del 2018
Facturació amb LaTeX
Ja hem parlat de com fer factures amb LaTeX en l'article Factures professionals amb l'ajuda del paquet invoice. Malauradament aquest paquet no està essent mantingut i ha quedat un xic desfasat. Per això ha aparegut el paquet invoice2, programat en LaTeX3 per substituir-lo.
invoice2 bàsicament el que fa és crear un entorn, anomenat també invoice, que calcula imports i IVAs dels diferents conceptes de la factura, en calcula el subtotal, li afegeix l'IVA i, finalment, calcula el total a pagar. També situa cadascun d'aquests valors en una taula de manera que sigui de fàcil visualització.
L'entorn invoice té aquesta estructura:
\begin{invoice}[opcions]
\invoiceitem[iva en format decimal]{unitats}{concepte}{preu sense iva}
\end{invoice}
Les opcions no són encara molt variades, és un paquet recent, però si tots els articles tenen el mateix tipus d'IVA, permet posar-lo un sol cop a l'encapçalament de la taula. També permet acolorir les files perquè sigui de més fàcil lectura, usar diferent tipus d'unitat monetària, etc.
Vet aquí un exemple d'ús on cada article té un IVA diferent, s'ha acolorit i s'utilitza l'euro € com a moneda:
\begin{invoice}[currency-symbol={\euro{}},
currency-in-header,
colorize,
even-color={lightgray!50}]
\invoiceitem[.21]{6}{amp. Vi Castell de Siurana}{6.79}
\invoiceitem[.04]{2.75}{Kg Cigrons de Pedrosillo(import)}{3.31}
\invoiceitem[.10]{6}{caixes Galetes Núria}{3.4}
\end{invoice}
A l'exemple hem utilitzat un document creat amb komaletter per situar aquesta factura i donar-li una aparença més agradable. Però es pot situar en qualsevol mena de document.
Com que el paquet no té traducció catalana, l'hem creat i la trobareu en el fitxer invoice2-catalan.trsl contingut en el comprimit invoice2_komaletter.zip que inclou tots els fitxers font (fins i tot el de configuració de la komaletter asymTypB.lco actualitzat).
Podeu veure el resultat fent clic aquí.
invoice2 bàsicament el que fa és crear un entorn, anomenat també invoice, que calcula imports i IVAs dels diferents conceptes de la factura, en calcula el subtotal, li afegeix l'IVA i, finalment, calcula el total a pagar. També situa cadascun d'aquests valors en una taula de manera que sigui de fàcil visualització.
L'entorn invoice té aquesta estructura:
\begin{invoice}[opcions]
\invoiceitem[iva en format decimal]{unitats}{concepte}{preu sense iva}
\end{invoice}
Les opcions no són encara molt variades, és un paquet recent, però si tots els articles tenen el mateix tipus d'IVA, permet posar-lo un sol cop a l'encapçalament de la taula. També permet acolorir les files perquè sigui de més fàcil lectura, usar diferent tipus d'unitat monetària, etc.
Vet aquí un exemple d'ús on cada article té un IVA diferent, s'ha acolorit i s'utilitza l'euro € com a moneda:
\begin{invoice}[currency-symbol={\euro{}},
currency-in-header,
colorize,
even-color={lightgray!50}]
\invoiceitem[.21]{6}{amp. Vi Castell de Siurana}{6.79}
\invoiceitem[.04]{2.75}{Kg Cigrons de Pedrosillo(import)}{3.31}
\invoiceitem[.10]{6}{caixes Galetes Núria}{3.4}
\end{invoice}
A l'exemple hem utilitzat un document creat amb komaletter per situar aquesta factura i donar-li una aparença més agradable. Però es pot situar en qualsevol mena de document.
Com que el paquet no té traducció catalana, l'hem creat i la trobareu en el fitxer invoice2-catalan.trsl contingut en el comprimit invoice2_komaletter.zip que inclou tots els fitxers font (fins i tot el de configuració de la komaletter asymTypB.lco actualitzat).
Podeu veure el resultat fent clic aquí.
diumenge, 4 de febrer del 2018
Caixes de text
A l'entrada Llibre de format actual vam veure com fer caixes per text amb una icona identificativa amb l'ajut del paquet bclogo. Ara veurem una altra manera, molt potent també però amb el paquet tcolorbox que permet definir diferents tipus de caixa en un document i, a més, referenciar-les internament.
Per defecte una caixa amb tcolorbox es crea com un entorn:
Però potser és més interessant és definir un nou tipus de caixa de text en el preàmbul del document amb el comandament \newtcolorbox i, al cos del document, cridar-la simplement com si fos un entorn.
Així al preàmbul podem definir una caixa nova:
\newtcolorbox[auto counter,%comptador automàtic
number within=section,% %numera per seccions: secció.número de caixa
]%
{caixablava}[2][]%nom de la caixa de text
{colback=blue!5!white,%color de fons
colframe=blue!75!black,%color del marc
fonttitle=\bfseries,%tipus de lletra del títol
breakable,%es pot trencar entre pàgines
pad at break*=0mm,
title=Caixa Blava \thetcbcounter: #2,#1}%títol de la caixa: text fix, comptador i text variable
Quan al contingut del document volem que aparegui alguna d'aquestes caixes simplement escriurem aquest codi:
\begin{caixablava}[label=cb:referencia1]{Primera caixa}
Contingut de la caixa
\end{caixablava}
Observi's que cada caixa pot tenir una etiqueta (label) que en el nostre cas hem identificat amb el prefix cb. S'ha fet així perquè amb l'ajut del paquet \prettyref després es pot referenciar la caixa per aquesta etiqueta (vegeu l'article Millores en les referències creuades amb prettyref).
Es poden definir diferents tipus de caixa per un document. Per exemple: una caixa d'Exemple, d'Atenció. d'ampliació... que només cal definir un cop, al preàmbul, i cridar-la després al contingut del document en el moment en què sigui menester. Si els posem una etiqueta a cada cqaixa després és fàcil referencial-les i adreçar al lector a la caixa i la pàgina on es troba.
Al document font adjunt caixadetext.tex es pot estudiar el codi i veure com definir diferents tipus de caixa. I es pot veure el resultat, i les referències creuades, al document PDF caixadetext.pdf adjunt.
Per defecte una caixa amb tcolorbox es crea com un entorn:
\begin{tcolorbox}
Contingut de la caixa de text
\end{tcolorbox}
A cada caixa se la pot configurar especialment amb la configuració dels paràmetres corresponents.Però potser és més interessant és definir un nou tipus de caixa de text en el preàmbul del document amb el comandament \newtcolorbox i, al cos del document, cridar-la simplement com si fos un entorn.
Així al preàmbul podem definir una caixa nova:
\newtcolorbox[auto counter,%comptador automàtic
number within=section,% %numera per seccions: secció.número de caixa
]%
{caixablava}[2][]%nom de la caixa de text
{colback=blue!5!white,%color de fons
colframe=blue!75!black,%color del marc
fonttitle=\bfseries,%tipus de lletra del títol
breakable,%es pot trencar entre pàgines
pad at break*=0mm,
title=Caixa Blava \thetcbcounter: #2,#1}%títol de la caixa: text fix, comptador i text variable
Quan al contingut del document volem que aparegui alguna d'aquestes caixes simplement escriurem aquest codi:
\begin{caixablava}[label=cb:referencia1]{Primera caixa}
Contingut de la caixa
\end{caixablava}
Observi's que cada caixa pot tenir una etiqueta (label) que en el nostre cas hem identificat amb el prefix cb. S'ha fet així perquè amb l'ajut del paquet \prettyref després es pot referenciar la caixa per aquesta etiqueta (vegeu l'article Millores en les referències creuades amb prettyref).
Es poden definir diferents tipus de caixa per un document. Per exemple: una caixa d'Exemple, d'Atenció. d'ampliació... que només cal definir un cop, al preàmbul, i cridar-la després al contingut del document en el moment en què sigui menester. Si els posem una etiqueta a cada cqaixa després és fàcil referencial-les i adreçar al lector a la caixa i la pàgina on es troba.
Al document font adjunt caixadetext.tex es pot estudiar el codi i veure com definir diferents tipus de caixa. I es pot veure el resultat, i les referències creuades, al document PDF caixadetext.pdf adjunt.
diumenge, 29 d’octubre del 2017
Extres per a todonotes
En aquest article recollirem algunes millores que podem fer a les nostres notes creades amb el paquet todonotes. Estan basades en preguntes fetes a tex.stackexchange i tenen a veure en com introduir notes a la llista de feines i en com modificar el format de les notes.
Podeu veure un exemple del resultat d'aquestes modificacions al PDF adjunt i explorar el codi al fitxer todonotes.tex
Tipus de notes
Podem determinar, segons els color i el principi de la nota, quin serà el contingut de la nota bé adreçat a nosaltres mateixos per quan tornem a editar un document, bé par altres autors que col·laborativament treballin sobre el mateix. Així podem crear notes que expressin:- dubtes: marquem un dubte que, més endavant caldrà aclarir. El codi es basa en la creació d'un nou comandament, basat en el de creació de la nota, on donem informació addicional:
\newcommandx{\dubte}[2][1=]{\todo%
[author=\quihofa,linecolor=red,backgroundcolor=red!25,bordercolor=red,#1]%
{\textbf{No n'estic segur:}\\ #2}}
- Observi's que s'utilitza el comandament \quihofa com autor de la nota per facilitar la identificació de l'autor. Per això prèviament cal haver definit \newcommand{\quihofa}{JoanQueralt}
- canvis: de la mateixa manera definim un comandament similar amb un altre color i encapçalament:
\newcommandx{\canvi}[2][1=]{\todo% [linecolor=blue,backgroundcolor=blue!25,bordercolor=blue,#1]% {\textbf{Per canviar:}\\ #2}} - informació o recordatoris (comandament \info)
- millores, etc.
Format de les notes
El comandament todo que crea les notes del paquet todonotes es pot modificar redefinint-lo amb les noves característiques. Per exemple, hem aconseguit que el tipus de lletra dins les notes sigui sans serif redefinint el comandament d'aquesta manera al preàmbul i després de cridar al paquet:
\makeatletter
\renewcommand{\todo}[2][]{\@bsphack\@todo[#1]{\sffamily{#2}}\@esphack\ignorespaces}
\makeatother
Podeu veure un exemple del resultat d'aquestes modificacions al PDF adjunt i explorar el codi al fitxer todonotes.tex
diumenge, 1 de gener del 2017
El paquet silence
Finalment he descobert com apagar els advertiments (warnings) que koma-script fa cada cop que, per formatar els títols de seccions, utilitzes el paquet titlesec.
És important fer cas dels avisos que dóna LaTeX quan es processa un document perquè et diu quins errors hi ha (greu!), t'adverteix sobre coses que (potser) pots solucionar i, finalment, t'aconsella sobre canvis en determinats punts del document.
No es poden , per tant, obviar els missatges. Tot i això n'hi ha que són una mica enutjosos, com els que dóna el paquet koma-script quan l'utilitzes simultàniament amb titlesec. Es fa difícil no utilitzar titlesec per la facilitat enorme per formatar els títols de capítols, seccions i altres parts del document. Però a koma no li agrada i apareix un advertiment que diu:
Afortunadament ha aparegut el paquet silence que obvia determinats advertiments enutjosos i permet centrar-se en els avisos d'error en el processament de documents.
La manera d'utilitzar-lo és molt senzilla: al preàmbul del document només cal dir quins advertiments volem silenciar. Per exemple:
Es pot veure que primer cridem al paquet silence i despŕes diem, pel paquet que volem silenciar (el propi titlesec a la primera línia, o a scrbook o scrreprt) quins avisos volem evitar. Després d'utilitzar-lo un cop, i cansat sempre del mateix repetitiu avís, ja no puc prescindir-ne.
Una gran troballa.
És important fer cas dels avisos que dóna LaTeX quan es processa un document perquè et diu quins errors hi ha (greu!), t'adverteix sobre coses que (potser) pots solucionar i, finalment, t'aconsella sobre canvis en determinats punts del document.
No es poden , per tant, obviar els missatges. Tot i això n'hi ha que són una mica enutjosos, com els que dóna el paquet koma-script quan l'utilitzes simultàniament amb titlesec. Es fa difícil no utilitzar titlesec per la facilitat enorme per formatar els títols de capítols, seccions i altres parts del document. Però a koma no li agrada i apareix un advertiment que diu:
Class scrbook Warning: Usage of package `titlesec' together (scrbook) with a KOMA-Script class is not recommended. (scrbook) I'd suggest to use the package only (scrbook) if you really need it, because it breaks several (scrbook) KOMA-Script features, i.e., option `headings' and (scrbook) the extended optional argument of the section (scrbook) commands. (scrbook) Nevertheless, using requested (scrbook) package `titlesec' on input line 282.
Afortunadament ha aparegut el paquet silence que obvia determinats advertiments enutjosos i permet centrar-se en els avisos d'error en el processament de documents.
La manera d'utilitzar-lo és molt senzilla: al preàmbul del document només cal dir quins advertiments volem silenciar. Per exemple:
\RequirePackage{silence}
\WarningFilter{titlesec}{Non standard sectioning command}
\WarningFilter{scrbook}{Activating an ugly workaround}
\WarningFilter{scrreprt}{Usage of package}
\WarningFilter{scrbook}{Usage of package `titlesec' together}
\WarningFilter{scrreprt}{Activating an ugly workaround}
Es pot veure que primer cridem al paquet silence i despŕes diem, pel paquet que volem silenciar (el propi titlesec a la primera línia, o a scrbook o scrreprt) quins avisos volem evitar. Després d'utilitzar-lo un cop, i cansat sempre del mateix repetitiu avís, ja no puc prescindir-ne.
Una gran troballa.
dilluns, 20 de juny del 2016
Texlive
Instal·lació a Ubuntu
1r pas: descarregar l'instal·lador install-tl-ubuntu de https://github.com/scottkosty/install-tl-ubuntu amb l'ordre:
2n pas: obrir una línia de comadaments a la carpeta on s'ha desat l'instal·lador i executar-lo amb permisos de sudo:
3r pas: gestionar els paquets instal·lats o per instal·lar amb tlmgr que va integrat amb la instal·lació de TeXlive. La documentació pel GUI es pot trobar a:
https://www.tug.org/texlive/doc/tlmgr.html#GUI-FOR-TLMGR
Abans de fer-lo córrer, però, comprovar que es té instal·lat al sistema el mòdul Perl/Tk, si no hi fos s'instal·la amb Synaptic.
Per executar el GUI de tlmgr cal obrir una línia de comandaments i escriure:
tlmgr --gui
1r pas: descarregar l'instal·lador install-tl-ubuntu de https://github.com/scottkosty/install-tl-ubuntu amb l'ordre:
wget https://github.com/scottkosty/install-tl-ubuntu/raw/master/install-tl-ubuntu &&
chmod +x ./install-tl-ubuntu
2n pas: obrir una línia de comadaments a la carpeta on s'ha desat l'instal·lador i executar-lo amb permisos de sudo:
sudo ./install-tl-ubuntuEl procés d'instal·lació del paquets és una mica llarg. L'instal·lador primer busca el repositori més ràpid, però tot i això pot arribar a trigar més de mitja hora.
3r pas: gestionar els paquets instal·lats o per instal·lar amb tlmgr que va integrat amb la instal·lació de TeXlive. La documentació pel GUI es pot trobar a:
https://www.tug.org/texlive/doc/tlmgr.html#GUI-FOR-TLMGR
Abans de fer-lo córrer, però, comprovar que es té instal·lat al sistema el mòdul Perl/Tk, si no hi fos s'instal·la amb Synaptic.
Per executar el GUI de tlmgr cal obrir una línia de comandaments i escriure:
tlmgr --gui
diumenge, 22 de novembre del 2015
Línies de temps amb tikz
Moltes vegades hem d'incloure als nostres documents línies de temps on marcar la progressió d'una sèrie d'accions o els punts més destacats del calendari d'un projecte. Amb tikz i la bilbioteca timeline podem aconseguir unes línies de temps flexibles, personalitzables i molt aclaridores.
Aquesta biblioteca per defecte crea línies de temps amb un nombre deteminat de setmanes, però podem personalitzar-les a qualsevol altre període de temps simplement canviant el valor de la variable timespan={Dia}.
També permet definir 2 variables:
Les fases, consisteixen en cercles acolorits que se situen al llarg de la línia de temps.
\phase{between week=n and (n+1) in despl,involvement degree=rcm,phase color=blue}
on
despl= desplaçament: 0.5 just al mig de les dues setmanes, 0 cap a l'esquerra, 1 a la dreta
r= radi de la fase en cm.
Per exemple: \phase{between week=1 and 2 in 0.5,involvement degree=3cm}
El centre de les fases es pot desplaçar entre un valor i l'altre amb un offset de 0 a 1, i si el volem just al mig posem 0.5 com a l'exemple.
Les fites (milestones) són les etiquetes que podem posar sobre o sota les fases per aclarir-ne el significat:
\addmilestone{at=phase-N.g,direction=dir:distcm,text={Text de l'etiqueta},text options={above}}
on
N = número de fase
g = angle en contra de les agulles del rellotge on para l'extrem de la línia dins rodona de la fase
dir = angle que forma la línia amb la fase
dist = distància en cm del text a la fase = longitud línia entre l'etiqueta i la fase
option: pot ser sobre la fase (above) o sota la fase (below).
Per exemple: \addmilestone{at=phase-4.90,direction=90:1.5cm,text={Producció},text options={above}}
El resultat es pot veure al PDF Línies de temps amb tikz i el codi es pot estudiar al document tex font corresponent.
Hem fet una petita modificació a la llibreria tikzlibrarytimeline.code.tex de manera que per defecte la paraula que apareix no sigui week sino setmana
Aquesta biblioteca per defecte crea línies de temps amb un nombre deteminat de setmanes, però podem personalitzar-les a qualsevol altre període de temps simplement canviant el valor de la variable timespan={Dia}.
També permet definir 2 variables:
Les fases, consisteixen en cercles acolorits que se situen al llarg de la línia de temps.
\phase{between week=n and (n+1) in despl,involvement degree=rcm,phase color=blue}
on
despl= desplaçament: 0.5 just al mig de les dues setmanes, 0 cap a l'esquerra, 1 a la dreta
r= radi de la fase en cm.
Per exemple: \phase{between week=1 and 2 in 0.5,involvement degree=3cm}
El centre de les fases es pot desplaçar entre un valor i l'altre amb un offset de 0 a 1, i si el volem just al mig posem 0.5 com a l'exemple.
Les fites (milestones) són les etiquetes que podem posar sobre o sota les fases per aclarir-ne el significat:
\addmilestone{at=phase-N.g,direction=dir:distcm,text={Text de l'etiqueta},text options={above}}
on
N = número de fase
g = angle en contra de les agulles del rellotge on para l'extrem de la línia dins rodona de la fase
dir = angle que forma la línia amb la fase
dist = distància en cm del text a la fase = longitud línia entre l'etiqueta i la fase
option: pot ser sobre la fase (above) o sota la fase (below).
Per exemple: \addmilestone{at=phase-4.90,direction=90:1.5cm,text={Producció},text options={above}}
El resultat es pot veure al PDF Línies de temps amb tikz i el codi es pot estudiar al document tex font corresponent.
Hem fet una petita modificació a la llibreria tikzlibrarytimeline.code.tex de manera que per defecte la paraula que apareix no sigui week sino setmana
dimarts, 9 de juny del 2015
Fitxers adjunts dins d'un PDF
Un fitxer de tipus PDF pot contenir, a més del seu propi contingut, fitxers adjunts que viatgen amb ell. Per veure'ls podem triar l'opció Adjuncions del nostre visor de PDFs (Evince a l'exemple):
Com poder adjuntar aquests fitxers quan es crea un document PDF des de LaTeX?
Cal utilitzar el paquet navigator que permet configurar moltes característiques dels PDF, des de les propietats del document als enllaços a llocs web passant per com s'obre el document al visor o adjuntar fitxers, que és que veurem en aquest article.
Un cop carregat el paquet utilitzem el comandament \embeddedfile seguint aquesta sintaxi:
\embeddedfile[descripció del fitxer]{\jobname}{fitxer.tex}
on \jobname és el nom de l'objecte PDF i fitxer.tex és el nom del fitxer a incrustar.
En el fitxer PDF de mostra que trobareu fent clic aquí hi ha adjunts 2 fitxers que s'hi han incrustat amb els comandaments:
\embeddedfile[Població per continents]{\jobname}{poblacio.csv}
\embeddedfile[Fitxer LaTeX font]{\jobname2}{font.tex}
Proveu a descarregar-los i visualitzar-los.
Ja veieu que aquesta és una manera còmoda de no perdre o enviar els fitxers font quan enviem un PDF. Esperem que us sigui d'utilitat.
Com poder adjuntar aquests fitxers quan es crea un document PDF des de LaTeX?
Cal utilitzar el paquet navigator que permet configurar moltes característiques dels PDF, des de les propietats del document als enllaços a llocs web passant per com s'obre el document al visor o adjuntar fitxers, que és que veurem en aquest article.
Un cop carregat el paquet utilitzem el comandament \embeddedfile seguint aquesta sintaxi:
\embeddedfile[descripció del fitxer]{\jobname}{fitxer.tex}
on \jobname és el nom de l'objecte PDF i fitxer.tex és el nom del fitxer a incrustar.
En el fitxer PDF de mostra que trobareu fent clic aquí hi ha adjunts 2 fitxers que s'hi han incrustat amb els comandaments:
\embeddedfile[Població per continents]{\jobname}{poblacio.csv}
\embeddedfile[Fitxer LaTeX font]{\jobname2}{font.tex}
Proveu a descarregar-los i visualitzar-los.
Ja veieu que aquesta és una manera còmoda de no perdre o enviar els fitxers font quan enviem un PDF. Esperem que us sigui d'utilitat.
dijous, 14 de maig del 2015
Gràfics de sectors circulars amb tikz
Hem vist en articles anteriors que amb tikz es pot fer tot tipus de representació gràfica de dades o conceptes. Així hem vist com crear Mapes conceptuals amb tikz , Diagrames de flux amb tikz o Diagrames de Gantt o cronogrames. En aquest article veurem com —a partir de les dades numèriques— tikz ens construeix un diagrama de sectors circulars i li dóna el format que vulguem.
Abans de res, però, hem de descarregar de la web de l'autor el paquet amb la documentació i el fitxer d'estil. Ho trobarem a: https://code.google.com/p/pgf-pie/ El paquet es crida simplement amb un \usepackage{pgf-pie}.
Ara només cal introduir les dades al nostre fitxer tex dins d'un entorn tikzpicture amb el comandament \pie:
\begin{tikzpicture}
\pie{%
15/Menors de 20,%
32/De 21 a 30,%
30/De 31 a 40,%
18/De 41 a 50,%
5/Majors de 51}
\end{tikzpicture}
Observem que cada línia correspon a un sector i en ella diem el percentatge de casos (15% a la primera fila) i definim l'etiqueta (Menors de 20 anys a l'exemple).
Al processar obtenim aquesta gràfica:
Els diagrames són força configurables i es poden posar les etiquetes en diferents posicions així com afegir-hi una ombra.
També es poden dibuixar diferents tipus de diagrames, com ara el quadrat on cada sector queda representat per un rectangle proporcional a la dada corresponent. O bé en format polar, de manera que els angles dels sectors són tots igual però es diferencien per la longitud del radi, que és proporcional a les dades.
Podeu veure exemples dels diferents tipus de gràfics, així com del codi amb què s'obtenen en aquest document PDF. Per estudiar el codi tex o usar-lo de plantilla podeu descarregar el fitxer comprimit zip amb tots els documents font.
Abans de res, però, hem de descarregar de la web de l'autor el paquet amb la documentació i el fitxer d'estil. Ho trobarem a: https://code.google.com/p/pgf-pie/ El paquet es crida simplement amb un \usepackage{pgf-pie}.
Ara només cal introduir les dades al nostre fitxer tex dins d'un entorn tikzpicture amb el comandament \pie:
\begin{tikzpicture}
\pie{%
15/Menors de 20,%
32/De 21 a 30,%
30/De 31 a 40,%
18/De 41 a 50,%
5/Majors de 51}
\end{tikzpicture}
Observem que cada línia correspon a un sector i en ella diem el percentatge de casos (15% a la primera fila) i definim l'etiqueta (Menors de 20 anys a l'exemple).
Al processar obtenim aquesta gràfica:
Els diagrames són força configurables i es poden posar les etiquetes en diferents posicions així com afegir-hi una ombra.
També es poden dibuixar diferents tipus de diagrames, com ara el quadrat on cada sector queda representat per un rectangle proporcional a la dada corresponent. O bé en format polar, de manera que els angles dels sectors són tots igual però es diferencien per la longitud del radi, que és proporcional a les dades.
Podeu veure exemples dels diferents tipus de gràfics, així com del codi amb què s'obtenen en aquest document PDF. Per estudiar el codi tex o usar-lo de plantilla podeu descarregar el fitxer comprimit zip amb tots els documents font.
Etiquetes de comentaris:
gràfics,
pie,
sectors_circulars,
tikz
dimecres, 4 de març del 2015
Descàrrega gratuïta del llibre 'LaTeX Beginner's Guide'
Només avui dia 4 de març de 2015, i després d'haver-ho anunciat fa uns quants dies, l'editorial tècnica Packt Publishing permet descarregar de manera totalment gratuïta i legal el llibre LaTeX Beginner's Guide de l' Stefan Kottwitz
Doneu un cop d'ull a la Taula de continguts:
1: GETTING STARTED WITH LATEX
2: FORMATTING WORDS, LINES, AND PARAGRAPHS
3: DESIGNING PAGES
4: CREATING LISTS
5: CREATING TABLES AND INSERTING PICTURES
6: CROSS-REFERENCING
7: LISTING CONTENT AND REFERENCES
8: TYPING MATH FORMULAS
9: USING FONTS
10: DEVELOPING LARGE DOCUMENTS
11: ENHANCING YOUR DOCUMENTS FURTHER
12: TROUBLESHOOTING
13: USING ONLINE RESOURCES
Interessant, oi? Doncs vinga no us entretingueu més.
Doneu un cop d'ull a la Taula de continguts:
1: GETTING STARTED WITH LATEX
2: FORMATTING WORDS, LINES, AND PARAGRAPHS
3: DESIGNING PAGES
4: CREATING LISTS
5: CREATING TABLES AND INSERTING PICTURES
6: CROSS-REFERENCING
7: LISTING CONTENT AND REFERENCES
8: TYPING MATH FORMULAS
9: USING FONTS
10: DEVELOPING LARGE DOCUMENTS
11: ENHANCING YOUR DOCUMENTS FURTHER
12: TROUBLESHOOTING
13: USING ONLINE RESOURCES
Interessant, oi? Doncs vinga no us entretingueu més.
diumenge, 30 de novembre del 2014
Mapes conceptuals amb tikz
El paquet tikz té una biblioteca especial (mindmap) per crear mapes conceptuals o mentals molt vistosos. En aquest article veurem com crear un d'aquesta mapes conceptuals, en concret un sobre el portafolis electrònic o eportafolis.
Comencem creant els estils dels nodes arrel i els dels altres conceptes que en sortiran. Per exemple definim l'estil de tots els nodes:
every node/.style={concept,%tipus de node=concept
font=\sffamily,% tipus de lletra
circular drop shadow,%ombra},
evidencia/.style={%concepte evidència
concept color=red,%color del node
faded/.style={concept color=red!50}},%definim una variant atenuada
Si volem redefinir o afegir característiques a un node tenim el comandament append style:
root concept/.append style={
concept color=black,
%fill=white, %omple de color blanc
line width=1ex,
%text=black, %color del text
text=white,
font=\large\scshape},% família i tipus de lletra
També s'ha de definir com es distribuiran els conceptes fills en els diferents subnivells:
level 1/.append style={level distance=4.5cm,%distància de l'arrel al primer nivell
%sibling angle=90,% angle que formaran els fills entre sí. Aquí fixat a 90º
sibling angle=360/\the\tikznumberofchildren,%divideix 360 entre el nombre de fills perquè tots els angles siguin iguals
font=\scshape},%tipus de lletra
Un cop definits tots els estils comencem a dibuixar el mapa començant per l'arrel:
\node [root] (NomDelConcepte) {Contingut}
A Contingut hi podem posar un text curt, millor una paraula, o be incloure una imatge amb \includegraphics.
Del node arrel hi surten els fills i "néts":
child [EstilDeConcepte] { node [yshift=-1cm] (NomDelConcepte) {Contingut fill 1}
child{ node(NomDelConcepte) {Contingut nét 1}}
child{ node(NomDelConcepte) {Contingut nét 2}}
child{ node(NomDelConcepte) {Contingut nét 3}}
}%tanca el fill 1
Val la pena estudiar el codi al fitxer mapamental.tex i veure com, un cop processat, en resulta el PDF mapamental.pdf tan impressionant.
Es pot trobar més informació sobre la biblioteca de mapes mentals i trucs al Manual de PGF-tikz i a l'etiqueta mindmaps de tex.stackexchange
Comencem creant els estils dels nodes arrel i els dels altres conceptes que en sortiran. Per exemple definim l'estil de tots els nodes:
every node/.style={concept,%tipus de node=concept
font=\sffamily,% tipus de lletra
circular drop shadow,%ombra},
evidencia/.style={%concepte evidència
concept color=red,%color del node
faded/.style={concept color=red!50}},%definim una variant atenuada
Si volem redefinir o afegir característiques a un node tenim el comandament append style:
root concept/.append style={
concept color=black,
%fill=white, %omple de color blanc
line width=1ex,
%text=black, %color del text
text=white,
font=\large\scshape},% família i tipus de lletra
També s'ha de definir com es distribuiran els conceptes fills en els diferents subnivells:
level 1/.append style={level distance=4.5cm,%distància de l'arrel al primer nivell
%sibling angle=90,% angle que formaran els fills entre sí. Aquí fixat a 90º
sibling angle=360/\the\tikznumberofchildren,%divideix 360 entre el nombre de fills perquè tots els angles siguin iguals
font=\scshape},%tipus de lletra
Un cop definits tots els estils comencem a dibuixar el mapa començant per l'arrel:
\node [root] (NomDelConcepte) {Contingut}
A Contingut hi podem posar un text curt, millor una paraula, o be incloure una imatge amb \includegraphics.
Del node arrel hi surten els fills i "néts":
child [EstilDeConcepte] { node [yshift=-1cm] (NomDelConcepte) {Contingut fill 1}
child{ node(NomDelConcepte) {Contingut nét 1}}
child{ node(NomDelConcepte) {Contingut nét 2}}
child{ node(NomDelConcepte) {Contingut nét 3}}
}%tanca el fill 1
Val la pena estudiar el codi al fitxer mapamental.tex i veure com, un cop processat, en resulta el PDF mapamental.pdf tan impressionant.
Es pot trobar més informació sobre la biblioteca de mapes mentals i trucs al Manual de PGF-tikz i a l'etiqueta mindmaps de tex.stackexchange
diumenge, 16 de novembre del 2014
Diagrames de flux amb tikz
Un diagrama de flux és una figura que il·lustra un procés, que pot ser informàtic (un algorisme) o de qualsevol altra mena. Són molt útils per visualitzar la seqüència de les accions i què passa quan cal prendre algun tipus de decisió.
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
Amb tikz es pot fer tot tipus de figures i gràfics i, no podia ser d'altra manera, es poden construir diagrames de flux clars, entenedors i atractius. En aquest article veurem com es crea una figura amb tikz i com, en acabat, es pot incrustar en qualsevol document LaTeX.
Un diagrama de flux consta d'unes "caixes" de text connectades per línies. Aquestes "caixes" tenen diferent forma -i color- segons el que representin: l'entrada del procés, una acció, una decisió o la sortida. A tikz aquestes caixes se'n diuen nodes i es poden construir fàcilment amb l'ajut de biblioteques específiques simplement donant el nom de la figura que cal dibuixar. Per exemple, per dibuixar un node d'entrada al procés amb forma rectangular només cal definir el node amb les ordres: rectangle i draw, és a dir "dibuixa un rectangle". Naturalment podem donar un format més acurat al node, cosa que es fa abans de començar a dibuixar els nodes sota el comandament de configuració \tikzset. Vegem un exemple de definició de l'estil d'un node de decisió:
decisio/.style = {diamond,% forma geomètrica de romb
draw,
top color= white,% color de la part superior del degradat
bottom color=red,% color de la part inferior del degradat
drop shadow,% ombra
text width=8em, % ampla del text
text badly centered, % centrat del text
node distance=3cm, %distància al centre dels altres nodes
inner sep=0pt},%separació del text a la figura que el conté
Dins d'aquest comandament de configuració també es pot definir el format de les línies que uniran els nodes, per exemple amb forma de fletxes:
linia/.style = {draw,
line width=1.5pt,%gruix de la línia
% per veure els estils de fletxa: http://tex.stackexchange.com/questions/42611/list-of-available-tikz-libraries-with-a-short-introduction/42679
-triangle 45},% la fletxa és un triangle de 45º
Un cop definits els estils dels nodes i de les línies passem a dibuixar el diagrama (\tikzpicture) tot posant els nodes un a sota dels altres. Comencem pel primer, un node d'entrada:
\node [entrada] (inici) {Text del node\\segona línia de text};
- \node és el comandament que dibuixarà el node
- [entrada] és el format del node que hem definit prèviament
- (inici) és el nom que li donem al node i que l'identificarà dins la figura
- {Text} és el text que apareix dins del node, dins del rectangle en aquest cas.
El segon bloc el volem situat sota el node inici, per això escrivim:
\node [bloc, below=of inici] (divesquerra) {Text...};
- la diferència respecte al primer node és a [bloc, below=of inici], on bloc és l'estil de node i below=of inici diu on s'ha de situar el bloc (sota d'inici). Amb above=of, right=of i left=of el posaríem a sobre, a la dreta o a l'esquerra respectivament.
D'aquesta manera anem situant els diferents tipus de bloc. Quan ja estan tots dibuixem les línies amb punta de fletxa que els uneixen:
\draw [linia] (inici) -- (divesquerra);
Podem dibuixar línies acodades amb |- ó amb -|:
\draw [linia] (a1) |- (divesquerra);
Finalment, podem dibuixar un doble colze si marquem un punt del diagrama, una coordenada, i hi fem arribar una línia sense punta i que en surti una altra amb punta:
\coordinate[right=5cm of donau] (a1);
- Aquest punt de coordenades és 5cm a la dreta del node donau i l'anomenem a1.
Al fitxer tex diagramadeflux.tex podeu veure el codi comentat del diagrama complet. I al fitxer diagramadeflux.pdf podeu veure'n el resultat. S'hi representa l'algorisme de la multiplicació russa, una manera molt interessant de fer multiplicacions.
dijous, 1 de maig del 2014
Caret: una extensió de Chrome que fa la competència a Sublimetext
Fart de no poder catalanitzar Sublimetext i veure els menús en anglès? Bé, comencen a sorgir alternatives de codi obert, una d'elles realment destacable. Es tracta de Caret, una extensió per a Chrome amb llicència GPL que es pot trobar al Chrome Web Store per instal·lar immediatament al nostre navegador i obtenir així tota la potència d'un editor de text professional.
Què fa Caret? Té una pila de característiques d'un editor de text avançat:
Es pot trobar la documentació del projecte a la wiki de github: https://github.com/thomaswilburn/Caret/wiki
Què fa Caret? Té una pila de característiques d'un editor de text avançat:
- Acoloriment de la sintaxi. Si editem LaTeX, Markdown o un altre llenguatge el sistema el detecta i n'acoloreix la sintaxi facilitant així l'edició. Falta l'acoloriment per a reStructured Text però vull mirar com es creen els fitxers a veure si me'n surto. Es pot canviar el tipus d'acoloriment clicant al desplegable que apareix a la part inferior dreta de la pantalla.
- Configuració personalitzable: allò que els usuaris volen de Sublimetext i no aconsegueixen: que els parli amb la seva llengua amb Caret es pot fer. Si us l'instal·leu i voleu que us parli en català només cal que copieu el contingut del fitxer menus.json al vostre i el sobreescriviu (Configuració -> Menús: menus.json).
- L'editor ve amb diferents temes que es poden canviar fàcilment, només cal desplegar les opcions a la part inferior dreta de la pantalla.
- Els fitxers s'obren en pestanyes de manera que es pot treballar amb diferents fitxers alhora. També es pot obrir tot un directori i anar editant els diferents fitxers del Projecte que es veuen en una barra a mà esquerra.
- Es poden fer seleccions múltiple amb la combinació Ctrl+D.
- Opció Vés a: amb Ctrl+P podem obrir una finestreta on al començar a escriure-hi una expressió ens apareix la llista de fitxers del projecte on es troba. Molt interessant.
- Hi ha altres opcions que en treballar es van descobrint i que fan de Caret un excel·lent substitut de Sublimetext, que fa una mica de ràbia, què voleu que us digui.
Es pot trobar la documentació del projecte a la wiki de github: https://github.com/thomaswilburn/Caret/wiki
dimarts, 4 de febrer del 2014
Sublime Text builds per LaTeX
Si sou afeccionats a l'editor Sublime Text i voleu utilitzar-lo per editar i processar els vostres fitxers LaTeX i amics, vet aquí uns quants Build Systems:
Ah! i Posats a modificar podeu personalitzar les vostres preferències a Preferences.sublime-settings:
PDFLaTeX
Per processar amb pdflatex creeu un fitxer pdflatex.sublime-build amb aquest contingut:{
"shell_cmd": "pdflatex -interaction=nonstopmode $file"
}
ConTeXt
Per processar un fitxer ConTeXt i obtenir-ne un PDF creeu un fitxer context.sublime-build amb aquest contingut:
{
"shell_cmd": "texexec --pdf --nonstopmode $file"
}
XeLaTeX
Si voleu aprofitar els tipus de lletra OpenType i TrueType precesseu els vostres fitxers LaTeX amb aquest xelatex.sublime-build :{
"shell_cmd": "xelatex -interaction=nonstopmode $file"
}
Ah! i Posats a modificar podeu personalitzar les vostres preferències a Preferences.sublime-settings:
// Settings in here override those in "Default/Preferences.sublime-settings",
// and are overridden in turn by file type specific settings.
{
// Show folders in the side bar in bold
"bold_folder_labels": true,
// If enabled, will highlight any line with a caret
"highlight_line": true,
// Makes tabs with modified files more visible
"highlight_modified_tabs": true,
// Set to true to automatically save files when switching to a different file
// or application
"save_on_focus_lost": true,
}
diumenge, 15 de desembre del 2013
Documents en graella
El paquet grid-system, sistema en graella, permet crear documents complexos amb l'ajut d'una graella
Amb la mateixa idea que es creen pàgines web en format de graella, el paquet grid-system ens permet fer-ho a LaTeX. Es tracta de distribuir a l'espai disponible la informació en cel·les, en forma de nusos o graelles, de manera que amb un cop d'ull es tingui accés a la globalitat del contingut.És fàcil aconseguir-ho amb els comandaments que ens ofereix el paquet que, bàsicament són dos: fila (row) i nombre de columnes on s'estén la cel·la (cell). La sintaxi és aquesta:
\begin{row}{<nombre de columnes}{<nombre de cel·les>}
\begin{cell}{<nombre de columnes per on s'estén la cel·la 1>}
...%contingut
\end{cell}
\begin{cell}{<nombre de columnes per on s'estén la cel·la 2>}
...
\end{cell}
\end{row}
Per exemple, suposem que dividim el full en 3 columnes i a la primera fila hi posem 3 cel·les, una a cada columna, el codi seria:
\begin{row}{3}{3}
\begin{cell}{1}
contingut cel·la 1
\end{cell}
\begin{cell}{1}
contingut cel·la 2
\end{cell}
\begin{cell}{1}
contingut cel·la 3
\end{cell}
\end{row}
Però ara a la segona fila la primera cel·la ocupa les columnes 1 i 2:
\begin{row}{3}{2}
\begin{cell}{2}
contingut cel·la 1
\end{cell}
\begin{cell}{1}
contingut cel·la 2
\end{cell}
\end{row}
D'aquesta manera, dividint l'espai en cel·les que formen una graella podem anar omplint-lo de la manera més eficaç possible.
Als documents adjunts podeu veure un exemple en format PDF, on algunes cel·les estan ocupades per imatges i altres per text i al fitxer tex font podeu estudiar-ne el codi per usar-lo de plantilla.
| grid.texBaixa |
| grid.pdf Visualització Baixa |
dissabte, 5 d’octubre del 2013
Presentacions més fàcils amb fancyslides
fancyslides és un intent ben reeixit per facilitar la creació de presentacions de beamer
Les presentacions amb beamer són excel·lents, però tenen un petit inconvenient: cal escriure força codi. Hi ha diferents maneres d'estalviar-nos aquesta feina feixuga, per exemple usant pandoc tal com vàrem veure a l'article De markdown a beamer amb pandoc.fancyslides és un paquet que també facilita força la creació de presentacions perquè crea diapositives només amb un entorn:
\begin{frame}
contingut de la diapo
\end{frame}
El contingut també s'inclou amb uns comandaments:- \pointedsl{text} Crea un gran punt dins del qual s'hi escriu el text.
- \framedsl{text} Situa el text dins un gran rectangle.
- \itemized{\item 1 \item 2 ...\item n} Crea una llista amb n vinyetes.
Es pot triar entre diferents colors per defecte (verd, gris, blau, taronja,...) però se n'hi poden afegir de personalitzats. També es pot afegir una imatge de fons bé per tota la presentació, bé per cada diapositiva, bé per cada secció. La manera és molt senzilla:
\fbckg{imatge}
on imatge és el nom del fitxer de la imatge sense l'extensió jpg.Després de treballar amb fancyslides ens adonàrem que s'hi podien afegir algunes millores estètiques. Així que hackejant una mica el codi hem fet alguns canvis a la classe entre els quals podem destacar:
- Hem afegit nou comandament \event per incloure a la diapo del títol l'esdeveniment on es fa la presentació.
- Hem definit el comandament \opacity per poder canviar l'opacitat de les imatges de fons de les diapostives. Així, per exemple: \newcommand{\opacity}{0.75} fa que les imatges de fons tinguin un 75% d'opacitat.
- Hem fet les traduccions dels textos predefinits per les diapositives Fonts i Gràcies.
- Hi ha canvis menors en la personalització de la pàgina de títol i de les mides de lletra i alineació del contingut.
Us recomanem que visiteu el lloc amb els fitxers:
| blank.jpg Visualització Baixa | Fons de color blanc | 3 kb | |||||
| fancyslides.cls Baixa | Fitxer de la classe de document modificat per cataLaTeX | 4 kb | |||||
| fancyslides.pdf Visualització Baixa | Resultat en format PDF | 308 kb | |||||
| fancyslides.tex Baixa | Document tex font amb la definició dels comandaments de la classe. | 3 kb | |||||
| robin.jpg Visualització Baixa | Fitxer amb imatge pel fons | 284 kb |
divendres, 30 d’agost del 2013
Memoràndums amb texMemocat
Una classe de documents per crear memoràndums senzills però complets
texMemo és una classe de documents creada per Rob Oakes i publicada al post texMemo: A Simple Memo Class for LaTeX and LyX del seu blog oak-tree. El seu principal avantatge és que és molt senzill d'utilitzar perquè només cal donar les quatre dades bàsiques (destinatari, remetent, tema i data), posar el contingut i deixar que LaTeX s'ocupi de la resta. A més, permet incloure fàcilment un logo que situa a la part superior dreta.En un primer intent per catalanitzar el paquet ens hem adonat que l'autor no havia pensat en crear els comandaments perquè fos senzill fer una personalització als diferents idiomes. Per això de seguida vàrem veure que calia introduir canvis en aquesta classe de manera que el resultat final fos millor.
En aquest sentit hem canviat els texts fixos originals (To, From, etc) per comandaments que depenent de l'opció d'idioma de la classe automàticament apareguin traduïts (per exemple al català: \textto: Per a, \textfrom: De, etc).
Aprofitant que introduíem opcions a la classe, també hi he introduït alguns paquets que permetran millorar l'aspecte de capçaleres i peus , dels enllaços i d'altres aspectes menors. També hem introduït el títol Memoràndum (amb les traduccions per cadascuna de les tres opcions d'idioma anglès, català i castellà) que proposava l'autor del post Writing a memo in LaTeX del blog texblog, because LaTeX matters.
| test_texMemocat.pdf Visualització Baixa | Resultat en format PDF | ||||||
| test_texMemocat.tex Baixa | Document tex font per estudiar-ne el codi o usar-la de plantilla. | ||||||
| texMemocat.cls Baixa | Classe texMemo millorada, adaptada al català i preparada per a fer-ne més traduccions. |
dimarts, 6 d’agost del 2013
Factures professionals
Factures amb el paquet invoice
El paquet invoice permet crear i calcular l’import d’una factura simplement introduint els paràmetres bàsic com ara el concepte, la quantitat, el preu i l’IVA.Basant-nos en la classe de document carta (\documentclass{letter}) podem definir l’emissor de la factura, amb les seves dades corresponents, des del comandament
\adress{DadesEmissor}El receptor de la factura, i les dades de facturació, es defineix des de la definició de l’entorn letter:
\begin{letter}{DadesReceptor}Finalment, podem aprofitar el comandament \data per definir la data i el número de la factura.
El paquet invoice defineix un nou entorn anomenat invoice des d’on es defineix la moneda en què es factura i el percentatge de l’IVA. Per exemple:
\begin{invoice}{Euro}{21}Dins d’aquest entorn tenim diferents comandaments:
- \ProjectTitle{RaóDeLaFacturació} En una factura poden haver-hi diferents raons de facturació, per exemple diferents pressupostos. Sota cadascun hi haurà els diferents concepte, despeses i descomptes que, finalment se sumen.
- Els diferents conceptes s'incorporen amb el comandament \Fee{Concepte}{PreuUnitari}{Quantitat}
- A més dels diferents conceptes en una factura s’hi poden afegir despeses puntuals sobre les que no es carrega IVA que es cobren en la mateixa moneda amb el comandament \EBC{DespesaConcepte}{Quantitat}. Si la despesa es va pagar en una altra moneda podem usar el comandament \EFC{DespesaConcepte}{Moneda}{Quantitat}{FactorDeConversió}{}invoice farà els càlculs que correspongui perquè allò pagat en una altra moneda es carregui en la moneda de la factura.
- Si volem fer algun descompte l’introduïm amb el comandament \Discount{ConcepteDescompte}{QuantitatADescomptar}
El paquet fa tots els càlculs necessaris perquè no calgui més que introduir les dades amb l’ajut del paquet fp. Hi ha un bug, reportat a tex.stackexchange que implicava al paquet per la inclusió de gràfics graphicx però que s’ha resolt. Al fitxer comprimit invoice.zip adjunt trobareu el fitxer d’estil invoice.sty rectificat i amb la declaració de l’opció d’idioma català (catalan). També hi ha el fitxer de definició de les variables d’idioma traduïdes al català invoice.def.
| invoice-2.zip Visualització Baixa | |||||||
| invoice.pdf Visualització Baixa | |||||||
| invoice.tex Baixa |
Podeu estudiar el codi d’una factura al fitxer tex font i veure el resultat al PDF adjunt on s’ha utilitzat el tipus de lletra Paratype Sans Narrow.
Publicat per primera evgada el diumenge 24 de febrer de 2013.
Etiquetes de comentaris:
cartes,
documentclass,
factura,
invoice
Subscriure's a:
Missatges (Atom)




