make4ht에서 생성된 HTML의 tikz 다이어그램 글꼴 변경

make4ht에서 생성된 HTML의 tikz 다이어그램 글꼴 변경

.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 파일 끝에 내용을 추가하지만 규칙은 @importCSS 파일의 맨 위에 있어야 하기 때문에 텍스트 글꼴에 대한 구성도 변경했습니다 . 이 구성은 HTML 문서에 직접 배치하여 작동합니다.

결과는 다음과 같습니다.

여기에 이미지 설명을 입력하세요

관련 정보