PDF 中的 alltt 给出 ASCII 96(反引号),而不是 U+2018

PDF 中的 alltt 给出 ASCII 96(反引号),而不是 U+2018

当我将下面的 MWE 转换为 PDF(使用pdflatex)时,所有出现的反引号都会从 PDF 中剪切并粘贴为 U+2018(“花括号反引号”),而不是 U+0060(ASCII 反引号或反引号字符)。

有没有办法让文档用户以我想要的方式进行剪切和粘贴?我确实需要它在环境中alltt(或类似环境中)才能获得布局和插入各种命令的能力。

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

\newcommand{\bq}{\char'140}
\begin{document}

\begin{alltt}
`hello`
\bq{}world\bq{}
\end{alltt}

For reference (I need it in the alltt environment or similar): \bq{}hello, world\bq

\end{document}

之所以出现,是\usepackage[T1]{fontenc}因为我尝试遵循如何确保在使用“listings”时在代码示例中获得常规 ASCII 引号

答案1

简短回答:

\`{}

如果您想使用 T1 编码,则可以这样做:

\documentclass[varwidth=10cm, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{alltt}

% In T1, the backtick is encoded as "00
\DeclareTextSymbol{\bt}{T1}{"00}

\begin{document}
\begin{alltt}
This is a grave accent, or backtick: \bt.  So is this: \`{}.
\end{alltt}
\end{document}

字体示例

T1编码具有与 ASCII 不同的布局

如果您想使用 Unicode(其前 128 个字符与 ASCII 相同),您可以加载fontspec然后使用\symbol{"0060},或者关闭Ligatures = TeX

\`{}

仍然适用于 OT1、T1 或 TU,因此这是您最好的选择。

答案2

您需要upquotetextcomp

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{alltt,upquote,textcomp}

\begin{document}

\begin{alltt}
`hello`
\end{alltt}

\end{document}

在此处输入图片描述

相关内容