如何在Latex中给行内公式编号?

2023-04-15by@jchxdyx-qoxOD&@ChatGPT.Model: gpt-3.5
jchxdyx-qoxOD

如何在Latex中给行内公式编号?

Avatar
Avatar

在Latex中,可以使用\tag命令为行内公式添加标签,从而实现行内公式编号。具体方法如下:

  1. 在行内公式末尾添加\tag{标签},其中“标签”可以是任意字符串或公式。
    例如:a^2+b^2=c^2 \tag{1}

  2. 如果需要引用行内公式,可以使用\eqref命令,如下所示:
    例如:根据公式\eqref{eq:pythagoras},可以计算出斜边的长度。

  3. 完整的示例代码如下:
    \documentclass{article}
    \begin{document}
    根据勾股定理,直角三角形的三条边满足a2+b2=c2a^2+b^2=c^2,其中cc为斜边的长度。
    因此,可以计算出斜边的长度为c=a2+b2c=\sqrt{a^2+b^2}
    这个公式可以用行内公式的形式表示:c=\sqrt{a^2+b^2} \tag{1}。
    根据公式\eqref{eq:pythagoras},可以计算出斜边的长度。
    \end{document}

注意:行内公式编号一般不常用,因为行内公式通常比较简短,且编号可能会影响到排版效果。

jchxdyx-qoxOD

如何在Latex中给行间公式编号?

Avatar
Avatar

在LaTeX中,可以使用\begin{equation}和\end{equation}命令包裹行间公式,从而实现给行间公式编号。具体方法如下:

  1. 在公式前后分别加上\begin{equation}和\end{equation}命令,如下所示:
    \begin{equation}
    a^2+b^2=c^2
    \end{equation}

  2. 如果需要引用行间公式,可以使用\eqref命令,如下所示:
    根据公式\eqref{eq:pythagoras},可以计算出斜边的长度。

  3. 完整的示例代码如下:
    \documentclass{article}
    \begin{document}
    根据勾股定理,直角三角形的三条边满足
    \begin{equation}
    a^2+b^2=c^2 \label{eq:pythagoras}
    \end{equation}
    其中cc为斜边的长度。
    因此,可以计算出斜边的长度为c=a2+b2c=\sqrt{a^2+b^2}
    根据公式\eqref{eq:pythagoras},可以计算出斜边的长度。
    \end{document}

注意:行间公式会自动编号,编号会根据章节自动调整,不需要手动设置。如果需要修改编号的格式,可以使用amsmath宏包中的相关命令进行设置。

jchxdyx-qoxOD

我不想把公式放到\begin{equation}和\end{equation}中而是放到

xj(l)=f(i=0nl1wi(l1)xi(l1)+bj(l)) x_j^{(l)} = f(\sum_{i = 0}^{n_{l-1}}w_i^{(l-1)}x_i^{(l-1)} + b_j^{(l)})

中,怎么办?

Avatar
Avatar

如果您想把公式放到$$和$$中,而不是\begin{equation}和\end{equation}中,可以使用\begin{align}和\end{align}命令来给行间公式编号。具体方法如下:

  1. 在公式前后分别加上\begin{align}和\end{align}命令,如下所示:
    \begin{align}
    x_j^{(l)} &= f(\sum_{i = 0}^{n_{l-1}}w_i^{(l-1)}x_i^{(l-1)} + b_j^{(l)}) \label{eq:formula1} \
    y_k^{(l+1)} &= f(\sum_{j = 0}^{n_l}w_{j,k}^{(l)}x_j^{(l)} + b_k^{(l+1)}) \label{eq:formula2}
    \end{align}

  2. 如果需要引用行间公式,可以使用\eqref命令,如下所示:
    根据公式\eqref{eq:formula1},可以计算出xj(l)x_j^{(l)}的值。

  3. 完整的示例代码如下:
    \documentclass{article}
    \begin{document}
    根据神经网络的前向传播公式,可以计算出第ll层第jj个神经元的输出值:
    \begin{align}
    x_j^{(l)} &= f(\sum_{i = 0}^{n_{l-1}}w_i^{(l-1)}x_i^{(l-1)} + b_j^{(l)}) \label{eq:formula1}
    \end{align}
    其中,wi(l1)w_i^{(l-1)}表示第l1l-1层第ii个神经元到第ll层第jj个神经元的连接权重,bj(l)b_j^{(l)}表示第ll层第jj个神经元的偏置项,ff表示激活函数。根据公式\eqref{eq:formula1},可以计算出xj(l)x_j^{(l)}的值。
    \end{document}

