Exportar a HTML y LaTeX con una marca de agua
La situación es la siguiente. Queremos exportar nuestro documento de Org Mode tanto a
LATEX como a HTML de suerte que el resultado de la exportación tenga un fondo con
una marca de agua. Así que se me ocurrió definir esta sencilla función que se encargará de
tomar las medidas aportunas según sea la salida. Si es a LATEX, usará el paquete
draftwatermark, cuya interfaz es muy simple, no tiene demasiadas complicaciones y el
resultado es más que óptimo. En el caso de HTML tiraremos de un poco de CSS. Nuestra
función tendrá un argumento opcional texto
, en caso de que queramos personalizar el
texto de la marca de agua. Por defecto, nuestra marca de agua rezará la palabra «DRAFT»,
que es barbarismo flagrante, pero también resulta más corto que «borrador» y además lo
aplica el paquete draftwatermark
por defecto. Nuestra función, por tanto, quedaría tal
que así:
(defun mi-marca-de-agua (&optional texto) (cond ((org-export-derived-backend-p org-export-current-backend 'latex) (concat "#+LaTeX_Header:\\usepackage" (if texto (format "[text=%s]" (replace-regexp-in-string " " "~" texto)) "") "{draftwatermark}")) ((org-export-derived-backend-p org-export-current-backend 'html) (concat "@@html:<p id=\"marcadeagua\">" (if texto (format "%s" texto) "DRAFT") "</p>@@"))))
Nos queda definir el CSS para el id marcadeagua
de nuestra función. Podría ser algo
así como esto que sigue, adaptado al formato de este blog, y debemos cargarlo en la
cabecera de nuestro documento Org o incluirlo en un archivo setup
:
Ya sólo nos queda definir una macro de sustitución con un argumento opcional para el texto personalizado de nuestra marca de agua:
Y basta con colocar la macro al principio de nuestro documento. En este ejemplo usamos un texto personalizado para que nuestra marca de agua diga «Top Secret». Los resultados de LATEX y HTML se muestran en las figs. 1 y 2, respectivamente.
{{{marcadeagua(Top secret)}}}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec hendrerit tempor tellus.
Donec pretium posuere tellus. Proin quam nisl, tincidunt et, mattis eget, convallis nec,
purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Nulla posuere. Donec vitae dolor. Nullam tristique diam non turpis. Cras placerat
accumsan nulla. Nullam rutrum. Nam vestibulum accumsan nisl.
(...)
Figura 1: Marca de agua en la salida a LATEX
Figura 2: Marca de agua en la salida a HTML
∞
Publicado: 26/12/20
Última actualización: 16/08/23
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial 4.0 Internacional.