我怎样才能让三个源代码符号 _ < > 在排版输出中默认生成它们自己(_ < >)?

我怎样才能让三个源代码符号 _ < > 在排版输出中默认生成它们自己(_ < >)?

我使用 LaTeX 快速记录我的编程工作。我有几个烦恼:

  • 由于变量以下划线命名,因此我需要大量使用下划线。但是,我必须对每个变量进行转义“ \_”,这导致我的注释在标记方面不太易读。
  • 我通常想使用“ <”和“ >”符号 - 为什么这些符号的默认表示是“ ¿”和“ ¡”?

有没有什么办法可以改变 LaTeX,使“_”、“<”和“>”直接排版为“_”、“<”和“>”?

答案1

有一些标准方法可以解决这两个问题。对于下划线:

\usepackage{underscore}

<对于和的渲染>

\usepackage[T1]{fontenc}
\usepackage{lmodern}

答案2

值得一提的是,由于上个月\nonknuthmode是 ConTeXt 中的默认月份。这意味着_^&可以在文本模式下工作。因此,以下是有效输入:

\starttext
under_score car^et & ampersand work in text mode, and have their 
usual meaning in math mode
\startformula
  x_a^b = \cases{ 0 & a < b \cr 1 & a \ge b }
\stopformula
\stoptext

答案3

强制性的 ConTeXt 答案(加上 Aditya 的:)),使用将使除、和 之外\asciimode的所有特殊字符变得“非特殊” :\{}

\starttext
\asciimode
$ % & _ # ^ ~ | < >
\{ \} \backslash
\stoptext

答案4

\textgreater基于 Roflcoptr 建议的使用和(我最近经常这么做)\textless,你可以这样做

\catcode`\<\active
\catcode`\>\active
\let<\textgreater
\let>\textless
\catcode`\_\active
\let_\_

我假设你_也没有在数学中使用。否则,试试

\begingroup
\lccode`\~`\_
\lowercase{\endgroup
  \def~{\ifmmode\expandafter_\else\expandafter\_\fi}}
\catcode`\_\active

而不是\catcode... \let_\_。编辑:请注意 的不同位置\catcode...

相关内容