.dll을 사용하여 라텍스 파일에서 HTML 문서를 만들고 있습니다 make4ht
. CSS를 사용하여 문서 본문의 글꼴을 Libertinus Serif로 설정했습니다. 하지만 make4ht에서 tikz 다이어그램을 작성하는 데 사용되는 글꼴을 설정할 수 없습니다. 누군가 내가 그렇게 하도록 도와줄 수 있나요?
\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}
내 명령은 이고 make4ht -l -m draft -c myconfig.cfg -f html5 main.tex
, 내용은 myconfig.cfg
다음과 같습니다.
\Preamble{xhtml}
\Css{
@import url('https://fonts.cdnfonts.com/css/libertinus-serif');
body{
font-family: "Libertinus Serif", serif;
}
}
\begin{document}
\EndPreamble
결과는 다음과 같습니다.
크기 차이 외에 글꼴이 동일하지 않다는 것을 분명히 알 수 있습니다. Tikz 그림은 위의 단락에서 사용된 Libertinus Serif가 아닌 기본 Latin/Computer Modern 글꼴을 사용하고 있습니다(u의 꼬리와 r의 코에 주의하세요).
동일한 Libertinus Sans 글꼴을 사용하여 tikz 그림을 렌더링하려면 어떻게 해야 합니까?
답변1
TeX4ht 모드 에서는 모든 글꼴이 억제됩니다 --lua
. 왜냐하면 치명적인 오류를 일으키는 OpenType 글꼴의 로드를 방지해야 하기 때문입니다. TikZ 환경에 대해서만 Type 1 글꼴로 수동으로 전환할 수 있습니다. 이 구성 파일은 다음을 수행해야 합니다.
\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
\Css
명령이 CSS 파일 끝에 내용을 추가하지만 규칙은 @import
CSS 파일의 맨 위에 있어야 하기 때문에 텍스트 글꼴에 대한 구성도 변경했습니다 . 이 구성은 HTML 문서에 직접 배치하여 작동합니다.
결과는 다음과 같습니다.