htlatex의 SVG 수학/기타 기호: pstoedit 이외의 다른 것을 사용하기

htlatex의 SVG 수학/기타 기호: pstoedit 이외의 다른 것을 사용하기

xelatex파일이 하나 있는데 를 통해 인쇄 가능한 PDF 파일 과 를 통해 HTML 페이지를 번갈아 생성하고 싶습니다 htlatex. 기본적으로 htlatex정말 보기 흉한 저해상도 PNG 방정식을 생성합니다. 대신 SVG를 원합니다.

그래요~ 아니다MathJaX를 사용하고 싶습니다. 나는 내 파일이 JavaScript 없이 작동하기를 원하며 사용자가 매번 복잡한 TeX를 렌더링해야 하는 것을 원하지 않습니다.

온라인 조언에 따라 이것을 넣었습니다 c.cfg...

\Preamble{ext=htm,charset="utf-8",p-width,pic-align}
  \Configure{Picture}{.svg}  
  \makeatletter
  \Configure{graphics*}
  {svg}
  {
    {\Configure{Needs}{File: \[email protected]}\Needs{}}
    \Picture[\csname a:GraphicsAlt\endcsname]{\csname Gin@base\endcsname.svg
            \csname a:Gin-dim\endcsname}
  }
  \begin{document}
\EndPreamble

htlatex...를 통해 실행한 htlatex myfile "c"후 다음을 얻었습니다 pstoedit: Unsupported output format svg.

흠, 여기서 무슨 일이 일어났나요?이 데비안 버그 리포터가 생각한 것처럼 내 시스템이 잘못 구성되어 있습니까?? 아니요. 아마도 한때는 pstoeditSVG 변환이 자유 소프트웨어였을 수도 있지만더 이상은 아니야.

SVG는 의 셰어웨어 "플러그인" pstoedit이며 내 OS인 FreeBSD에는 바이너리가 없습니다.

SVG 수학을 어떻게 사용할 수 있습니까? 실제로 SVG는 일부 명령 사이에 표시되어 있고 htlatex없이 표시되어 있습니까 pstoedit?

htlatex먼저 EPS 파일(예 : zztest.eps. 그런 다음 시도합니다 pstoedit -f svg zztest.eps test0x.svg. 그래서 그냥 다른 변환기를 사용해볼까 생각했는데 , 와 같은 다른 변환기는 uniconvertorLaTeX inkscape -z의 마법을 제대로 인식하지 못하고 EPS를 거대한 캔버스에 올려 놓습니다(아래 참조). 또한 매번 다른 변환기를 실행해야 하는 번거로움이 있으므로 어떤 변환기를 사용할 것인지 지정할 수 있는 방법이 있어야 합니다.

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

htlatex이미지는 SVG와 마찬가지로 default 의 출력과 같아야 합니다 .

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

답변1

우리는 정말로 pstoedit더 나은 것으로 교체해야 합니다. 실제로는 직접 변환기 가 존재하는 것처럼 변환 하고 다시 DVI변환 하는 프로세스가 오늘날에는 실제로 필요하지 않습니다 .PostScriptSVGDVISVG

파일 에서 이미지 변환 명령을 변경할 수 있지만 tex4ht.env이 과정이 쉽지 않습니다. 대신 빌드 파일을 지원하는 make4ht최신 대체 기능인 를 사용하겠습니다 . htlatex이러한 빌드 파일에서 이미지 변환을 위한 사용자 정의 명령을 지정할 수 있습니다.

다음 코드를 다음과 같이 저장합니다 test.mk4.

Make:image("svg$","dvisvgm -n -p ${page} -c 1.4,1.4 -s ${source} > ${output}")

빌드 파일은 Lua 스크립트이며, Make:image명령은 이미지 변환 명령을 제공합니다. 이 명령에는 두 개의 인수가 있습니다. 첫 번째는 구성된 이미지 형식(정규식이므로 $끝에 있음)이고 두 번째는 변환 명령을 위한 템플릿입니다. 세 가지 중요한 매개변수가 있는데, 파일 ${source}이름 DVI, ${page}변환된 이미지의 페이지 번호, ${output}생성된 이미지의 이름입니다.

명령을 사용하여 문서를 컴파일할 수 있습니다.

make4ht -c c.cfg test.tex

빌드 파일은 .mk4확장자를 가진 입력 TeX 파일로 이름이 지정되면 자동으로 사용됩니다.

mathml수학 품질에 관한 마지막 의견: 이미지에는 해상도(접근성, 글꼴 크기 간의 불일치, 기준선과 정렬되지 않음 등)와는 별개로 다른 문제가 있기 때문에 형식을 사용하는 것이 가장 좋습니다 . 문제는 mathmlFirefox를 제외하면 사실상 존재하지 않는 열악한 브라우저 지원입니다. Mathjax는 모든 브라우저에 이에 대한 우수한 지원을 추가하지만 귀하가 이를 좋아하지 않는다는 점을 충분히 이해합니다. 컴파일 타임에 Mathjax를 사용할 가능성이 있습니다. 이 메소드는 mathmlPortable 로 대체되어 HTMLJavascript 없이 표시될 수 있습니다. 보다Mathjax 노드. Make4ht의 다음 버전은 이 프로젝트에 대한 옵션을 제공할 것입니다.

관련 정보