Pàgines

Es mostren els missatges amb l'etiqueta de comentaris fancyhdr. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris fancyhdr. Mostrar tots els missatges

diumenge, 21 de juliol del 2013

Capçaleres i peus molt originals

Treballant alhora amb els paquets PGF i fancyhdr podem aconseguir efectes sorprenents

El paquet PGF, escrit per en Till Tantau l’autor de beamer, una classe molt interessant de presentacions, permet crear gràfics molt precisos directament al document PDF, sense haver de passar per PS com ha de fer pstricks. És per tant un paquet molt útil i d’una simplicitat sorprenent. Amb ben pocs comandaments obtenim uns resultats brillants, com veurem tot seguit.

En aquest article, espero que el primer d’una sèrie, tractarem només un aspecte de PGF, els anomenats nodes. A PGF es defineix un node com una etiqueta que normalment acompanya a un gràfic. Per exemple, per identificar un vector que va de l’origen de coordenades al punt (2,3) podem posar al seu costat l’etiqueta v, cosa que fem, dins l’entorn tikzpicture amb el comandament:
 \begin{tikzpicture}
 \draw[color=red,->] (0,0) -- node[color=red] {$\vec{v}$} (2,3);
 \end{tikzpicture} 
Ja es pot veure que la sintaxi és node[opcions]{text} on les opcions poden ser el color del contorn, del farcit, l’ombrejat, etc i el text és el text de l’etiqueta que veurem al document i que, naturalment, pot ser de qualsevol mena incloent el llenguatge matemàtic.

Doncs bé, PGF permet dibuixar moltes d’aquestes etiquetes per sí mateixes, sense cap altre objecte usant el commandament \node. I hem volgut aprofitar aquesta característica per millorar l’aspecte de capçaleres i peus. Així hem aconseguit posar el número de pàgina o el nom de la secció dins de figures geomètriques de diferents colors i ombrejats.

PGF permet incloure els seus comandament no solament dins l’entorn tikzpicture sinó també a continuació del comandament \tikz{argument} on l’argument pot ser tan complex com vulguem.

Aquesta possibilitat és molt interessant si la utilitzem com argument de capçaleres o peus d’un document on s’estigui usant, alhora, el paquet fancyhdr. Així podem obtenir, posem per cas, a la capçalera esquerra (\lhead) d’un document el nom de la secció (\leftmark) en color blau dins un rectangle contornejat en blau i ple de blau al 20%:
 \lhead{\tikz{\node[shape=rectangle,draw=blue,fill=blue!20,text=blue,]{{\leftmark}};}} 
Als documents adjunts podreu trobar una mostra amb 3 capçaleres i 3 peus diferents on s’ha usat el paquet PGF per obtenir-los. Estudieu el document tex original per veure com s’han obtingut els resultats del PDF adjunt i experimenteu amb les diferents opcions fins a trobar la que més us abelleixi.

Publicat per primera vegada el divendres 23 de desembre de 2005.

Línies a la capçalera o peu

Amb el paquet fancyhdr aconseguim efectes molt decoratius

Ja hem vist en altres articles com millorar la presentació d’un document tot personalitzant capçaleres i peus (veure l’article Capçaleres i peus) o incloent imatges o logos. En el present article veurem com modificar les línies de capçaleres i peus.

Tornem a repassar els estils de pàgina per a la classe article i veiem què s’hi inclou per defecte:

estil de pàgina característiques de la capçalera/peu
empty en blanc
plain només número de pàgina al centre del peu
headings número de pàgina a la capçalera
myheadings número de pàgina a la capçalera amb possible personalització
fancy paquet fancyhdr totalment personalitzable

Amb el paquet fancyhdr podem personalitzar també l’amplada de la línia i el tipus (sencera o de punts). Tal com llegim a la documentació del paquet podem fer desaparèixer la línia senzillament fent-la de 0 punts d’ample:
 \renewcommand{\headrulewidth}{0pt} 
També la podem fer més ample del normal (0,4 punts) amb:
 \renewcommand{\headrulewidth}{0.8pt} 
 Un truc que ens proporciona aquesta documentació és fer-la de punts amb:
 \renewcommand{\headrule}{\vbox to 0pt{\hbox to \headwidth{\dotfill}\vss}}
