[Tex/LaTex] How to increase minimum space between words in XeLaTex output

copy/pasteoutputparsingpdfxetex

Update: The problem seems to be that the spacing between some words is too small, and the ATS thinks it's one word. So, the ideal solution would be to set a minimum spacing across the entire document, rather than manually adding spaces where needed.

I recently uploaded my resume (XeLaTex output) to Jobscan, a service that mimics (or purports to mimic) Applicant Tracking Systems (ATS). ATS are used to process incoming resumes before a pair of eyes gets to look at them. This processing involves turning your resume into plain text, and then comparing how many keywords in the job description appear in your resume (and how often), as a way to gauge "surface compatibility," so to speak.

What I noticed though is that many key words in my document weren't counted because Jobscan wasn't parsing whitespace correctly: many keywordswere mushed together like this, and instead of detecting an instance of each key word, it detected one instance of 'keywordswere.' The snag is that resumes are sometimes thrown out if they don't hit a key word threshold, so, I worry that it won't even make it to a person if the problem occurs on a real ATS.

I looked around and one option that came up is to use cmap, but that doesn't work with XeLaTex, only pdftex. What options could I have, other than going back to a Word document? (pdftex wouldn't work with my current resume template, given my use of fonts).

Best Answer

fontspec has an option WordSpace that you can use to increase the word space. Be aware that is a global option of a font. If you want to use the same font with a different word space you must e.g. scale it a bit:

\documentclass[12pt]{article}
\usepackage{fontspec}

\setmainfont{Arial}[WordSpace={2.5,1.2,0}]

\setsansfont{Arial}[Scale=1.01]
\usepackage{lipsum}
\begin{document}
\lipsum[1]

\sffamily

\lipsum[1]
\end{document}

enter image description here

See the syntax for the WordSpace option (from the documentation):

"For those times when the precise details are important, the WordSpace feature is provided, which takes either a single scaling factor to scale the default value, or a triplet of comma-separated values to scale the nominal value, the stretch, and the shrink of the interword space by, respectively. (WordSpace={x} is the same as WordSpace={x,x,x}.)"

Related Question