如何将所有花括号内的单引号和双引号更改为基本的 ascii ' 和 " 引号?

如何将所有花括号内的单引号和双引号更改为基本的 ascii ' 和 " 引号?

我注意到 XeLaTeX 使用不同的 unicode,例如单右引号(以及相关的其他内容),以及连字符。我怎样才能让它只使用'和常规 ascii 标记"-就像您在编程中使用的一样,这样 (a) 当您从 PDF 复制粘贴内容时,它不会使用引号/连字符的特殊 unicode 字符,以及 (b) 我不必\regularsinglequote为每个我想使用的引号写或类似的东西,我只需写一个句子"hello world, I don't use unicode quotes-or-hyphens",它就会使用引号/连字符的纯 ascii 版本。

我使用的文档基本上是这样的:

\documentclass[a4paper]{book}

\renewcommand{\contentsname}{Contents}

\usepackage{fontspec}
\usepackage{fullpage}
\usepackage{geometry}
\usepackage{sectsty}
\usepackage[hidelinks]{hyperref}
\hypersetup{
  colorlinks,
  citecolor=black,
  filecolor=black,
  linkcolor=black,
  urlcolor=black
}
\setmainfont{MyMonospaceFont}
\newlength{\characterwidth}
\settowidth{\characterwidth}{\normalfont x}
\geometry{margin=0.7in,textwidth=96\characterwidth,lines=48}
\AtBeginDocument{\raggedright\setlength{\parindent}{3\characterwidth}}
\frenchspacing
\begin{document}
\title{xyz}
\maketitle
\tableofcontents

\chapter{Foo}
\section*{A}
hello world
\section*{B}
\section*{C}
\chapter{Bar}
\end{document}

答案1

您可以使用选项 [Ligatures=TeXReset] 来抑制引号和破折号的替换:

\documentclass[a4paper]{book}

\usepackage{fontspec}

\setmainfont{TeX Gyre Heros}[Ligatures=TeXReset]

\begin{document}
"abc--cde 'quote' text"
\end{document}

在此处输入图片描述

相关内容