> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/latex/zh-cn/ge-shi-hua/15-margin-notes.md).

# 边注

## 引言

本文介绍如何创建页边注，这是一种流行的脚注替代方案，用于向文档正文添加补充信息。我们还有一个 [关于 `todonotes` 宏包](/latex/zh-cn/wen-da/04-can-i-add-inline-or-margin-comments-to-the-pdf.md) 的帮助页面，它提供了与本文所述不同的替代解决方案。

## \marginpar 命令

无需加载任何额外宏包，你可以使用内置的 LaTeX `\marginpar` 命令向你的文档添加页边注。该命令的一般形式是 `\marginpar` 命令是

`\marginpar[*左侧文本*]{*右侧文本*}`

其中 `*左侧文本*` 将用于当页边注出现在文档页面左侧时，而 `*右侧文本*` 将用于当页边注出现在右侧时。更具体地说，页边注通常放在页面的“外侧”——不过“外侧”的含义取决于你使用的文档类以及你是否指定了 `twoside` 宏包选项：

* `book` 类（`\documentclass{book})` 文档默认是双面（设计）
* `report` 类（`\documentclass{report}`）以及 `article` 类（`\documentclass{article}`）文档默认是单面。要将其改为双面，你必须指定 `twoside` 选项的
  * `\documentclass[twoside]{report}`，或
  * `\documentclass[twoside]{article}`

对于单面文档，除从右到左的语言（如阿拉伯语）外，“外侧”始终是文本的右边缘；而对于双面文档，左页的外侧是文本的左边缘，右页的外侧是文本的右边缘。

### 更改页边注的位置

命令 `\reversemarginpar` 会反转页边注排版所在的一侧；其效果可通过命令 `\normalmarginpar`来撤销。正如 LaTeX 源代码文档所述：“这些命令对双栏输出没有作用。”

### 影响页边注排版的命令

对 `\marginpar` 注释的排版会用到若干尺寸命令，这些命令保存的值在需要时可以更改：

* `\marginparwidth`：决定页边注的宽度，因此也决定页边注中排版行的长度。
* `\marginparsep`：设置页边注与文档正文之间的间隔（距离）。
* `\marginparpush`：定义 `\marginpar` 注释之间的最小垂直间距。

### 更改页边注的排版：右边参差对齐和左边参差对齐

默认情况下，页边注的文本是在一个盒子中排版的，该盒子生成的行宽为 `\marginparwidth`。这可能会导致词与词之间出现难看的间隙，因为 TeX 引擎会试图找到“最佳”断行。你可以使用命令 `\raggedright` 和 `\raggedleft` 来改变文本的排版样式。

### 示例

