正如所讨论的如何在 C Sharp 中制作正确的井号,我选择在简历上将 C# 语言的名称呈现为C$^\sharp$
我想保留这种排版风格。但我担心自动化工具无法在我的简历中识别出“C#”。
有没有办法打印带有升号(♯)的 C#,但就 PDF 阅读器的查找和复制粘贴功能而言,让它表现为井号(#)?
我正在使用 LuaLaTeX。
答案1
PDF 格式有一个功能“ActualText”,允许指定用于复制/粘贴的替换字符串:
\documentclass{article}
\usepackage{accsupp}
\newcommand*{\Csharp}{%
C%
\BeginAccSupp{
method=hex,
unicode=false,
ActualText=23,
}%
$^\sharp$%
\EndAccSupp{}%
}
\begin{document}
\Csharp
\end{document}
AcrobatReader 支持该功能,但其他 PDF 查看器不支持该功能。
答案2
\ooalign
这是一个使用和 的hack tikz
:
\documentclass{article}
\usepackage{tikz}
\newcommand{\Chash}{\ooalign{\hidewidth\tikz\node[inner sep=0pt,opacity=0]{C\#};\cr C$^\sharp$ \cr}}
\begin{document}
I know \Chash and else.
\end{document}
解释:放置\ooalign
一个透明的,以便您可以在 PDF 中找到它。我相信这个不取决于您使用的 PDF 查看器。C\#
C$^\sharp$
更新:\#
用普通的#替换,\newcommand
如果您忘记将 catcode 切换回 6,这可能会中断:
\documentclass{article}
\usepackage{tikz}
\catcode`#=12
\newcommand{\Chash}{\ooalign{\hidewidth\tikz\node[inner sep=0pt,opacity=0]{C#};\cr C$^\sharp$ \cr}}
\catcode`#=6
\begin{document}
I know \Chash and else.
\end{document}
在 PDF 中搜索: