如何在 verbatim 环境中正确显示反引号?

如何在 verbatim 环境中正确显示反引号?

我正在准备一个 Beamer 演示文稿,其中需要显示一些涉及反引号的 Markdown 代码。具体来说,我想在环境中显示反引号verbatim。但是,LaTeX 将它们呈现为开引号。

如何确保 verbatim 环境中的反引号显示为反引号?

这是一个简单的例子:

\begin{verbatim}
Example: `2 + 2`
\end{verbatim}

理想的解决方案不需要我更改代码本身。

答案1

您还可以使用相对较新的包upquote,这是为该任务明确创建的 - 与单引号的更改一起,比较如何在 LaTeX 中制作真正的撇号或单引号

\documentclass{article}
\usepackage{upquote}
\begin{document}
\begin{verbatim}
Example: `2 + 2`
\end{verbatim}
\end{document}

没有upquote
不包含“upquote”的示例

upquote
以“upquote”为例

答案2

可以使用类似问题下的代码变体来实现此目的这里

对于您的情况,请在您的序言中添加以下内容:

\makeatletter
\let\@sverbatim\@verbatim
\def\@verbatim{\@sverbatim \verbatimwithtick}
{\catcode``=13 \gdef\verbatimwithtick{\chardef`=18 }} 
\makeatother

在逐字环境中,这将设置 ` 的定义以对应于字体表中的第 18 个字符,即反引号。通常它对应于开头的引号。

答案3

使用 eTeX,@jpallen 不需要辅助命令:

\documentclass{article}
\makeatletter
{\catcode`\`=13
\xdef\@verbatim{\unexpanded\expandafter{\@verbatim}\chardef\noexpand`=18 }
}
\makeatother

\begin{document}
\begin{verbatim}
Example: `2 + 2`
\end{verbatim}
\end{document}

相关内容