4

I try to create a design similar to this one:

enter image description here

As you can see, the space between each letter is a bit longer than by default, which is great when typesetting something in capitals. I saw the following topics: Enlarging tracking (= letter spacing) but I was not able to adapt it with my document.

\documentclass{article}

\usepackage{sectsty}
\usepackage{xcolor}

% Create a new command, \addspaces, ta receive a string and format it as                                                 
% all uppecase with more spaces between letters.                                                                    
\def\theLetterSpace{0.5pt}
\def\theWordSpace{2\LocalLetterSpace}                      
\newlength\LocalLetterSpace
\newcommand\spaceout[2][\theLetterSpace]{%
\setlength\LocalLetterSpace{#1}\expandafter\spaceouthelpA#2 \relax\relax}                                             
\def\spaceouthelpA#1 #2\relax{%
    \spaceouthelpB#1\relax\relax                
}                                                                                                                       
\def\spaceouthelpB#1#2\relax{%
    #1%
    \ifx\relax#2\else                         
    \kern\LocalLetterSpace\spaceouthelpB#2\relax%               
    \fi
}     

\newcommand{\addspaces}[1]{
    \textsc{\large\spaceout[2pt]{#1}}
}

\sectionfont{\normalfont\LARGE\scshape\color{red}\raggedright}

\begin{document}
\section{†est}
\addspaces{Hello World}
\end{document}

Thank in advance for your help.

  • The options \sffamily and \scshape are bound to conflict unless you happen to employ a sans-serif font that provides small-caps. Is that the case for your document? – Mico Feb 26 '18 at 13:50
  • I don't get it. Why would you need a chapter for a mere four sentences? ;-) – Thorbjørn E. K. Christensen Feb 26 '18 at 16:14
6

You have to use \addfontfeatures, which however needs to declare fonts explicitly.

\documentclass{article}

\usepackage{fontspec}
\usepackage{sectsty}
\usepackage{xcolor}

\setmainfont{Latin Modern Roman}[
  SmallCapsFont={* Caps},
]

\newcommand{\spacedsc}{\scshape\addfontfeatures{LetterSpace=20}}

\sectionfont{\normalfont\LARGE\spacedsc\color{red!80!blue}\raggedright}

\begin{document}

\section{Special Relativity in Four Sentences}

\end{document}

enter image description here

4

Under pdfLaTeX and LuaLaTeX, you could load the letterspace package and add \lsstyle to the list of parameters set by \sectionfont.

enter image description here

\documentclass{article}
\usepackage{sectsty,xcolor}
\usepackage{letterspace}  % for "\lsstyle" macro

\sectionfont{\normalfont\LARGE\scshape\lsstyle\color{red}\raggedright}

\begin{document}
\section{Special Relativity in Four Sentences}
\end{document}
  • I'm sorry, I should have specified that I use XeLaTex. If that help, I don't need the sf font. – Nakrule Feb 26 '18 at 15:08
  • @Nakrule - Indeed, the fact that you use XeLaTeX is absolutely crucial here. Unfortunately, letterspacing is not available under XeLaTeX -- at least not with the letterspace package or its big brother, the microtype package. I'm not aware of any other packages that provide letterspacing under XeLaTeX. – Mico Feb 26 '18 at 15:16
  • In my document, I use a custom macro named addspaces{some text} to do add more spaces between letters and put everything in capitals. Before posting here, I tried to use it in my \sectionfont without any success, but maybe it is still possible to find a way with it ? – Nakrule Feb 26 '18 at 15:49
  • In your MWE you define \addspaces but you don't use it. Please show how you used it and say what the problem was. Might it have anything to do with the section title appearing in the ToC? – Peter Wilson Feb 26 '18 at 19:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.