Estoy creando un documento html a partir de un archivo latex usando make4ht
. Configuré exitosamente la fuente del cuerpo del documento en Libertinus Serif usando CSS. Pero no puedo configurar la fuente que utiliza make4ht para crear diagramas tikz. ¿Alguien puede ayudarme a hacer eso?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
% These lines don't help either:
% \usepackage{fontspec}
% \setmainfont{Libertinus Serif}
% \setsansfont{Libertinus Sans}
% \setmonofont{Libertinus Mono}[Scale=MatchLowercase]
\usepackage{libertinus}
\begin{document}
``Lorem'' ``ipsum''
\begin{tikzpicture}
\node (x) {``Lorem''};
\node[right=of x] (y) {``ipsum''};
\draw[->] (x) to (y);
\end{tikzpicture}
\end{document}
Mi comando es make4ht -l -m draft -c myconfig.cfg -f html5 main.tex
y el contenido de myconfig.cfg
es
\Preamble{xhtml}
\Css{
@import url('https://fonts.cdnfonts.com/css/libertinus-serif');
body{
font-family: "Libertinus Serif", serif;
}
}
\begin{document}
\EndPreamble
El resultado es:
Puedes ver claramente que, aparte de la diferencia de tamaño, las fuentes no son iguales. La imagen de Tikz utiliza la fuente latina/computadora moderna predeterminada, y no Libertinus Serif utilizada en el párrafo anterior (preste atención a la cola de u y la punta de r).
¿Cómo hago para que una imagen tikz se represente con la misma fuente Libertinus Sans?
Respuesta1
Todas las fuentes se suprimen en el --lua
modo TeX4ht, porque necesitamos evitar la carga de fuentes OpenType, lo que provoca un error fatal. Aún puedes cambiar manualmente a fuentes Tipo 1 solo para el entorno TikZ. Este archivo de configuración debería hacer eso:
\Preamble{xhtml}
\AddToHook{env/tikzpicture/begin}{\fontfamily{LibertinusSerif-TLF}\selectfont}
\Configure{@HEAD}{\HCode{
<style type="text/css">
@import url('https://fonts.cdnfonts.com/css/libertinus-serif');
body{
font-family: "Libertinus Serif", serif;
}
</style>}}
\begin{document}
\EndPreamble
Tenga en cuenta que también cambié su configuración para la fuente del texto, porque el \Css
comando agrega cosas al final del archivo CSS, pero las @import
reglas deben estar en la parte superior del archivo CSS. Esta configuración los coloca directamente en el documento HTML, donde funciona.
Este es el resultado: