
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
.
흠, 여기서 무슨 일이 일어났나요?이 데비안 버그 리포터가 생각한 것처럼 내 시스템이 잘못 구성되어 있습니까?? 아니요. 아마도 한때는 pstoedit
SVG 변환이 자유 소프트웨어였을 수도 있지만더 이상은 아니야.
SVG는 의 셰어웨어 "플러그인" pstoedit
이며 내 OS인 FreeBSD에는 바이너리가 없습니다.
SVG 수학을 어떻게 사용할 수 있습니까? 실제로 SVG는 일부 명령 사이에 표시되어 있고 htlatex
없이 표시되어 있습니까 pstoedit
?
htlatex
먼저 EPS 파일(예 : zztest.eps
. 그런 다음 시도합니다 pstoedit -f svg zztest.eps test0x.svg
. 그래서 그냥 다른 변환기를 사용해볼까 생각했는데 , 와 같은 다른 변환기는 uniconvertor
LaTeX inkscape -z
의 마법을 제대로 인식하지 못하고 EPS를 거대한 캔버스에 올려 놓습니다(아래 참조). 또한 매번 다른 변환기를 실행해야 하는 번거로움이 있으므로 어떤 변환기를 사용할 것인지 지정할 수 있는 방법이 있어야 합니다.
htlatex
이미지는 SVG와 마찬가지로 default 의 출력과 같아야 합니다 .
답변1
우리는 정말로 pstoedit
더 나은 것으로 교체해야 합니다. 실제로는 직접 변환기 가 존재하는 것처럼 변환 하고 다시 DVI
변환 하는 프로세스가 오늘날에는 실제로 필요하지 않습니다 .PostScript
SVG
DVI
SVG
파일 에서 이미지 변환 명령을 변경할 수 있지만 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
수학 품질에 관한 마지막 의견: 이미지에는 해상도(접근성, 글꼴 크기 간의 불일치, 기준선과 정렬되지 않음 등)와는 별개로 다른 문제가 있기 때문에 형식을 사용하는 것이 가장 좋습니다 . 문제는 mathml
Firefox를 제외하면 사실상 존재하지 않는 열악한 브라우저 지원입니다. Mathjax는 모든 브라우저에 이에 대한 우수한 지원을 추가하지만 귀하가 이를 좋아하지 않는다는 점을 충분히 이해합니다. 컴파일 타임에 Mathjax를 사용할 가능성이 있습니다. 이 메소드는 mathml
Portable 로 대체되어 HTML
Javascript 없이 표시될 수 있습니다. 보다Mathjax 노드. Make4ht의 다음 버전은 이 프로젝트에 대한 옵션을 제공할 것입니다.