逐字模式下的粗体和下标?

逐字模式下的粗体和下标?

如何在逐字模式下创建粗体和下标?我看到有人提到一个fancyvrb可能有帮助的包。有人可以提供可用的 LaTeX 代码吗,无论是否带有fancyvrb

答案1

使用该fancyvrb包,commandchars您可以通过选项在逐字代码中引入转义序列;特别是,您可以获得粗体字体(前提是您使用合适的字体)。使用该codes选项,您可以指定 catcode 更改;特别是,这允许您在逐字文本中包含格式化的数学运算:

\documentclass{article}
\usepackage{fancyvrb}
\usepackage{bera}

\begin{document}

\begin{Verbatim}[commandchars=\\\{\},codes={\catcode`$=3\catcode`_=8}]
code line 1
$a_{i}$
code line 2
\textbf{boldfaced text}
\end{Verbatim}

\end{document}

在此处输入图片描述

使用更强大的listings包中,您可以使用该选项转为 LaTeX escapeinside,并且可以激活该mathescape选项:

\documentclass{article}
\usepackage{listings}
\usepackage{bera}

\lstset{basicstyle=\ttfamily,
escapeinside={||},
mathescape=true}

\begin{document}

\begin{lstlisting}
code line 1
$a_{i}$
code line 2
|\textbf{boldfaced text}|
\end{lstlisting}

\end{document}

在此处输入图片描述

上述解决方案将下标视为数学表达式;您可以\textsubscriptfixltx2e包中获取非数学下标;使用一个小例子fancyvrb

\documentclass{article}
\usepackage{fancyvrb}
\usepackage{fixltx2e}
\usepackage{bera}

\begin{document}

\begin{Verbatim}[commandchars=\\\{\},codes={\catcode`$=3\catcode`_=8}]
code line 1
$a_{i}$
code line 2
\textbf{boldfaced text}
a\textsubscript{i}
\end{Verbatim}

\end{document}

在此处输入图片描述

答案2

您可以使用alltt包,它提供了一个alltt类似于的环境verbatim,只是\{}仍然是元字符。请记住,下标和上标也可以通过\sb和获得,\sp$...$可以写成\(...\),因此您不需要$_作为^(不可用的)元字符。

示例(摘自幻灯片 19这里):

\begin{alltt}
  for \(i:=1,\ldots,n\)
    print \(x\sb{i}\sp{2}\)
\end{alltt}

相关内容