如果我尝试用 排版以下最小工作示例latex
,则不会发生任何错误:
\documentclass{article}
\title{\#}
\author{}
\begin{document}
\maketitle
\end{document}
但是,如果我尝试使用htlatex
或进行排版make4ht
,就会出现错误
! Illegal parameter number in definition of \:temp.
和
You can't use `macro parameter character #' in horizontal mode.
Illegal parameter number in definition of \:temp.
分别。
这是什么问题?如何解决?
编辑:看来我可以通过使用latexml
(看起来更强大和最新并且产生更好的输出)来简单地避免这个问题,但是我仍然想知道是什么导致了这里的错误以及如何制作htlatex
和make4ht
工作。
答案1
我将在 TeX4ht 源中处理此问题。与此同时,您可以使用以下配置文件(使用 David 的答案中的技巧):
\Preamble{xhtml}
\DeclareRobustCommand\myhash{\symbol{35}}
\Configure{TITLE+}{\myhash}
\begin{document}
\EndPreamble
该\Configure{TITLE+}
命令设置<title>
标签的内容,因此每次您的标题出现故障时都可以使用它。
结果如下:
<!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='sample.css' rel='stylesheet' type='text/css' />
<meta content='sample.tex' name='src' />
</head><body>
<div class='maketitle'>
<h2 class='titleHead'>#</h2>
<div class='author'></div><br />
<div class='date'><span class='cmr-12'>March 29, 2022</span></div>
</div>
</body>
</html>