TransWikia.com

pdfTeX error (font expansion): auto expansion is only possible with scalable

TeX - LaTeX Asked by Elmer on August 11, 2020

I’m using a custom class file.

My main file looks like this:

documentclass[12pt,a4paper]{thesis}
begin{document}
frontmatter
    pagenumbering{alph}

    pagenumbering{roman}
    clearpage

    cleardoublepage
    tableofcontents
    clearpage
    listoffigures
    clearpage
    listoftables

 mainmatter
       part{test}
      input{test}
end{document}

If I put this in my test.tex it does work:

chapter{test}
label{chapter:test}
test 

When it becomes more text (lets say 40x the word “test”) I get the error stated in my question title.

To test it I brought my class file down to this:

ProvidesClass{thesis}
NeedsTeXFormat{LaTeX2e}

% Based on the memoir class
DeclareOption*{PassOptionsToClass{CurrentOption}{memoir}}
ProcessOptions
LoadClass{memoir}

I’m totally confused what is causing my error now.

This is the complete error:

! pdfTeX error (font expansion): auto expansion is only possible with scalable 
fonts.
AtBegShi@Output ...ipout box AtBeginShipoutBox 
                                                  fi fi 

8 Answers

You have to load a scalable font like lmodern:

usepackage[T1]{fontenc}
usepackage{lmodern}

or install the cm-super fonts.

Correct answer by user2478 on August 11, 2020

Configuration files for fonts can be found in tex/latex/microtype/ subdirectory of your TeX installation.

But wait, i have no configuration file for PSCyr font; however i can use font expansion in a way like this (stretch and shrink are way too large, for the sake of demonstration):

% in preamble:
SetExpansion[stretch = 70, shrink = 70,] { encoding = {T2A} } { }
DeclareMicrotypeSet{t2atext}{encoding=T2A}
UseMicrotypeSet{t2atext}

An i have result like this:

enter image description here

It's clear, i have font expansion working here.

The point is that configuration file contains commands for character protrusion and font expansion --- like this one --- nothing special or magic.

So, you can write your own command, you can collect them in your own configuration file for your favorite font face.

Read manuals, specify your values (encoding!) and enjoy.

Answered by brownian on August 11, 2020

Check in the log-file in which package/file microtype is loaded and comment the call. Then compile your document (now without the microtype package) with pdflatex. Then check at the end of the log-file the list of fonts and identify the bitmap font(s) (with ending .pk) causing the problem.

Answered by Ulrike Fischer on August 11, 2020

UPDATE: Added cm-super. Please comment if that does not help in your case.

First of all (as pointed out by @Herbert), you have to load a scalable font such as lmodern or mathptmx:

usepackage[T1]{fontenc}
usepackage{lmodern}

This, however, did not solve the issue on my freshly installed MiKTeX system. I had to install the cm-super package and to update MiKTeX completely.

I had to do the following steps:

  1. Start "MiKTeX Package Manager (Admin)"
  2. Install the cm-super package.
  3. I would recommend to update all packages to the latest version as described at https://tex.stackexchange.com/a/108490/9075.
  4. Start "MiKTeX Settings (Admin)"
  5. Press "Refresh FNDB"
  6. Press "Update Formats"
  7. Press "OK" (to close the app)
  8. Recompile. Everything should work.

MiKTeX settings
(source: miktex.org)

See also https://docs.miktex.org/manual/configuring.html#fndbupdate

The installation hint of the cm-super package is taken from https://tex.stackexchange.com/a/310169/9075 and was also stated by @Herbert

MiKTeX does not automatically install cm-super when using microtype. This was discussed on the mailinglist on 2016-11, but no action was taken.

Answered by koppor on August 11, 2020

Not really an answer, but just a post-mortem on a tricky variation of this error to watch out for; this is a bit too long for a comment.

I had loaded Utopia as the main document font (using usepackage[utopia]{mathdesign}) as well as usepackage[stretch=15,shrink=15]{microtype}. Everything went swimmingly, until I typeset a single character in sans-serif (textsf{Y}). Then I got the auto expansion is only possible ... error.

The funny part was that the error was flagged on a paragraph that was downstream of the textsf{Y} macro, but which itself contained only regular text in Utopia. When I commented out the upstream textsf{Y}, the error disappeared. Likewise, when I loaded the lmodern or the berasans package together with [utopia]{mathdesign}, the error was gone.

If I understand the situation correctly, Utopia comes without matching sans-serif fonts, so when pdflatex encountered the textsf{Y}, it fell back on the default CM fonts, which are not scalable; and from that point on in the document, microtype gave up on scaling.

Morale: make sure to load scalable fonts for all font shapes that you might use anywhere in the document, not just for your main document font.

Answered by Michael Palmer on August 11, 2020

To solve the problem navigate to C:Program FilesMiKTeX 2.9miktexbinx64 and run updmap.exe. The program may seem as it hangs for a while, but its probably because it tries to update the whole font tree. This solved the problem for me. After re-compiling everything should work fine.

Answered by Krebto on August 11, 2020

The following command works for me. Pls try this, it helps me to fix this headache!!!

initexmf --mkmaps 

works!!!

Answered by winter on August 11, 2020

I had the same error after installing latex from scratch using texlive-full. What solved it for me was to simply do

updmap

which updates the fonts (https://www.tug.org/texlive/doc/updmap.html). I found this solution here: https://github.com/xdanaux/moderncv/issues/34

Answered by Diana on August 11, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP