ConTeXt 中哪些符号需要转义?

ConTeXt 中哪些符号需要转义?

在文档中写入“$”或“%”时,必须使用\$\%以便它们被解释为应与文本一起显示的符号。

  • ConTeXt 中还有哪些符号需要转义?我在哪里可以获得完整列表?

我还发现包含“|”的文档无法编译,但包含“\|”的文档却没有帮助。为什么这会阻止编译,以及如何将其显示为文本?

答案1

详细说明@egreg的回答(抱歉,评论太长了):ConTeXt 也有命令\asciimode。 之后,只有\{}其典型的类别代码,所有其他特殊字符都有类别代码 12(其他)。 在该模式下,要输入数学,您需要详细说明\mathematics{a_2}(因为美元符号不再起作用),但它对于某些类型的输入文件确实很有用。

特殊字符输入列表:

#\#
$是是\textdollar
%\percent
&\&
\\textbackslash
^\textcircumflex
_\textunderscore
{\textbraceleft
|\textbar
}\textbraceright
~\textasciitilde

\char`|或等低级方法\char`^也有效。

答案2

在该cont-en格式下,下列字符具有特殊类别代码,因此它们本身不能用于打印:

#有 catcode 6
$有 catcode 3
%有 catcode 14
&有 catcode 4
\有 catcode 0
^有 catcode 7
_有 catcode 8
{有 catcode 1
|有 catcode 13
}有 catcode 2
~有 catcode 13

激活状态|转换为\catcodecommand{124},用于更改类别代码表。|在文本模式下打印可以使用\|。在数学模式下|不激活。

答案3

TeX 及其同类程序通常只打印属于以下类别的字符-- 所有大写和小写字母 -- 和其他-- 所有数字和标点符号,但下一段中指出的某些重要例外。

然而,并非所有标点符号都属于“其他”类别。例外情况被分配了特殊类别代码,并作为开始和结束经常发生的任务的快捷方式。我熟悉的所有 TeX 引擎都共有十个特殊字符:

   Name        Cat code   Purpose
\  backslash   0          Start of a control sequence
{  left-brace  1          Start of a TeX "group"
}  right-brace 2          End of a "TeX" group
$  dollar      3          Opening and closing delimiter for math formulas
&  ampersand   4          Column separator in tables (tabulars and arrays)
#  hash        6          Parameter(s) of macros
^  circumflex  7          Precede superscript expressions in math mode
_  underscore  8          Precede subscript expressions in math mode
~  tilde       13         Tie (unbreakable space); an example of an "active" character
%  percent     14         Start of a comment

要显示大多数特殊字符,只需\在它们前面加上反斜杠 ( );例如,\$\%将打印出$%。然而,在 LaTeX 中,这种方法不适用于\^~字符;对于这些字符,应该输入\textbackslash\textasciicircum\textasciitilde。(当然,LaTeX 中存在控制字\\\^\~,但它们并非设置为打印出相关的“特殊”字符。相反,它们用于表示表格或数组环境中的换行符(\\),在下一个字符上方放置脱字符(\^),并在下一个字符上方放置波浪符号(\~)。

关于 TeX 类别代码主题的极好参考是 Victor Eijkhout 的书的第 2 章TeX 按主题分类

附录:在 ConTeXt 中,|“标点符号”字符也是一个“活动”字符,即其类别代码为 13 而不是 12(“其他”)。正如 @TacoHoekwater 在他的回答中指出的那样,要在 ConTeXt 中打印出“管道”字符,您必须输入类似 的内容\textbar。顺便说一句,该\textbar宏在 LaTeX 中也可以使用。

相关内容