如何在 LaTeX 中写 ^?

如何在 LaTeX 中写 ^?

我想在 LaTeX 中输入 a^b。请注意,我不希望 b 作为 a 的上标(即 b 的幂),而是希望文本保持原样。

我在这里看到过(http://www.emerson.emory.edu/services/latex/latex_155.html) 是^一个特殊字符,可以写成\^

但是,a\^b结果为 'a',后面跟着一个带帽子的 b。有点像$\hat{b}$

我尝试过\^单独打印 ^ 字符,即前后不跟任何文本或数字。我收到以下错误:

Missing \endcsname inserted. \end

我遗漏了什么?任何帮助都值得感激。

答案1

简单的解决方案(推荐)

使用\^{}

a\^{}b

使用 catcodes(有风险)

您可以将^字母的 catcode 更改为 12,但数学模式下的上标不起作用

\documentclass{article}
%The superscript sign is just a letter from now on
\catcode`\^=12
\begin{document}
^ 
%Try $x^2$
\end{document}

使用 catcodes(另一种方式)

另一种可能性是创建^一个主动角色,即粗俗,使其像另一个宏一样工作。由于 LaTeX 定义\sp为 的替代品^,所以不用担心

\documentclass{article}
%We make ^ active
\catcode`\^=13
%We define ^ so it works only in math mode
\def^{\ifmmode\sp\else\^{}\fi }
\begin{document}
I can use ^ finally %works

$x^2$ %works too
\end{document}

我不确定 LaTeX 如何处理 catcode(我更喜欢 LuaTeX/ConTeXt catcode 表),所以也许你会在处理较大的文档时出错。我很确定你应该选择简单的方法。:)

答案2

LaTeX 内核提供\textasciicircum该项工作。

\documentclass{article}
\usepackage[T1]{fontenc}

\newcommand{\oti}{\fontencoding{OT1}\selectfont} % shorthand

\begin{document}

\begin{tabular}{cc}
OT1 & T1 \\
\hline
\oti a\^{}b & a\^{}b \\
\oti a\textasciicircum b & a\textasciicircum b
\end{tabular}

\end{document}

在此处输入图片描述

我更喜欢使用 T1 编码的输出。

左列仅用于显示使用 OT1 (默认编码)可以从\textasciicircum和获得相同的结果\^{}

警告无论如何,必须检查输出,因为某些字体\textasciicircum在 T1 编码中可能有有争议的字形。

答案3

不提倡任何方法\^{},只是为了完整性,因为在a^b纯文本中似乎用处不大,可能不是采用标准方法来避免以“b”为参数,而是可能需要使用逐字模式或数学模式,使用另一种方法。下一个示例比较了十种方法,以逐字、数学模式或纯文本模式使用 pdflatex 键入类似脱字符的符号,产生四个不同的符号:

姆韦

\documentclass[twocolumn,a5paper]{article}
\usepackage{tabto}
\usepackage[T1]{fontenc}
\begin{document}\obeylines
1\tab   \verb|a^b|              
2\tab   $a^{\wedge}b$           
3\tab   $a^{\land}b$            
4\tab   $a\mathop{\hat{}}b$     
5\tab   $a\mbox{\^{}}b$
6\tab   a$^\wedge$b
7\tab   a\^{}b                  
8\tab   aˆb  
9\tab   a\detokenize{^}b        
10\tab  a\textasciicircum b     
\end{document}

% Note:  circumflex accent in line 8 is U+02C6, not U+005E

相关内容