我有以下一段代码:
\newenvironment{mylisting}
{\begin{list}{}{\setlength{\leftmargin}{1em}}\item\scriptsize\bfseries}
{\end{list}}
\newenvironment{mytinylisting}
{\begin{list}{}{\setlength{\leftmargin}{1em}}\item\tiny\bfseries}
{\end{list}}
\begin{mylisting}
\begin{verbatim}
I want to display an accent in this text (i.e. más)
\end{verbatim}
\end{mylisting}
“más” 这个词应该用重音显示,但我得到的是:
m'as
环境verbatim
忽略了口音。
顺便说一句,根据我的配置,只需在字母前使用 ' 即可显示重音。
有人知道如何解决这个问题吗?
答案1
环境的语义verbatim
是它会逐字显示您的输入(即不进行任何处理)。因此,即使您有一个设置(例如 babel),可以使用缩写输入重音符号,例如'a
中的此类快捷方式也会被禁用verbatim
。
因此,如果您确实需要输入处理并且只选择verbatim
获取打字机字体,那么显而易见的解决方案就是直接在定义中选择这种字体,例如通过{\ttfamily ...}
或\texttt{...}
。另一方面,如果您正在寻找遵循间距的环境alltt
可能会有所帮助。快捷方式可能不起作用,但正常命令会执行,因此\'a
会生成正确的字形。
答案2
inputenc
如果使用正确的文件编码选项加载软件包,那么verbatim
即使带有重音字母,文本也会被正确打印
如果文件是 UTF-8 编码的,则
\documentclass{article}
\usepackage[T1]{fontenc} % recommended for languages with accents
\usepackage[utf8]{inputenc}
\begin{document}
\begin{verbatim}
más mañana
\end{verbatim}
将被正确打印。当然,输入编码取决于操作系统,但主要取决于编辑器设置。检查您的设置:您可能需要latin1
而不是utf8
。