Составить уравнения, используемые в документе, на листе уравнений?

Составить уравнения, используемые в документе, на листе уравнений?

Я пытаюсь найти способ взять все пронумерованные уравнения в моем документе (т. е. все, что находится внутри среды 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}

Связанный контент