i que cataLàTeX modifica fent-la, a més de punts, de color vermell tot usant el paquet color \usepackage{color}
\renewcommand{\headrule}{\vbox to 0pt{\hbox to \headwidth{\color{red}{\dotfill}}\vss}} 

Amb fancyhdr podem també fer la capçalera més ample que el text tot redefinint l’amplada de la capçalera en, posem per cas, 40 punts:
 \fancyhfoffset{40pt}

Des de  cataLàTeX, tot seguint la idea de l’autor del paquet, proposem fer una línia a base dels caràcters decoratius continguts al paquet pifont, cosa que aconsegueix amb la redefinició del comandament (renewcommand) línia de capçalera (headrule) a una caixa de 0 punts d’alt (\vbox to 0pt) i una amplada equivalent a la de la capçalera ({\hbox to \headwidth}) on s’hi posa un text de color blau (\textcolor{blue}) que conté una línia amb el caràcter de pifont número 111 \dingline{111} (un quadret):
 \renewcommand{\headrule}{\vbox to 0pt{\hbox to \headwidth{\textcolor{blue}{\dingline{111}}}\vss}} 

 El comandament \vss serveix per recalcular l’espai horitzontal a omplir i és equivalent a: \vspace{0 pt plus 1fil minus 1fil}

 Estudieu en detall el fitxer PDF adjunt a aquest article i, en acabat, mireu el fitxer tex font que l’ha produït amb les redefinicions i el punt on s’han inserit.

Publicat per primera vegada el dilluns 3 d'octubre de 2005

dissabte, 20 de juliol del 2013

Canviar les longituds en un document

LaTeX té predefinides una sèrie de longituds que podem canviar al nostre gust

Quan LaTeX compila un document fa una sèrie de càlculs complexos per col·locar cada cosa al seu lloc. Per tal de poder fer-ho amb exactitud cada classe de document té predefinits els valors d’una sèrie de longituds o distàncies.

Per exemple, l’amplada del paper, anomenada \paperwidth és la suma de diferents longituds: 

  • l’amplada del text escrit \textwidth que, per exemple, a la classe article i en paper a4 fa 12 cm (=360.0 punts) 
  • el marge interior esquerre d’impressió \oddsidemargin o distància des del text escrit fins al marge esquerre d’impressió; sol prendre un valor de 22.0 punts. 
  • el marge esquerre d’impressió, que és la suma de 1 polzada, una distància fixa a la part esquerra del paper, i la distància variable \hoffset o marge horitzontal de sortida, el qual pot prendre valors positius (per exemple, podem escriure al preàmbul: \hoffset=3cm) o valors negatius (per exemple:\hoffset=-2cm)  
  • l’amplada de l’espai reservat a les notes al marge o \marginparwidth 
  •  la distància de la línia de text a les notes al marge, anomenada \marginparsep i que sol ser de 7.0pt 

Com podem fer que la línia de text sigui més ampla? No s’hi val solament a definir-la més llarga, alhora cal reduir una altra variable, en aquest cas el marge horitzontal de sortida \hoffset.

Vegem-ne un exemple: Volem que en un full din a4 l’amplada del text sigui de 14 cm en lloc dels 12 habituals. En conseqüència haurem de redefinir, amb el comandament que afegeix a una longitud \addtolength, les dues variables \textwidth i \hoffset. Per això escriurem al preàmbul aquests dos comandaments: 
\addtolength{\textwidth}{2cm} %afegim 2cm als 12cm del text
 \addtolength{\hoffset}{-1cm} %restem 1cm a l'esquerra per a què la línia segueixi centrada 
Un altre exemple: és molt habitual que quan s’utilitza el paquet \fancyhdr per formatar capçaleres i peus de seguida omplim la capçalera i, al compilar, el sistema ens avisi que l’alçada reservada a la capçalera, anomenada \headheight i que val 12.0pt, s’ha quedat petita i cal redefinir-la. En aquest cas podem escriure al preàmbul:
 \setlength{\headheight}{20pt} %assigna 20 punts a l'alçada de la capçalera 
