数学模式中的逐字下标

数学模式中的逐字下标

我想在数学模式中生成一个公式,如下所示

\pi_{film_title}(\sigma_{release_year > 2006}(film))

其中film_title,,release_yearfilm是逐字逐句的,到目前为止,我一直在使用该alltt包,但广受好评的包\sb只会在通常的数学模式字体中产生下标。

有什么建议吗?

答案1

您应该能够使用\_它来获取_(实际外观取决于字体,除非您重新定义\_为使用规则,但无论哪种方式标记都是:

\pi_{\mathtt{film\_title}}

答案2

我不会alltt为此使用环境。最简单的方法是放弃_下标字符并使用\sb其代替:

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

\AtBeginDocument{\catcode`\_=12 \mathcode`\_=\string"715F }
\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n}

\begin{document}

\(\pi\sb\texttt{film_title}(\sigma\sb\texttt{release_year > 2006}(\texttt{film}))\)


\(\pi\sb\mathtt{film_title}(\sigma\sb\mathtt{release_year > 2006}(\mathtt{film}))\)

\end{document}

使用amsmath\texttt\mathtt可确保下标的大小正确。您可以在此处看到结果:不同之处在于您对数学符号的处理方式:使用 ,\texttt您将获得>打字机类型的符号,并且保留空格;使用 ,\mathtt您将获得>普通数学字体的符号。

在此处输入图片描述

答案3

用于\( ... \)内联数学模式

\begin{alltt}
\( \pi\sb{film_title}(\sigma\sb{release_year > 2006}(film)) \)
\end{alltt}

或者使用正确的字体大小设置

\documentclass{article}
\usepackage{alltt,amsmath}
\begin{document}
\begin{alltt}
\( \pi\sb{\text{film_title}}(\sigma\sb{\text{release_year > 2006}}(film)) \)
\end{alltt}

\end{document}

或者没有alltt,然后像 David 建议的那样\_

相关内容