可能重复:
如何在普通文本模式下排版下标?
我有时想在标题中排版一些简单的东西,比如 ,有时想在一段普通文本中排版。我希望所有内容都用周围的字体排版。在普通文本中,使用 效果很好$N_2$
,尽管它太复杂了。对于标题,我必须知道我的标题是如何排版的(如果它们使用无衬线、斜体、粗体等)。如果我随后使用适当的命令,后来改变了对标题格式的想法,我必须重新执行。是否有命令可以以某种方式“退出”数学,进入当前格式的最高级别?$3^2$
$\textrm{N}^\textrm{2}$
到目前为止,我只能找到这样的答案:使用这个包,或者这个命令(只能解决特殊情况)。我希望对发生的事情有更全面的了解,有人手头有关于字体及其在 LaTeX 中的交互的简短摘要的链接吗?
答案1
\textsuperscript
分别使用和输入上标和下标\textsubscript
。前者定义在latex.ltx
而后者可以类似地定义:
\documentclass{article}
\makeatletter
% \textsubscript defined equivalent to \textsuperscript in latex.ltx
\DeclareRobustCommand*\textsubscript[1]{%
\@textsubscript{\selectfont#1}}
\def\@textsubscript#1{%
{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\makeatother
\begin{document}
\tableofcontents
\section{Section $N^2$ and $N_2$}
\section{Section N\textsuperscript{2} and N\textsubscript{2}}
\end{document}
fixltx2e
也默认提供上述定义。因此,添加
\usepackage{fixltx2e}% http://ctan.org/pkg/fixltx2e
在您的文档序言中,您将可以使用\textsubscript
。
答案2
为了避免复杂的短语(当我想要多字符下标时经常会遇到),我通常会将这些宏放在文档的开头。
%Macros
% Italic text with italic exponent
\newcommand{\me}[2]{\ensuremath{\mathit{#1}^\mathit{#2}}}
% Normal text with normal exponent
\newcommand{\te}[2]{\ensuremath{\textrm{#1}^\textrm{#2}}}
% Italic text with italic multi-character subscript index
\newcommand{\ms}[2]{\ensuremath{\mathit{#1}_\mathit{#2}}}
% Normal text with normal subscript index
\newcommand{\ts}[2]{\ensuremath{\textrm{#1}_\textrm{#2}}}
它们可以在数学环境内部或外部使用。