Observeu la diferència entre els dos comandaments: mentre \addtolength{\distància}{ncm} augmenta la \distància predefinida al sistema en n centímetres, el comandament \setlength{\distància}{npt} assigna a la \distància el valor n punts (o n cm, si convé).

Publicat per primera vegada el dijous 15 de setembre de 2005.

dimecres, 17 de juliol del 2013

Imatges a la capçalera/peu

Imprescindibles: els paquets fancyhdr i graphics

Amb alguns editors de textos és relativament senzill posar una imatge o logotip a la capçalera o peu d’un document. Amb LaTeX també.

Per aconseguir-ho només cal tenir present aquests requisits: cridar els paquets fancyhdr i el graphics al preàmbul del document tenir la imatge que volem posar al mateix directori on és el fitxer tex que el fitxer de la imatge sigui .png, .jpg ó .ps

Per tenir la imatge (tux.jpg per exemple) a la part dreta de la capçalera, posem per cas, cal escriure al preàmbul del document:
\usepackage{graphics}
\usepackage{fancyhdr} 
\pagestyle{fancy} 
\rhead{\includegraphics{tux.jpg}} 

Obtindreu una cosa així:



Article publicat per primera vegada el 2/2/2005

dimarts, 16 de juliol del 2013

Personalitzar capçaleres i peus

Amb el paquet fancyhdr capçaleres i peus molt precisos

El paquet fancyhdr ens permet fer, amb els comandaments \fancyhead i \fancyfoot, que els peus de les pàgines parells i senars d’un document imprès a dues cares siguin diferents.

Aquesta seria la disposició de capçaleres i peus i de llurs 3 opcions d’un document imprès per les dues cares:


Per aconseguir que el mateix text o comandament (el número de pàgina, p.ex) surti simètricament a la part exterior de la capçalera podem aplicar:
\fancyhead{} %per inicialitzar la capçalera 
\fancyhead[LE,RO]{\thepage}

I per obtenir un text (el nom de l’autor, p.ex) a la part interna del peu: \fancyfoot{} %per inicialitzar el peu 
\fancyfoot[RE,LO]{Autor} 

Recordem que en un article (on no hi ha capítols) l’estil de pàgina \pagestyle{fancy} presenta, per defecte, aquesta disposició: \fancyhead[LE,RO]{\thesection \sectionname} %número i nom de la secció a la part externa 
\fancyhead[RE,LO]{\thesubsection \subsectioname} %número i nom de la subsecció 
\cfoot{\thepage}%número de pàgina al centre del peu 

Documentació oficial 


article publicat per primera vegada el 6/2/2005

Capçaleres i peus: el paquet fancyhdr

Les capçaleres i peus donen informació addicional al lector sobre on es troba allò que està llegint

El paquet fancyhdr es crida al preàmbul i ens permet personalitzar molt el document:
\usepackage{fancyhdr}
\pagestyle{fancy} %estil de la pàgina
%=====capçalera=====
\lhead{text}% capçalera esquerra
\chead{text}%capçalera central
\rhead{\bfseries text}%capçalera dreta amb text en negreta
%======peu=========
\lfoot{text}%peu esquerre
\cfoot{\thepage} %peu central amb número de pàgina
\rfoot{text}%peu dret
% =====línies========
\renewcommand{\headrulewidth}{0.4pt} % línia sota la capçalera
\renewcommand{\footrulewidth}{0.4pt} % línia sobre el peu
En aquest esquema tenim les 6 possibilitats:

Amb fancyhdr sempre podrem canviar l’estil de la pàgina al cos del document amb el comandament \pagestyle perquè LaTeX ens ofereix, per defecte, només aquestes opcions:

comandament resultat
\thispagestyle{empty} sense capçalera ni peu
\thispagestyle{plain} sense capçalera, peu amb el número de pàgina centrat
\thispagestyle{headings} sense peu, capçalera amb el nom del capítol/secció i/o subsecció i número de pàgina
\thispagestyle{myheadings} sense peu, capçalera amb número de pàgina i la informació que posem


Documentació oficial del paquet

Document tex font
Resultat PDF

Article publicat per primera vegada el 30/1/2005