如何在 LaTeX 中显示与源位置不同的文本?

如何在 LaTeX 中显示与源位置不同的文本?

举个例子:我想把数学问题的文本和问题的解决方案放在同一个输入文件中,但在 pdf 书中,我想将它们分成不同的部分。怎么做?

答案1

此答案基于我的回答公式总结(另相关:按第一次引用对引理进行编号),只是我必须这样做,使得在定义方程时不定义方程编号,而只是在稍后提出方程时定义。(从这个意义上说,它比参考答案更容易)。

\retainmatter{}允许定义答案而不呈现它,同时\recallmatter会调用以前保留的答案。

调用的答案仍然必须按照定义的顺序出现,尽管只需稍加努力就可以改变这一点。

正如 MWE 所示,没有什么可以阻止文本 + 方程式成为保留/回忆内容的一部分。

\documentclass[12pt]{article}
\newcounter{retained}\setcounter{retained}{0}
\newcounter{shown}\setcounter{shown}{0}
\newcounter{saveequation}
\newcommand\retainmatter[1]{%
  \addtocounter{retained}{1}%
  \long\expandafter\gdef\csname defeq\roman{retained}\endcsname{#1}%
}
\newcommand\recallmatter{%
  \addtocounter{shown}{1}%
  \csname defeq\roman{shown}\endcsname%
}
\begin{document}

\section{Problems}

\begin{enumerate}

\item In this problem we are trying to express equation~\ref{eq:p1}

\begin{equation}
\label{eq:p1}
y = x^n
\end{equation}
for the case when $n=1$.

The answer can be found in equation~\ref{eq:a1}.
\retainmatter{%
\fbox{\parbox{3in}{\textbf{Answer 1:}\\
Here, we perform a simple substitution and obtain the result
\begin{equation}
\label{eq:a1}
y = x
\end{equation}
}}}%

\item For this problem, we are trying to express equation~\ref{eq:p2}
for the case when $k=3$
\begin{equation}
\label{eq:p2}
y = x^k
\end{equation}

The answer can be found at equation~\ref{eq:a2}.
\retainmatter{%
\fbox{\parbox{3in}{\textbf{Answer 2:}\\
Here, we again perform a simple substitution and obtain the result
\begin{equation}
\label{eq:a2}
y = x^3
\end{equation}
}}}%
\end{enumerate}

\subsection{Answers}

The answers to the problems are:\medskip

\recallmatter\medskip

\recallmatter

\section{Next Section}

Did equation numbers pick up in the right place?

\begin{equation}
 y = x^5
\end{equation}

\end{document}

在此处输入图片描述

相关内容