Hot answers tagged

57

A number of answers: Firstly, microtypography is (in my book) the art of enhancing the appearance of a document while exhibiting the minimum degree of visual obtrubsion, that is, ideally, without even being recognisable: Characters with less optical weight should slightly protrude into the margin to make it appear more even, but they shouldn't stick in your ...


35

Interesting observation, really. The result you are seeing is indeed that microtype is stretching (most) lines and it isn't really surprising, but I don't think it could be called a fault of microtype that it isn't recognizing that it is in a ragged right context, because ragged2e is really working hard on hiding the fact. Standard LaTeX is using a brute ...


33

You have to load a scalable font like lmodern: \usepackage[T1]{fontenc} \usepackage{lmodern} or install the cm-super fonts.


32

\sloppy is a latex macro that does \def\sloppy{% \tolerance 9999% \emergencystretch 3em% \hfuzz .5\p@ \vfuzz\hfuzz} \fussy sets the values back to the latex defaults \def\fussy{% \emergencystretch\z@ \tolerance 200% \hfuzz .1\p@ \vfuzz\hfuzz} \tolerance sets the maximum "badness" that tex is allowed to use while setting the paragraph, ...


31

Always use it, it should improve full justification. If you want, you can tinker with the variables for expansion and protrusion. A good example where you can see what microtype does is here. Also the microtype documentation provides an interactive example of what each option does.


30

In XeLaTeX (or LuaLaTeX), if you are using an opentype/truetype font, you can just load it with the default ligature features (usually just liga) turned off. In standard LaTeX, the only safe solution that I know is to create special tfm files that do not contain ligatures. The new primitive, '\noligs' in pdftex 1.30 was created specifically so that you do ...


29

To avoid messing up anything else in a document, siunitx is set up to avoid loading font packages and the like. As such, it uses its 'own' version of the \textminus and \textmu, and sets up a minimal amount of support for that. However, that confuses microtype, as you've seen (it should be harmless). Loading textcomp 'fixes' this as siunitx then uses the ...


26

The following table from the microtype documentation (page 7) shows which of the micro-typographic features are available for the various engines: As can be seen in the last line, xetex only supports protrusion. Some time ago, it was rumoured that font expansion would be added to xetex, too, but it seems that there haven't been any developments in this ...


25

If you want to use kerning=french, then you need to disable the punctuation settings made by babel and leave no space before punctuation symbols. \documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[english,french]{babel} \frenchbsetup{AutoSpacePunctuation=false} \usepackage[babel=true, kerning=french]{microtype} ...


21

If you are using XeTeX (or LuaTeX) then you are most likely using fontspec as well to load OpenType font, so the following should disable any ligatures in the loaded font: \setmainfont[Ligatures={NoRequired,NoCommon,NoContextual}]{Font Name} Else, see Taco's answer.


20

Some time ago, I wanted to deactivate hyphenation completely (without switching to \raggedright). I found out that setting \pretolerance=10000 turns off the complete hyphenation mechanism: it tells TeX to not even look for hyphenation positions. In addition, there is the parameter \hyphenpenalty. For example, \hyphenpenalty=10000 will (probably) also ...


20

You can look at the source code for the documentation here: http://mirrors.xmu.edu.cn/CTAN/macros/latex/contrib/microtype/microtype.dtx


19

With version 2.5 of the microtype package, available on CTAN since 13 March 2013, the simple answer to my question is "use microtype". Thanks, Herbert and Joseph, for telling me that this can be done with the microtype package. I did know that microtype can do margin kerning, but I had always thought that this is only about punctuation. In reality, one ...


19

The following presents a solution for pdftex and Type 1 fonts. Since TeX does not offer any possibility to decompose a ligature into its constituent characters (this information is lost after they have been replaced by the ligature), we have to take the opposite approach: we loop over all glyph pairs in the fonts, typesetting them in a temporary box, and ...


18

Use the microtype package, loading it with [tracking=smallcaps] should take care of small caps For all-uppercase words you can use microtype's \textls, e.g. \newcommand{\versal}[1]{\textscale{0.9}{\textls*[80]{#1}}} (I came across this here, check the provided “Präambel”, the spacing/scaling might be font specific, so use with care and check your output, ...


17

microtype has an optional argument that you can allow to shift the characters more to the right, e.g. [factor=1300] \documentclass{article} \usepackage[T1]{fontenc} \usepackage{lmodern,picture} \usepackage{microtype} \textwidth=3.85cm \begin{document} \itshape\noindent\makebox(0,0){\put(\textwidth,-2cm){\line(0,-1){80}}}% This is a small text. If jam is ...


