引用一个单词或整个方程,而不是它的数字

问题描述 投票:0回答:1

我想用不同书籍中的方程式编写一份文档。 问题是有时不同的书使用不同的字母来表示相同的物理尺寸。

我想为我需要的每个物理尺寸创建类似参数的东西,以便能够通过仅更改一次来更改引用物理尺寸的字母。

这就是我认为可行的方法:

`\section{测试段落} 根{方程} \标签{距离} X nd{方程}

根{方程} ef{距离}=速度*时间 nd{方程}`

如果\\label{distance}

下面一行是“x”,我希望方程为x=速度
时间。 当
\\label{distance}
下的行中的字母“x”更改为不同的内容(例如“y”)时,我希望方程变为 y=speed
time。

reference latex equation
1个回答
0
投票

\label{}
仅用于交叉引用,不用于文本替换。

LaTeX 提供了用于创建所谓的“宏”的工具。这些只是用户发出的额外命令。例如,\newcommand{\macro}[num]{<substitution>}是创建宏的一种简单方法,但也有局限性。更复杂且推荐的方法是

\NewDocumentCommand{\macro}{<definitions>}{<subsitution>}
(请参阅
文档
)。您还会遇到\def\macro{<subsitution>}。虽然
\def
在低级 LaTeX 中有其用途,但大多数时候不推荐使用它来创建宏,并且很容易出错,例如一个陷阱是它永远不会报告现有宏是否被覆盖。
在您的情况下,在序言中添加 

\newcommand\distance{x}

,然后文本中的每个

\distance
将被其定义替换。
这是一个简单的例子:

\documentclass{article} \newcommand\distance{\ensuremath s} \newcommand\speed{\ensuremath v} \newcommand\ttime{\ensuremath t} \begin{document} \section{Test paragraph} In the equation \ref{distance}: \begin{itemize} \item \distance{} denotes a distance \item \speed{} denotes speed and \item \ttime{} denotes time. \end{itemize} \begin{equation}\label{distance} \distance = \speed \times \ttime \end{equation} \end{document}

有几件事我应该提一下。首先,请注意我使用 
\ensuremath

。 LaTeX 有两种模式:文本模式和数学模式。在这两种模式下,格式不同,包括字体。

\ensuremath
保持数学格式并允许数学表达式,即使在数学环境之外使用宏也是如此。
您还注意到我使用 

\distance{}

而不是

\distance
。在文本(段落、列表等)中,LaTeX 会消耗宏 s.a. 后面的所有空格。
\distance     X
仍会呈现为
xX
。只需添加括号
{}
就可以防止这种情况。我不会详细说明这一点,因为这是另一个问题的主题。
    

© www.soinside.com 2019 - 2024. All rights reserved.