
make4ht
명령을 사용하여 설치했습니다 tlmgr install make4ht
.
이제 명령을 입력하면 make4ht foo.tex
다음 오류가 발생합니다.
[STATUS] make4ht: Conversion started
[STATUS] make4ht: Input file: foo.tex
...texmf-dist/scripts/make4ht/filters/make4ht-domfilter.lua:2: module 'luaxml-domobject' not found:
no field package.preload['luaxml-domobject']
[kpse lua searcher] file not found: 'luaxml-domobject'
[kpse C searcher] file not found: 'luaxml-domobject'
성공적 으로 사용하려면 또 무엇을 설치해야 합니까 make4ht
?
답변1
Ubuntu (20.04)에서는 표준 패키지를 make4ht
통해 설치 했습니다 .apt
texlive-extra-utils
그리고 비슷한 오류가 있습니다.
...texmf-dist/scripts/make4ht/filters/make4ht-domfilter.lua:2: module 'luaxml-domobject' not found:
no field package.preload['luaxml-domobject']
[kpse lua searcher] file not found: 'luaxml-domobject'
[kpse C searcher] file not found: 'luaxml-domobject'
오류를 해결하기 위해 방금 패키지를 설치했습니다. texlive-luatex
:
sudo apt install texlive-luatex
(패키지에 대한 종속성이 누락된 것 같습니다 texlive-extra-utils
.)
답변2
이 문제를 어떻게 해결했는지 답변해 드리겠습니다. @michal.h21의 댓글이 도움이 되었습니다.
2~6번 항목은 잘못된 시작이나 좋은 결과를 얻지 못한 시도를 보여줍니다. 마지막 포인트, 즉 포인트 7만이 좋은 결과를 가져왔습니다.
foo.tex
성공적으로 작동하는지 테스트하는 데 사용할 파일을 만듭니다make4ht
.\documentclass{article} \usepackage{amsmath} \title{Demo} \begin{document} \begin{align} 1 + 0 & = 1, \label{eq1} \\ 1 + 1 & = 2, \label{eq2} \\ e^{i \pi} = -1. \label{eq3} \end{align} Equation \( \eqref{eq1} \), \( \eqref{eq2} \) and \( \eqref{eq3} \) describe eternal truths. The equation \( e^{i \pi} = -1 \) can also be rewritten as \( e^{i \pi} + 1 = 0 \) which is known as Euler's identity. \end{document}
다음과 같이 설치
make4ht
하고 컴파일foo.tex
합니다foo.html
.sudo tlmgr install make4ht make4ht foo
이로 인해 다음과 같은 오류가 발생했습니다.
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo ...texmf-dist/scripts/make4ht/filters/make4ht-domfilter.lua:2: module 'luaxml-domobject' not found: no field package.preload['luaxml-domobject'] [kpse lua searcher] file not found: 'luaxml-domobject' [kpse C searcher] file not found: 'luaxml-domobject'
설치
make4ht
하고luaxml
다시 시도해 보세요.sudo tlmgr install make4ht luaxml make4ht foo
이로 인해 다음과 같은 오류가 발생했습니다.
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo [ERROR] htlatex: Compilation errors in the htlatex run [ERROR] htlatex: Filename Line Message [ERROR] htlatex: ? ? LaTeX Error: File `tex4ht.sty' not found. [ERROR] htlatex: ? 2 Emergency stop. [FATAL] make4ht-lib: Fatal error. Command htlatex returned exit code 1
make4ht
,luaxml
및 을 설치tex4ht
하고 다시 시도하십시오.sudo tlmgr install make4ht luaxml tex4ht make4ht foo
이번에는 변환이 성공했습니다.
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo sh: dvipng: command not found sh: dvipng: command not found sh: dvipng: command not found sh: dvipng: command not found sh: dvipng: command not found [STATUS] make4ht: Conversion finished
출력 결과는 다음과 같습니다
foo.html
.<!DOCTYPE html> <html lang='en-US' xml:lang='en-US'> <head><title></title> <meta charset='utf-8' /> <meta content='TeX4ht (https://tug.org/tex4ht/)' name='generator' /> <meta content='width=device-width,initial-scale=1' name='viewport' /> <link href='foo.css' type='text/css' rel='stylesheet' /> <meta content='foo.tex' name='src' /> </head><body> <!-- l. 6 --><p class='noindent'> </p><table class='align'> <tr><td class='align-odd'>1 + 0</td> <td class='align-even'> = 1<span class='cmmi-10'>,</span></td> <td class='align-label'><a id='x1-2r1'></a>(1) </td></tr><tr><td class='align-odd'>1 + 1</td> <td class='align-even'> = 2<span class='cmmi-10'>,</span></td> <td class='align-label'><a id='x1-3r2'></a>(2) </td></tr><tr><td class='align-odd'><span class='cmmi-10'>e</span><sup><span class='cmmi-7'>iπ</span></sup> = <span class='cmsy-10'>−</span>1<span class='cmmi-10'>.</span></td> <td class='align-even'></td> <td class='align-label'><a id='x1-4r3'></a>(3) </td></tr></table> <!-- l. 12 --><p class='noindent'>Equation <img alt='(1) ' src='foo0x.png' class='math' />, <img alt='(2) ' src='foo1x.png' class='math' /> and <img alt='(3) ' src='foo2x.png' class='math' /> describe eternal truths. </p><!-- l. 15 --><p class='indent'> The equation <img alt='eiπ = − 1 ' src='foo3x.png' class='math' /> can also be rewritten as <img alt='eiπ + 1 = 0 ' src='foo4x.png' class='math' /> which is known as Euler’s identity. </p> </body> </html>
HTML과 이미지를 사용하여 렌더링된 수학은 보기에 좋지 않습니다.
MathJax를 사용하여 수학을 렌더링합니다.
make4ht foo mathjax
변환이 실패합니다:
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo [ERROR] htlatex: Compilation errors in the htlatex run [ERROR] htlatex: Filename Line Message [ERROR] htlatex: ? ? LaTeX Error: File `environ.sty' not found. [ERROR] htlatex: ? 22 Emergency stop. [FATAL] make4ht-lib: Fatal error. Command htlatex returned exit code 1
make4ht
,luaxml
, 및를 설치tex4ht
하고environ
다시 시도하십시오.sudo tlmgr install make4ht luaxml tex4ht environ make4ht foo mathjax
또 실패합니다:
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo [ERROR] htlatex: Compilation errors in the htlatex run [ERROR] htlatex: Filename Line Message [ERROR] htlatex: ? ? LaTeX Error: File `trimspaces.sty' not found. [ERROR] htlatex: ? 17 Emergency stop. [FATAL] make4ht-lib: Fatal error. Command htlatex returned exit code 1
make4ht
,luaxml
,tex4ht
, 및를 설치environ
하고trimspaces
다시 시도하십시오.sudo tlmgr install make4ht luaxml tex4ht environ trimspaces make4ht foo mathjax
변환이 성공했습니다:
[STATUS] make4ht: Conversion started [STATUS] make4ht: Input file: foo [STATUS] make4ht: Conversion finished
출력은 다음과 같습니다
foo.html
.<!DOCTYPE html> <html xml:lang='en-US' lang='en-US'> <head><title></title> <meta charset='utf-8' /> <meta name='generator' content='TeX4ht (https://tug.org/tex4ht/)' /> <meta name='viewport' content='width=device-width,initial-scale=1' /> <link href='foo.css' type='text/css' rel='stylesheet' /> <meta name='src' content='foo.tex' /> <script>window.MathJax = { tex: { tags: "ams", inlineMath: [ ["\\\(","\\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ], processEscapes: true, processEnvironments: true, packages: ['base', 'color', 'ams'] }, loader: { load: ['[tex]/color', '[tex]/ams'] } }; </script> <script id='MathJax-script' type='text/javascript' async='async' src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js'></script> </head><body> <!-- l. 10 --><p class='noindent'>\begin{align} 1 + 0 & = 1, \label{eq1} \\ 1 + 1 & = 2, \label{eq2} \\ e^{i \pi } = -1. \label{eq3} \end{align} </p><!-- l. 12 --><p class='noindent'>Equation \( \eqref{eq1} \), \( \eqref{eq2} \) and \( \eqref{eq3} \) describe eternal truths. </p><!-- l. 15 --><p class='indent'> The equation \( e^{i \pi } = -1 \) can also be rewritten as \( e^{i \pi } + 1 = 0 \) which is known as Euler’s identity. </p> </body> </html>
다음은 출력을 보여주는 JSFiddle의 예입니다.https://jsfiddle.net/9xubrm47/.