如何在逐字模式下创建粗体和下标?我看到有人提到一个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}
上述解决方案将下标视为数学表达式;您可以\textsubscript
从fixltx2e
包中获取非数学下标;使用一个小例子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}