\cref 和 \Cref 的轻量级等效项

\cref 和 \Cref 的轻量级等效项

我正在尝试使用 HeVeA 将我的 LaTeX 文档转换为 HTML,但我遇到了包问题cleveref——我的 LaTeX 文件大量使用\cref\Cref但 hevea 默认不支持此包。

我尝试做的第一件事是导入整个cleveref.sty——但不知何故没有起作用,我也在查看cleveref源代码,但这对我来说有点太复杂了:-)

所以问题是——您认为在用 HeVeA 转换的文档中进行引用的最佳方法是什么?

这个例子非常简单:

\documentclass{article}
\usepackage{cleveref}
\begin{document}
\section{A}
\label{x}
\Cref{x}, \cref{x}.
\end{document}

运行 pdflatex 两次,你会得到一个漂亮的 pdf,上面写着“第 1 节,第 1 节”。HeVeA 失败,Command not found: \Cref

答案1

正如评论中提到的,cleveref实际上有一种方法可以解决这个问题。

假设你的文件如下所示

myfile.tex

\documentclass{article}

\usepackage{cleveref}

\begin{document}

\section{My section}\label{sec:test}
We see in \cref{sec:test} that ...
\end{document}

当你想获得好处,cleveref但又不想使用cref和朋友时,那么你加载

\usepackage[poorman]{cleveref}

然后重新编译。这将生成文件myfile.sed(其中包含很多行)。现在运行

sed -f myfile.sed myfile.tex> mynewfile.tex

这使

myfilenew.tex

\documentclass{article}



\begin{document}

\section{My section}\label{sec:test}
We see in section\nobreakspace \ref {sec:test} that ...
\end{document}

现在,您拥有了一个具有所有优点的文件,cleveref但无需任何手工劳动 - 太棒了!

相关内容