일반 텍스용 make4ht

일반 텍스용 make4ht

다음을 사용하여 일반 tex 문서를 html로 변환하고 싶습니다.make4ht. 이 명령줄을 사용하면 make4ht document.tex프로그램은 컴파일러를 "라텍스"라고 호출하고 컴파일을 차단합니다. 이 make4ht --help명령은 일반 텍스트를 컴파일하는 방법을 설명하지 않습니다.

일반 텍스트를 HTML 문서로 컴파일하는 정확한 명령줄은 무엇입니까?

답변1

TeX4ht를 Plain TeX와 함께 작동시키는 것은 그리 간단하지 않습니다. 울리케는 이미 내 것을 가리켰다.이전 답변. 우리는 그것을 출발점으로 사용할 수 있습니다. 다음 코드를 다음과 같이 저장합니다 plain-4ht.tex.

% file plain-4ht.tex
% the following macro needs to be executed in order to include all .4ht files
\csname tex4ht\endcsname

코드를 최소한으로 단순화했습니다. \csname tex4ht\endcsname기본 HTML 구조를 삽입하려면 명령을 실행해야 합니다 .

이 파일은 모든 매크로 정의 뒤에 삽입하면 됩니다.

\input plain-4ht

Hello world
\bye

다음 문제는 make4ht. 이를 위해서는 빌드 파일을 사용해야 합니다. 다음 파일을 다음과 같이 저장하십시오 mybuild.lua.

Make:add("httex", 
'${htlatex} --interaction=${interaction} ${latex_par}' ..
"'\\def\\Link#1.a.b.c.{\\expandafter\\def\\csname tex4ht\\endcsname{\\expandafter\\def\\csname tex4ht\\endcsname{#1,html}\\input tex4ht.sty }}" ..
"\\def\\HCode{\\futurelet\\HCode\\HChar}\\def\\HChar{\\ifx\"\\HCode\\def\\HCode\"##1\"{\\Link##1}\\expandafter\\HCode\\else\\expandafter\\Link\\fi}" ..
"\\HCode ${tex4ht_sty_par}.a.b.c.\\input \"\\detokenize{${tex_file}}\"'", 
{htlatex="dviluatex"})
Make:httex {}

이 명령을 사용하여 Plain TeX를 실행하는 Make:add새 명령을 생성합니다 . Make:httex사용되는 엔진은 htlatex매개변수를 사용하여 구성할 수 있습니다. (기본 엔진은 htlatex="dviluatex")

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

make4ht -e mybuild.lua filename.tex

마지막 문제는 사용자 정의 매크로를 구성하는 방법입니다. TeX4ht는 패치된 명령 덕분에 특정 파일에 대한 구성 파일을 로드할 수 있지만 \usepackagePlain에서는 작동하지 않습니다.

다음과 같은 파일이 있다고 가정해 보겠습니다 mymacros.tex.

\def\mytitle#1{\bgroup\bf #1\egroup\par}

우리는 HTML 문서에서 <h1>for 요소를 사용하고 싶습니다 . \mytitle파일 생성 mymacros.4ht:

\NewConfigure{mytitle}{2}
\def\mytitle#1{\a:mytitle#1\b:mytitle\par}

\Configure{mytitle}{\ifvmode\IgnorePar\fi\EndP\HCode{<h1>}}{\HCode{</h1>}}

샘플 문서:

\input mymacros
\input plain-4ht

\mytitle{My title}

Some text.

\bye

파일은 mymacros.4ht파일에 포함될 수 있습니다 .cfg.

\Preamble{xhtml}
\catcode`\:=11
\input mymacros.4ht
\catcode`\:=12
\EndPreamble

:파일 에 문자가 사용되므로 올바른 catcode를 사용해야 합니다 .4ht. 이 모든 작업은 LaTeX에서 자동으로 수행됩니다.

이제 다음을 사용하여 문서를 컴파일할 수 있습니다.

 make4ht -e mybuild.lua -c config.cfg filename.tex

결과는 다음과 같습니다.

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

<!DOCTYPE html> 
<html lang='en-US' xml:lang='en-US'> 
<head>

<title>sample.html</title> 
<meta charset='utf-8' /> 
<meta name='generator' content='TeX4ht (http://www.tug.org/tex4ht/)' /> 
<meta name='viewport' content='width=device-width,initial-scale=1' /> 
<link rel='stylesheet' href='sample.css' type='text/css' /> 
<meta name='src' content='sample.tex' /> 
</head><body>
<h1>My title</h1>
<!-- l. 6 --><p class='indent'>    Some text.

</p>    

</body> 
</html>

관련 정보