注意:虽然可以使用$$和$$来包裹公式,但是不建议使用这种方式,因为它们不会自动编号,无法进行引用,并且可能会影响公式的排版效果。建议使用\begin{equation}和\end{equation}或\begin{align}和\end{align}命令来进行公式排版。

jchxdyx-qoxOD

在VSCode中使用LaTeX Workshop编辑Latex文件,如何自定义快捷键

Avatar
Avatar

在VSCode中使用LaTeX Workshop编辑Latex文件,可以通过修改快捷键绑定来自定义快捷键。具体方法如下:

  1. 打开VSCode,使用快捷键Ctrl+Shift+P打开命令面板。

  2. 在命令面板中输入“Preferences: Open Keyboard Shortcuts (JSON)”,打开快捷键设置文件。

  3. 在打开的JSON文件中,可以添加自定义的快捷键绑定。例如,假设我想将编译当前文件的命令绑定到Ctrl+Alt+B键上,可以添加如下代码:

{
    "key": "ctrl+alt+b",
    "command": "latex-workshop.build"
}
  1. 保存JSON文件并关闭。

现在,当我们在编辑LaTeX文件时,按下Ctrl+Alt+B键,就可以自动编译当前文件了。

注意:在添加自定义快捷键绑定时,需要注意命令的名称和参数。可以在VSCode的命令面板中查找要执行的命令,并查看其名称和参数。

jchxdyx-qoxOD

我在这里设置的快捷键在我编辑其他文件(如.py文件)时有用吗?

Avatar
Avatar

不会。在VSCode中,快捷键绑定是针对不同的编辑器语言进行设置的。因此,您在设置LaTeX文件的快捷键时,这些快捷键只会在您编辑LaTeX文件时生效,而不会在编辑其他类型的文件时生效。

如果想要在编辑其他类型的文件时使用相同的快捷键,可以在快捷键设置文件中添加多个语言的绑定。例如,假设我想将Ctrl+Alt+B键绑定到编译当前文件的命令,并且在编辑Python文件时也想要使用这个快捷键,可以添加如下代码:

[
    {
        "key": "ctrl+alt+b",
        "command": "latex-workshop.build",
        "when": "editorTextFocus && resourceExtname == .tex"
    },
    {
        "key": "ctrl+alt+b",
        "command": "workbench.action.terminal.runSelectedText",
        "when": "editorTextFocus && resourceExtname == .py"
    }
]

这里,我添加了两个绑定。第一个绑定将Ctrl+Alt+B键绑定到编译当前文件的命令,并且仅在编辑LaTeX文件时生效。第二个绑定将Ctrl+Alt+B键绑定到运行选定文本的命令,并且仅在编辑Python文件时生效。通过这种方式,可以在不同的编辑器语言中使用相同的快捷键。

jchxdyx-qoxOD

如果代码改成这样:
{
"key": "ctrl+alt+b",
"command": "workbench.action.terminal.runSelectedText",
"when": "editorTextFocus"
}
是不是我设置的快捷键就可以在我编辑其他文件时也有用了?

Avatar
Avatar

不是完全正确的。这个设置将Ctrl+Alt+B键绑定到在终端中运行选定文本的命令,并且在任何编辑器中都可以使用。但是,这并不等同于在任何编辑器中都可以使用您在LaTeX Workshop中设置的编译命令。

如果您想在所有编辑器中使用相同的快捷键来编译当前文件,可以添加以下设置:

{
    "key": "ctrl+alt+b",
    "command": "-workbench.action.terminal.runSelectedText",
    "when": "editorTextFocus"
},
{
    "key": "ctrl+alt+b",
    "command": "latex-workshop.build",
    "when": "editorTextFocus && editorLangId == 'latex'"
}

这里,我添加了两个绑定。第一个绑定取消了默认的Ctrl+Alt+B键绑定,防止它与LaTeX Workshop的绑定冲突。第二个绑定将Ctrl+Alt+B键绑定到编译当前文件的命令,并且仅在编辑LaTeX文件时生效。通过这种方式,您可以在所有编辑器中使用相同的快捷键来编译当前的LaTeX文件。