17

If you don't have access to document sources, some pdf viewers can show you what fonts are used. I've tested with AdobeReader and PDF-XChange-viewer and under Properties of the document you will find the list of fonts. Here you have the output from microtype manual under Xchange-viewer. Just a problem, then you need to find how to use them in your document. ...


17

How does one improve the typesetting of a document? There are no straightforward answers. Traditionally a number of craftsmen and professionals were involved in the publishing of a book. With what is now called "self-publishing" all these decisions now fall on the author's shoulder. The disappointing results can be viewed at Lulu.com Do you have to read ...


16

(First a suspicion, now the answer, as per Joseph's request:) The performance issues you encounter with microtype version 2.4 are fixed in v2.5 available from tlcontrib.


16

With the current microtype from TeXlive 2011, you can do the following: \documentclass{article} \usepackage{fontspec,microtype} \defaultfontfeatures{Ligatures=TeX, Scale=MatchLowercase} \setmainfont[SmallCapsFeatures={LetterSpace=6}, Numbers={Proportional,OldStyle}]{Minion Pro} \setsansfont[LetterSpace=3, Numbers={Proportional,OldStyle}]{Myriad Pro} ...


16

Your analysis is correct. A couple of years ago, the pdftex team has been discussing whether pdftex should indeed try harder. No clear conclusion transpired except that it would probably be too difficult to get it right in all cases, hence the issue was postponed for later consideration ... maybe too late for pdftex now, and to be passed on to luatex. ...


15

Main microtype features can be enabled or disabled on the fly using the \microtypesetup command. In this case we need to locally disable character protrusion: \documentclass{article} \usepackage{microtype} \newenvironment{example}{\microtypesetup{protrusion=false}% \begin{quote}}{\end{quote}} \begin{document} text text text text text text text text text ...


15

I'd regard this as a bug in csquotes. You can solve it by putting the following code into your preamble, but I can't say if this breaks other things. \makeatletter \def\csq@qclose@ii#1{% \ifdim\lastkern=\csq@omitmarker #1\csq@eqgroup \else \csq@addkern@close \ifodd\csq@qlevel \csq@thequote@oclose ...


15

The following quote from section 9 of the microtype manual suggests that the package author was aware of potential negative effects of font expansion and viewed the default behaviour stretch=20 as sensible: Expanding the fonts by more than 2%, i. e., setting a stretch limit of more than 20, should be justified by a typographically trained eye. If you are ...


15

Hm, I also use Minion Pro and Myriad Pro … this way: \documentclass[12pt]{scrbook} \usepackage[english]{babel} \usepackage{blindtext} \pdfprotrudechars=2 \pdfadjustspacing=2 \usepackage{fontspec} \defaultfontfeatures{Ligatures=TeX} \newfontfeature{Microtype}{protrusion=default;expansion=default;} \setmainfont[Microtype,Ligatures=TeX,Numbers=OldStyle]{Minion ...


15

The warning (now: info, see edit below) for missing font-specific settings is not a bug but a new feature in the latest microtype beta version. The fallback settings, which are used for fonts unknown to microtype, are by nature incomplete, quite conservative and in no way guaranteed to match all possible fonts; therefore, microtype now draws the user's ...


15

Yes, that's a bug in microtype. Until the package is updated, a temporary fix would be to add \makeatletter\let\glb@currsize\@empty\makeatother after the \lsstyle and math inside a group, which forces the math fonts to be set up anew. EDIT: This has been fixed in microtype v2.6.


15

I don't think it is reasonable to expect a full list to be created and maintained here. I think it is better to explain how to figure out whether fonts have this support so that users can determine the current answer for a specific font for themselves. If nothing else, this will enable people to check whether an answer here is still correct. Thérèse is ...


15

Your settings are never applied because in the first argument to \SetProtrusion you only specify the encoding. microtype will always try to load the best matching settings, and since settings for Charis SIL exist, they will be applied instead. Drawing from this answer, you can overwrite settings by first loading the configuration file and then redefining ...


14

In XeLaTeX with the fontspec package you can select a font with the LetterSpace feature: \newcommand\tracked[1]{% {\addfontfeature{LetterSpace=2}#1}} LetterSpace=s is an additional s/F space between letters where F is the font size. (I swear I once saw an example of letterspacing involving additional glue rather than just fixed space, but I can't see ...



Only top voted, non community-wiki answers of a minimum length are eligible