Pàgines

diumenge, 29 d’octubre de 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.

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 de 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:

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.