输入波浪号的正确方法是什么?

输入波浪号的正确方法是什么?

所以,我知道已经有很多关于这个问题的帖子,答案像\textasciitilde\texttildelow$\sim$,它们似乎都以自己的方式工作。但我发现,它们在排版时看起来像波浪符号,但当你突出显示该字符,将其复制并粘贴到终端窗口中时,它就是一个完全不同的字符。

我发现这\texttildelow是唯一一个在复制并粘贴到终端时会创建“实际”波浪符号的命令。但是,使用时它在 pdf 中打印的位置很低,看起来像其他东西。

我需要帮助来管理所有这些输入波浪号的方式。我想在逐字文本和普通文本模式下输入波浪号。我希望字符在排版时看起来像普通波浪号,并且在复制到终端窗口时也是“真正的”波浪号。这是为了简化使用我编写的命令的过程。我认为在这篇文章中不需要示例文本,但如果需要,我可以编辑它。

\documentclass[11pt]{paper}
\usepackage{hyperref, xcolor, graphicx, textcomp}

\hypersetup{colorlinks=true, urlcolor=blue}
\setlength\parindent{0pt}

\newenvironment{accs}
{\color{black}
\begin{tt}
\fontsize{11pt}{11pt}\selectfont}
{\end{tt}}

\title{Resequencing Analysis}

\begin{document}
\maketitle

~/glob/gatk

\begin{accs}
    $ mkdir ~/glob/gatk
\end{accs}\\

\end{document}

我现在已经通过使用环境解决了部分问题

\newenvironment{vtim}
{\verbatim
\fontsize{11pt}{11pt}\selectfont}
{\endvarbatim}

相反,但是波浪符号在 .pdf 中仍然看起来很奇怪,因为它被凸起了...如果我使用 $\sim$,它就无法被复制到终端 :/

答案1

您可以使用accsupp包将从文档复制的文本与文档显示的内容分开设置。

例如,您可以\textasciitilde在命令中使用波浪\actualtilde符号

\documentclass{article}
\usepackage{accsupp}

\newcommand{\actualtilde}{\BeginAccSupp{method=hex,unicode,ActualText=007E}\textasciitilde\EndAccSupp{}}

\begin{document}
Here is my document text including a \actualtilde\ that copies correctly.
\end{document}

至于在verbatim环境中使用它我不确定,但如果你将代码放在listings环境中,这个答案可能会有帮助。

答案2

如果你使用\textasciitilde它,它将在 ascii 位置使用波浪符号,如果

\usepackage[T1]{fontenc}

被使用。在默认OT1编码中,它使用波浪符号重音符覆盖空白,因为字体不包含 ascii 间距波浪符号字符(除了 中使用的 cmtt 以外verbatim

实际外观取决于字体,但在所有情况下它都是位置 126 的单个字符,因此应该按原样剪切和粘贴。

在此处输入图片描述

计算机现代罗马体、计算机现代 tt 和 Times Roman

\documentclass{article}

\usepackage[T1]{fontenc}

\begin{document}

aaa\textasciitilde aaa


\texttt{aaa\textasciitilde aaa}

\fontfamily{ptm}\selectfont

aaa\textasciitilde aaa




\end{document}

相关内容