我想优化我的简历,使其适合 ATS。现代申请人跟踪系统使用可编程的愚蠢来解析简历并决定是否将其呈现给人类读者。
令我惊讶的是,我发现 LinkedIn 使用的引擎接受from - to
,但不是from -- to
。这让我的美丽经验和教育部分内容是一堆胡言乱语,而不是分隔良好的条目。这对你找工作没有帮助。;)
为了解决这个问题,我尝试了以下方法https://tex.stackexchange.com/a/442814/123888:
FROM \protect\BeginAccSupp{ActualText=-}--\protect\EndAccSupp{} TO
隐藏了 n-dash 形式pdftotext
,但不是pdf2txt.py
。正如我所评论的马还在那儿。
另一个问题是字符串替换。我决定\cvdates
用 tex 代码定义一个宏https://tex.stackexchange.com/a/213950/123888(其他答案不适用于 n-dash):
\def\replace#1#2#3{%
\def\tmp##1#2{##1#3\tmp}%
\tmp#1\stopreplace#2\stopreplace}
\def\stopreplace#1\stopreplace{}
\newcommand{\cvdates}[1]{\replace{#1}{--}{\protect\BeginAccSupp{ActualText=-}--\protect\EndAccSupp{}}}
但随后
\cvdates{FROM2 -- TO2}
\cvdates{FROM3 --- TO3}
我明白了
FROM2 - TO2
FROM3 -- TO3
当我跑步的时候pdftotext test.pdf -
我能想到的一个可能的解决方案是向from -- to
人们显示为图形和相关的不可见文本(如何创建一个隐形角色?)。但我不知道如何从中删除机器可读的文本from -- to
。
答案1
如果您可以使用 lualatex (或 xetex)进行编译并使用该fontspec
包,您可以执行类似这样的 MWE 操作:
\documentclass{article}
\RequirePackage{fontspec}
\setmainfont{Latin Modern Roman}
\begin{document}
1984-2001\par
1984{\addfontfeature{FakeStretch=2.5}-}2001\par
\end{document}
第一行显示的是普通的连字符。第二行将连字符拉长,因此看起来像破折号。假破折号在纸质印刷品、PDF 阅读器和 OCR 中看起来都是正确的。但如果从 PDF 中提取文本,假破折号仍然是连字符。
另一个策略是使用字体编辑器,并拉长连字符。但这不是必需的,因为它fontspec
已经完成了所需的一切。
如果您无法使用fontspec
,请尝试我在评论(上文)中建议的方法:使用字体编辑器,并更改连字符的宽度。缺点是,连字符出现的所有地方都会很长。
编辑:应 OP 的要求,我添加了该解决方案:
在序言中:(\RequirePackage{graphicx}
或\usepackage{graphicx
)
在文档中:
\protect\raisebox{0.44ex}{\scalebox{1.88}[0.35]{-}}
原始解决方案和此编辑都做了类似的事情:它们重新绘制字形的形状,但保留其连字符的标识。
EDIT2:OP 意识到\scalebox
了pdftotext
我坚决(非常坚决)鼓励 OP 和任何有类似问题的人使用lualatex
而不是pdftex
。这需要使用 utf-8 字符(如今,标准)。它需要加载包fontspec
而不是fontenc
。它不需要声明OT1
或任何类似的编码。而且,它需要 OpenType 或 TrueType 字体,而不是 Type 1。这些都不是奇特的。它不需要学习 Lua 编程。有许多可以使用的数学字体,以及多种文本字体选择。许多 Type 1 字体都有替代的 OpenType 格式。