如何自动进行方程式代换

如何自动进行方程式代换

如何在 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}

在此处输入图片描述

相关内容