这里有一个示例，使用了多个 `\marginpar` 命令来演示上面列出的一些功能。该示例还加载了 [`geometry`](https://ctan.org/pkg/geometry) 宏包，以创建一个较小的页面尺寸，以及 [`hyperref`](https://ctan.org/pkg/hyperref) 宏包，它提供了 `\url` 命令，用于在脚注中注明文本来源。

```latex
\documentclass[twoside]{article} % Note: uses twoside option
\usepackage[a4paper, marginparwidth=75pt, total={10cm, 10cm}]{geometry} % To create a small page
\usepackage{hyperref} % To use the \url command (in the footnote)
\usepackage{marginnote}
\begin{document}
\section{Lorem Ipsum}
\footnote{来源文本：维基百科(\url{https://en.wikipedia.org/wiki/Lorem_ipsum})}但我必须向你解释，关于谴责快乐和颂扬痛苦这一错误观念是如何产生的。为此，我将向你完整地介绍这一体系，并阐述这位真理伟大探索者、人类幸福的缔造者的真实教诲。\marginpar[注 1：左侧文本]{注 1：页面右侧的文本，它是两端对齐的。}没有人会拒绝、厌恶或回避快乐本身，因为它是快乐；但这是因为那些不知道如何理性追求快乐的人，会遭遇极其痛苦的后果。同样，也没有人会因为痛苦本身而去爱、追求或渴望得到痛苦，因为它是痛苦；但有时会出现这样的情况：劳作和痛苦能为他带来某种巨大的快乐。  \marginpar[注 2：左侧文本]{\raggedright 注 2：页面右侧的文本，它不是两端对齐的，而是使用 \texttt{\string\raggedright}。}举一个微不足道的例子，我们之中有谁会从事费力的体能锻炼，除非是为了从中获得某种好处？但是，对于一个选择享受不会带来烦人后果的快乐，或者避免不会产生相应快乐的痛苦的人，有谁有权去指责他呢？[33]另一方面，我们以正义的愤慨谴责并厌恶那些被当下快乐的魅力所诱惑和败坏、被欲望蒙蔽得看不见即将随之而来的痛苦与麻烦的人；同样应受指责的，还有那些因意志薄弱而未能履行职责的人，这也就是由于畏惧劳作与痛苦。以上这些情况都非常简单，容易区分。在自由的时刻，当我们的选择权不受阻碍、当没有任何东西妨碍我们去做自己最喜欢做的事时，每一种快乐都应受到欢迎，每一种痛苦都应被避免。\marginpar[\raggedleft 注 3：页面左侧文本，它不是两端对齐的，而是使用 \texttt{\string\raggedleft}]{注 3：页面左侧文本}但在某些情况下，由于职责的要求或工作的义务，快乐常常不得不被摒弃，而烦扰则被接受。因此，智者在这些事情上总是遵循这样一种选择原则：他舍弃某些快乐，以获得其他更大的快乐；或者忍受痛苦，以避免更坏的痛苦。
\end{document}
```

打开此 `\marginpar` Overleaf 中的示例

这个示例会生成以下（两页）输出：

第 1 页：

![\marginpar 命令示例](/files/f79c25e338cf9d33c1fcff2a5c915ff29a7726ca)

第 2 页：

![\marginpar 命令示例](/files/62f7400ed88da895556d73ee575889ce03c92747)

### mparhack 宏包：修正错误的页边

在内部，LaTeX 将页边注作为文档中一种“浮动”组件来处理——类似于 LaTeX 处理浮动图和表格的方式。由于是“浮动对象”，由 `\marginpar` 生成的页边注有时会出现在错误的页边。 [`mparhack` 宏包](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/mparhack/mparhack.pdf) 是为了解决这个问题而编写的，因此如果你遇到这种情况，它值得一用。

## \marginpar 的替代方案：marginnote 宏包

该 [`marginnote` 宏包](https://www.ctan.org/pkg/marginnote) 提供了 `\marginpar` 该命令。 `marginnote` 的多功能替代方案，它使用的是非浮动机制，这与 `\marginpar` 的工作方式不同： `marginnote` 解决了一些问题，但正如其文档所指出的，它也可能引入其他问题。

### 示例

下面的示例演示了 `\marginnote` 命令，由……提供 `marginnote` 宏包的示例代码：

```latex
\documentclass{article}
\usepackage[a5paper, total={3in, 6in}]{geometry} % to create a small page
\usepackage{hyperref} % To use the \url command (in the footnote)
\usepackage{marginnote}
\begin{document}
\section{Lorem Ipsum}
\footnote{来源文本：维基百科(\url{https://en.wikipedia.org/wiki/Lorem_ipsum})}但我必须向你解释，关于谴责快乐和颂扬痛苦这一错误观念是如何产生的。为此，我将向你完整地介绍这一体系，并阐述这位真理伟大探索者、人类幸福的缔造者的真实教诲。\marginnote{这是一个页边注，相对于其排版所在行下移了 2 厘米。}[2cm]没有人会拒绝、厌恶或回避快乐本身，因为它是快乐；但这是因为那些不知道如何理性追求快乐的人，会遭遇极其痛苦的后果。同样，也没有人会因为痛苦本身而去爱、追求或渴望得到痛苦，因为它是痛苦；但有时会出现这样的情况：劳作和痛苦能为他带来某种巨大的快乐。\reversemarginpar\marginnote{这是另一个页边注，但相对于其排版所在行上移了 2 厘米。它也位于左侧页边。}[-2cm]举一个微不足道的例子，我们之中有谁会从事费力的体能锻炼，除非是为了从中获得某种好处？但是，对于一个选择享受不会带来烦人后果的快乐，或者避免不会产生相应快乐的痛苦的人，有谁有权去指责他呢？[33]另一方面，我们以正义的愤慨谴责并厌恶那些被当下快乐的魅力所诱惑和败坏、被欲望蒙蔽得看不见即将随之而来的痛苦与麻烦的人；同样应受指责的，还有那些因意志薄弱而未能履行职责的人，这也就是由于畏惧劳作与痛苦。以上这些情况都非常简单，容易区分。在自由的时刻，当我们的选择权不受阻碍、当没有任何东西妨碍我们去做自己最喜欢做的事时，每一种快乐都应受到欢迎，每一种痛苦都应被避免。但在某些情况下，由于职责的要求或工作的义务，快乐常常不得不被摒弃，而烦扰则被接受。因此，智者在这些事情上总是遵循这样一种选择原则：他舍弃某些快乐，以获得其他更大的快乐；或者忍受痛苦，以避免更坏的痛苦。
\end{document}
```

在 Overleaf 中打开此示例

此示例生成如下输出：

![使用 marginnote 宏包](/files/cccbbfcb349942f201415a08978c26411287c34d)

上面的示例还加载了 `geometry` 宏包，以创建一个较小的页面尺寸，以及 `hyperref` 宏包，它提供了 `\url` 命令，用于在脚注中注明文本来源。导入 `marginnote` 通过编写 `\usepackage{marginnote}` 之后，你可以使用 `\marginnote` 命令，如示例文本中的两个实例所示：

* `\marginnote{这是一个页边注，相对于其排版所在行下移了 2 厘米。}[2cm]`
* `\marginnote{这也是另一个页边注，但相对于其排版所在行上移了 2 厘米。它也位于左侧页边。}[-2cm]`

在这些示例中，我们在方括号内使用第二个参数 `[ ]` ，它决定了相对于使用该命令所在行的垂直对齐方式。第一个 `\margingnote` 命令使用 `[2cm]` 用于将页边注下移 2 厘米 *到页面下方*，第二个使用 `[-2cm]` 用于将页边注下移 2 厘米 *向上移动页面*.

第二个 `\marginnote` 命令在使用了 `\reversemarginpar` 之后生效，从而将其放置在这个单面文档的左侧页边中：

```latex
\reversemarginpar\marginnote{这也是另一个页边注，但相对于其排版所在行上移了 2 厘米。它也位于左侧页边。}[-2cm]
```

## 进一步阅读

更多信息请参见

* [该 `marginnote` 包文档](http://www.ctan.org/pkg/marginnote)
* [该 `mparhack` 包文档](http://www.ctan.org/pkg/mparhack)
* [页面大小和页边距](/latex/zh-cn/ge-shi-hua/07-page-size-and-margins.md)
* [脚注](/latex/zh-cn/ge-shi-hua/14-footnotes.md)
* [LaTeX 中的长度](/latex/zh-cn/ge-shi-hua/01-lengths-in-latex.md)
* [单面和双面文档](/latex/zh-cn/ge-shi-hua/08-single-sided-and-double-sided-documents.md)
* [多栏排版](/latex/zh-cn/ge-shi-hua/09-multiple-columns.md)
* [页眉和页脚](/latex/zh-cn/ge-shi-hua/02-headers-and-footers.md)
* [段落格式设置](/latex/zh-cn/ge-shi-hua/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [粗体、斜体和下划线](/latex/zh-cn/latex-ji-chu/03-bold-italics-and-underlining.md)
* [字体大小、字体族和样式](/latex/zh-cn/zi-ti/01-font-sizes-families-and-styles.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/latex/zh-cn/ge-shi-hua/15-margin-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
