如何在 LaTeX 中自动进行方程式替换?我理解我可以\newcommand
按照以下方式创建这个答案,但该解决方案似乎无法扩展到更长的文档。
我的 MWE 如下。我想知道是否有一种自动方法可以引用等式=
符号后的部分。
\documentclass{article}
\begin{document}
Two basic equations:
\begin{equation}
\label{eq:f}
F_n = F \cdot \sin(\theta)
\end{equation}
\begin{equation}
\label{eq:theta}
\theta = \tan^{-1}\left(\frac{b}{a} \right)
\end{equation}
Substitute~\ref{eq:theta} into~\ref{eq:f} to obtain equation~\ref{eq:full}:
\begin{equation}
\label{eq:full}
F_n = F \cdot sin\left( \tan^{-1}\left(\frac{b}{a} \right)\right)
\end{equation}
\end{document}
对于完整的方程式,我想按照下面的伪代码进行操作:
\begin{equation}
\label{eq:full}
F_n = F \cdot sin\left( \eqref{eq:theta} \right)\right)
\end{equation}
这可能吗,无需用 分别定义每个方程\newcommand
?
答案1
虽然这不是 OP 提出的语法,但我认为它可以适用于他的应用程序。
在这里我介绍
\DefineTerm{<\name>}{<compact representation>}{<expanded representation>}
允许使用\name
并\name*
实现所定义的压缩或扩展表示。
\documentclass{article}
\makeatletter
\newcommand\DefineTerm[3]{\gdef#1{\@ifstar{#3}{#2}}}
\makeatother
\begin{document}
\DefineTerm\Xtheta{\theta}{\tan^{-1}\left(\frac{b}{a} \right)}
\begin{equation}
F_n = F \cdot \sin(\Xtheta)
\end{equation}
\begin{equation}
\Xtheta = \Xtheta*
\end{equation}
\begin{equation}
\label{eq:full}
F_n = F \cdot \sin\left( \Xtheta*\right)
\end{equation}
\end{document}