如何将 catcode 与 tex4ht 一起使用?

如何将 catcode 与 tex4ht 一起使用?

我需要\catcode`\^^M=12 %在 Latex 文件中使用它来用于其他目的。

文件编译成功但是在模式lualatex下出现错误。tex4ht lua

有没有办法让它在 tex4ht 中也能工作?这是一个 MWE

\documentclass[11pt]{scrartcl}
\IfFileExists{luatex85.sty}
{\usepackage{luatex85}}{}

\begin{document}
{%
\catcode`\^^M=12 %
\endlinechar=`\^^M %
test
}%
\end{document}

现在 lualatex foo6.tex编译OK。但是 make4ht --lua foo6.tex没有:

make4ht --lua foo6.tex
Output dir:     
Compiler:   dvilualatex
Latex options:   -jobname=foo6 
tex4ht.sty :    xhtml,
tex4ht  
build_file  foo6.mk4
Cannot open config file foo6.mk4
setting param correct_exit
setting param correct_exit
setting param correct_exit
setting param ext
Adding:     ext dvi
LaTeX call: dvilualatex  -jobname=foo6  '\makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode\def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1.a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,html]{tex4ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandafter\def\csname tex4ht\endcsname{#1,html}\def\HCode####1{\documentstyle[tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode xhtml,.a.b.c.\input foo6'
This is LuaTeX, Version 0.95.0 (TeX Live 2016) 
 restricted system commands enabled.
LaTeX2e <2016/03/31> patch level 1
....
(/usr/local/texlive/2016/texmf-dist/tex/generic/tex4ht/html4.4ht)
(/usr/local/texlive/2016/texmf-dist/tex/generic/tex4ht/html4-math.4ht))
(./foo6.aux)
! Missing number, treated as zero.
<to be read again> 
^
l.9 \catcode`\^^
              M=12 %
? 

这是 Linux 上的 TL 2016。

答案1

`\^^M

只是 13 的一种复杂写法,所以如果你不想禁用 tex4ht 的使用,^那么你可以使用

\catcode13=12

答案2

似乎与重新定义为生成上标的\^^M相冲突。您可以尝试使用命令行选项禁用它:^tex4htno^

make4ht -l foo6.tex no^

相关内容