我从不同来源收集信息后,将这个问题写成了问答。对于一些我还没有找到解决方案的问题,请参阅答案部分。
我想要创建在同一行上带有编号的方程式。
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore
x + y
∑ x * y = ----- (1)
n x - y
et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores
|Unnumbered |
x = ... |intermediate|
y = ... |equation |
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore
x = f(a,b) (2a)
y = g(c,d) (2b)
n = z(x,y) (2c)
et ea rebum. Stet clita kasd gubergren, no sea takimata
sanctus est Lorem ipsum dolor sit amet, see
Eqs. (1,2b,2c).
我怎样才能生成这样的方程式,使得方程式编号可以与“更新字段”(Ctrl+A,F9)一致,并一致地交叉引用方程式,即更新编号也会更新引用?
答案1
(由于我的版本是德语,因此 UI 元素的措辞可能会略有不同。我用 Google 搜索了一下,看看这些术语用英语应该怎么说。)
Contents
------
1. Adding a “display” style equation
2. Inserting an equation number field
3. Referencing auto-numbered equations
4. Subequation numbering
5. Open Issues
1. 添加“显示”样式方程
使用“插入→公式→新公式”创建新公式。要使其成为显示样式公式而不是内联公式,只需将其放在新行上即可。此类公式应在几个方面有所不同,
- 保持中心,
- 将 ∑ 和 ∫ 等运算符的上标和下标放在运算符的上方和下方,而不是放在侧面。
就像 LaTeX 结构的情况一样
\begin{equation} .. \end{equation}
$$ .. $$
\[ .. \]
如果它的行为有所不同。这可能会在给定的文档中被禁用,尤其是在与合作者或第三方模板合作时。
可以通过将光标放在公式内或通过功能区“插入→公式→新公式”创建新公式,然后通过功能区“公式工具/设计”访问公式选项来找到该设置,其中选项隐藏在功能区↘左侧“工具”部分的按钮中。
在选项的“显示数学”部分中可以控制这些设置。如有疑问,只需使用底部的“默认”按钮即可。
此外,该对话框允许一致地自定义显示数学格式。
2. 插入方程编号字段
Word 2016 支持手动的公式编号,类似于使用\tag
LaTeX 中的命令。例如,输入
x=1#(23)<Enter>
将产生
Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore
x = 1 (23)
et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores.
可以使用“参考文献 → 插入标题”(即“引用 → 插入标题”)生成自动编号,但这在公式中是灰色的。相反,
使用“引用 → 插入标题”在方程式外创建方程式编号字段。选择类型“方程式”(如果尚不存在或已被删除,请使用“新建标签”按钮创建它并选择选项“从标题中排除标签”。
这将创建一个自动编号字段。它还将段落样式设置为“标题”;在“主页”功能区中将其更改回“文本正文”或“标准”。
剪切字段(Ctrl+X)并使用模式将其用作方程编号
#(number)<Enter>
,但不要使用<number>
粘贴字段 Ctrl+V。
为了将来的方便,将方程编号作为可重复使用的文本片段(德语“Schnellbausteine”)存储在“插入”功能区中,或者将编号方程存储为“插入 → 方程”界面中的模板会很有帮助。您也可以直接复制粘贴以前的方程;只有在更新字段之前,数字才会相同。
3. 引用自动编号的方程式
我发现一个常见的建议是只需复制/粘贴生成的方程式编号。 这是错误的。 这样做会在更新编号时破坏引用,因为它不会插入对公式编号的引用,而是插入一个尚未更新的新自动编号字段。
通常,你会使用“插入 → 交叉引用”来插入交叉引用。但是,此界面将数字左侧的所有内容视为类别标签的一部分,而 Word 2016 没有提供仅插入数字的选项,因此直接使用此选项将插入整个公式,而不是数字引用。
相反,我们需要通过选择公式编号字段(仅数字,不带括号)并使用“插入 → 书签”来创建一个命名书签(德语“Textmarke”)。
然后,我们可以使用“插入 → 交叉引用”,使用参考类型“书签”,使用“书签内容”(德语“Textmarkeninhalt”)选项作为参考内容,插入标记文本的自更新和超链接副本,即方程式编号。
必须手动完成诸如“Eq. (...)”之类的命名。在这里,使用插入的“受保护空格”可以Ctrl+Shift+Space防止不必要的换行,例如
yada yada yada yada See Eq.
(1) and yada yada yada yada yada yada
LaTeX 等效项将是Eq.\,(\ref{NAME})
或
Eq.~(\ref{NAME})
。我不确定是否有一种直接的方法可以\,
在 Word 中插入一个细的受保护空格 ( )。
4. 子方程编号
这似乎不受直接支持,但可以使用已经使用的功能来解决。
像之前一样插入自动编号的公式。
a
在数字字段后手动添加。在后续行中,执行不是添加自动编号的方程式并执行不是复制粘贴字段;这些将导致在 、 上分配新的、不同的方程编号Ctrl+A。F9
相反,为第一个方程编号的字段部分创建书签,并使用交叉引用重复该编号。手动添加
b
、c
等d
。(可以自动创建字母,但由于此编号非常局部,因此不需要付出努力。)结果将会是这样的
sed diam nonumy eirmod tempor invidunt ut labore x = f(a,b) (2a) y = g(c,d) (2b) n = z(x,y) (2c) et ea rebum. Stet clita kasd gubergren, no sea takimata
其中
2
in(2a)
是自动编号的字段,2
in(2b)
和(2c)
是对此字段的书签的引用,而a
、b
、c
是手动添加的字母。要引用整个方程,请使用 (2) 中为数字创建的书签。要引用子方程,请创建新书签,其中包含子方程的数字和字母。
5. 尚待解决的问题
在 LaTeX 中,创建多行方程式很简单,这些方程式既与某个符号对齐,又具有可用于与环境交叉引用的数字align
,
\begin{align}
x &= hello + world \\
y &= foo + bar
\end{align}
导致
sed diam nonumy eirmod tempor invidunt ut labore et
dolore magna aliquyam erat,
x = hello + world (42)
y = foo + bar (43)
sed diam voluptua. At vero eos et accusam et justo duo
dolores et ea rebum. Stet clita kasd gubergren, no sea
对于未编号的方程式,word 具有对齐功能,可以通过选择对齐符号并通过上下文菜单将其设置为对齐元素来使用,或者通过键入 LaTeX 样式的输入,&=
将转换为对齐=
。
但是,使用该方法插入数字#()
会破坏所有这种对齐。