18

I am a few months into learning LaTeX. I would like to use microtype with LuaLaTeX and I would like to obtain letter spacing for my smallcaps. I've tried to follow some of the threads on the subject but when I try to implement the suggestions I just end up with errors. The minimal example below works as far as protrusion/expansion, but the letterspacing is just ignored. Please excuse my frankenCode... I cobbled it together from a bunch of different threads on this forum... any advice would be much appreciated. I need the font expansion due to very narrow columns and I need to use LuaLaTeX due to some packages I'm working with.

\documentclass[article]{memoir}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\newfontfeature{Microtype}{protrusion=default;expansion=default}

\directlua{fonts.expansions.setups.default.stretch=5.5}
\setmainfont[Microtype,Numbers=OldStyle]{Arno Pro}

\usepackage{microtype}

\newfontfamily{\regBlackSmallCaps}%
[Letters={SmallCaps},
LetterSpace=3.0, Scale=.95]
{ArnoPro-regular}

\begin{document}

{\regBlackSmallCaps This is a test}

\end{document}

EDIT: Thank you Mico for responding. After going though the answers to similar posts I've managed to get a little further. Using Renderer=Basic and making sure I have updated versions of fontspec and microtype, the code below works. The first line spaces correctly, the second line doesn't. I'm wondering if there is a way to Incorporate the \textls{\addfontfeatures{Renderer=Basic} into the newfontfamily specifications.

\documentclass{article}
\usepackage{fontspec,microtype}

\setmainfont[
]{Arno Pro}

\newfontfamily{\smBlackSC} %Small | Black | Smallcap
[Letters={UppercaseSmallCaps, SmallCaps},
LetterSpace=9 .0, 
Scale=.9,
Numbers={OldStyle,Proportional}]
{ArnoPro-regular}

\begin{document}

{\smBlackSC{\textls{\addfontfeatures{Renderer=Basic}Lorem Ipsum}}}

{\smBlackSC Lorem Ipsum}

\end{document}
10
  • 3
    The user guide to the latest version (2.5) of the microtype package notes, on pp. 26f., that the command \newfontfeature{Microtype}{protrusion=default;expansion=default} "should not be used with this package, as it will basically override the settings made by microtype -- despite the naming, the above lines have nothing to do with the this package." [emphasis in the original] Incidentally, if all you want or need is letterspacing capability, you may want to look into using the letterspace package.
    – Mico
    Commented Mar 28, 2013 at 0:09
  • Regarding your edit: Did you not try out to add Renderer=Basic to \newfontfamily? Something like [Renderer=Basic,Letters=…,Letterspace=…. What happens then?
    – Speravir
    Commented Apr 2, 2013 at 14:23
  • Thanks Speravir. I tried that and it doesn't work for me... no errors but no letterspacing either.
    – theobear
    Commented Apr 2, 2013 at 17:00
  • I ended up putting \textls{\addfontfeatures{Renderer=Basic} wherever I use small caps which was messy but works. another problem is that Renderer=Basic breaks my use of xcolor that I set up in my \newfontfamilies so I have to declare the color again whenever I use smallcaps and my second color. Frustrating. So, I'm hoping there will be further development of LuaLaTeX, Microtype and fontspec so they will play better together.
    – theobear
    Commented Apr 7, 2013 at 12:11
  • 1
    I just tried the example using TeX Gyre Pagella, because the Arno font is not available (to me). Microtype was updated 2013/05/23 and I used the the beta7 before that. In both cases you can use letterspacing with LuaLaTeX. The 2nd example works for me on an updated TeXLive 2013.
    – Andy
    Commented Dec 23, 2013 at 19:17

1 Answer 1

2

My previous comment seems to solve the question and is posted here now as an answer:

I just tried the example using TeX Gyre Pagella, because the Arno font is not available (to me). Microtype was updated 2013/05/23 and I used the the beta7 before that. In both cases you can use letterspacing with LuaLaTeX. The 2nd example works for me on an updated TeXLive 2013.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .