SWI Prolog 文档生成器标签环境:不允许使用标签

SWI Prolog 文档生成器标签环境:不允许使用标签

我正在尝试使用 SWI Prolog PlDoc 包生成文档,但是我遇到了在中定义的环境的问题pldoc.sty

\newcommand{\tag}[1]{%
    \item[#1]}
...
%   \begin{tags} ... \end{tags}

\newenvironment{tags}%
    {\begin{quote}\begin{description}%
        \setlength{\itemsep}{0pt}%
        \footnotesize}%
    {\end{description}\end{quote}}

这在生成的 TeX 文件中使用如下:

\subsection{automata.pl: High-level predicates for dealing with regular expressions}

\label{sec:automata}

\begin{tags}
    \tag{See also}
\url{https://github.com/wvxvw/intro-to-automata-theory}
    \tag{To be done}
Add \predref{match_suffix_regex}{3}, \predref{match_all_regex}{3}, \predref{find_regex}{3}
\end{tags}

我将其插入到一个更大的文档中,如下所示:

\documentclass[11pt]{article}
...
\usepackage{amsmath}
...
\usepackage{pldoc}
...
\begin{document}
...
\section{Appendix A}
\label{sec:orgheadline18}
\input{automata-doc}
\end{document}

当我尝试使用生成 PDF 时latexmk收到pdflatex以下错误:

! Package amsmath Error: \tag not allowed here.

See the amsmath package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.253     \tag
              {See also}

但是,当我生成独立文档(不使用amsmath包)时,不会发生此错误。我猜是它amsmath搞乱了一切,但我不知道如何防止它干扰。

答案1

我遇到了同样的问题,我修改了 Prolog 和 LaTeX 代码以解决问题。您可以在 GitHub 上的存储库 AltPldoc 中找到修改后的文件和一些说明。 https://github.com/francomorando/AltPldoc

答案2

看起来维护者不愿意更改文档生成器提供的 STY:https://github.com/SWI-Prolog/packages-pldoc/issues/11

我缺乏尝试自己修补此问题的知识,因此,我发现解决问题的唯一方法是分别生成代码文档和文章的其余部分,然后按照以下(或类似)说明合并两个生成的 PDF:https://askubuntu.com/a/18691/638782

相关内容