标题/普通文本中的子标/上标

标题/普通文本中的子标/上标

可能重复:
如何在普通文本模式下排版下标?

我有时想在标题中排版一些简单的东西,比如 ,有时想在一段普通文本中排版。我希望所有内容都用周围的字体排版。在普通文本中,使用 效果很好$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}}} 

它们可以在数学环境内部或外部使用。

相关内容