为什么我在 ConTeXt 的文档中创建参考位置时会有多余的空格?

为什么我在 ConTeXt 的文档中创建参考位置时会有多余的空格?

我正在尝试创建从一页到另一页的简单交叉引用,例如,在文档的一部分中,它说“参见熊,第 3 页”。从 ConTeXt 手册第 170 页,我能够确定一种实现此目的的方法是\reference在引用的位置使用 ,并\at在文本引用该位置的位置使用 。

当我\reference在文档中使用它时,它会给我一个额外的空间,例如:

\starttext
    \section{This is a section}
        \reference[1]{This is a reference}
        This is some text.
    \section{This is another section}
        This is some more text.
\stoptext

显示为:

1 This is a section

This is some text.

2 This is another section
This is some more text.

注意,第一部分和文本之间有一个额外的空格,而这个额外的空格并不存在。

  • 我是否正确创建了参考?为什么手册中有这么多不同的命令,但似乎都做同样的事情,例如\ref,,,等等?\at\in
  • 为什么会\reference产生额外的空间?如何删除这些额外的空间?
  • 为什么我需要将一些文本放在花括号内\reference[]{Some text here}

答案1

手册第 12.5 章“交叉引用”对此进行了解释

命令 \in 提供章节、节、图表、表格等的编号。命令 \at 生成页码,而 \about 生成完整标题。在前两个调用中,第二个参数是可选的,如果给出,则放在编号或标题之后。

例子:

\startchapter [title=foo, reference=sec:foo]
\stopchapter

% Output: chapter 1
\in{chapter}[sec:foo]

% Output: page 42
\at{page}[sec:foo]

% Output: “Foo”
\about[sec:foo]

注意:\in\at在括号中采用可选参数,\about但不是。

您还可以引用逐项列表中的项目:

\startitemize [n]
    \startitem [item:first]
        First
    \stopitem
    \startitem [item:second]
        Second
    \stopitem
\stopitemize

% Outputs: As in item 2.
As in \in{item}[item:second].

答案2

在 ConTeXt 中创建引用的通常方法是:

\startsection[title={This is a section}, reference=sec:one]
....
\stopsection

或者

\section[sec:one]{This is a section}

尽管\reference与 LaTeX 的类似\label,但与 LaTeX 不同的是,您几乎从不使用 ConTeXt 中的手册\reference。所有命令都提供了一些指定参考的方法。

相关内容