將文檔中使用的方程式編譯為方程式表?

將文檔中使用的方程式編譯為方程式表?

我正在嘗試找到一種方法來獲取文件中的所有編號方程式(即環境中的任何內容equation)並自動生成附加到文件末尾的方程式表。

我發現了幾個已回答的問題(例如這裡這裡) 其中該tocloft套件用於產生文件中使用的方程式的目錄樣式參考清單。這不是我想做的事。我想要的是在我的文件末尾附加一個新頁面,其中排版了實際的方程,旁邊有相應的方程編號,最好可以選擇將表格設為 2 列或 3 列格式。

答案1

\equationpage 只是使用方程式環境列出方程式。您可以套用任何您想要的列或字體格式。

注意:方程式*環境不會儲存到清單中。

\documentclass{article}
\usepackage{mathtools}
\usepackage{environ}

\newcounter{eqsaved}
\newcounter{eqused}

\let\oldequation=\equation% save original equation environment
\let\oldendequation=\endequation

\NewEnviron{myequation}{%
  \oldequation\BODY\oldendequation
  \stepcounter{eqsaved}%
  \global\expandafter\edef\csname myequationnumber\theeqsaved\endcsname{\theequation}%
  \global\expandafter\edef\csname myequation\theeqsaved\endcsname{\BODY}}

\let\equation=\myequation% replace equation environment
\let\endequation=\endmyequation

\newcommand{\equationpage}%
{\ifnum\value{eqused}<\value{eqsaved}\relax
  \loop\stepcounter{eqused}%
    \oldequation{\csname myequation\theeqused\endcsname}
    \tag{\csname myequationnumber\theeqused\endcsname}\oldendequation
  \ifnum\value{eqused}<\value{eqsaved}\relax\repeat
\fi}

\begin{document}
\begin{equation} x=a \end{equation}
\begin{equation} y=b \end{equation}

\newpage\equationpage
\end{document}

相關內容