1

I want to scale the entire contents of a document to make them smaller. Changing the font size the usual way is not desired, as this changes how the text looks:

screenshot 10pt font screenshot 5pt font

In other words, I want something similar to \scalebox{}{} or \resizebox{}{} — to change the size of the text without changing its font. I'm saying "size of the text" instead of "size of the font" or "font size" to clarify the difference from the readily available mechanism to change font size, which has the undesired side-effect of also changing the font itself ever so slightly.

What I can do, of course, is to just make the page bigger (i.e. use e.g. a3paper instead of a4paper, an approach taken here), but that seems like a dirty solution (if you'd print it out on A4 paper, however, it'd give pretty much exactly the desired output). I also don't want to change my \documentclass to KOMA-Script or such, as done here.

I tried \relscale{} from this answer and \scalefont{} from the scalefnt package, but these just seem to change the font size the usual way (as opposed to scaling the text directly, i.e. linearly scaling/changing font size). \resizebox and \scalebox don't respect linebreaks (manual or automatic), and I think they're not really intended made for modifying an entire document.

Ideally, the answer would behave just like e.g. \small or \footnotesize, in the sense that it'd be a switch that would affect its entire scope and work with math-mode, multicols, tabular, etc.

I hope this is not a duplicate, I couldn't find any answer to my question here (though, as mentioned above, there are a few similar questions). MWE not really applicable, but I'm using \documentclass{article} and compiling with LuaLaTeX (ideally, though, the answer would work with other documentclasses and with pdfLaTeX as well).

Edit: Tried to improve the question by rephrasing or clarifying.

steve
  • 2,154
  • 1
    (I'd appreciate a hint of what I've missed or could improve in my question along with the downvote) – steve May 06 '20 at 10:46
  • I'm not the downvoter. Let me just say that I find your posting anything but clear. On the one hand, you seem to rule out setting a smaller font size for the entire document (based on a specious argument, by the way). On the other hand, you seem to advocate using \small or \footnotesize throughout the document -- which, of course, is entirely equivalent to setting a smaller font size to begin with. Please clarify what you're trying to accomplish. – Mico May 06 '20 at 12:12
  • @Mico Thank you for your comment. As the screenshots illustrate, smaller font size leads to modified font, i.e. it's not just like zooming in or out, but rather, the proportions of the characters and the spacing between them are changed if I use e.g. 5pt font instead of 10pt. The problem is, I don't want those changes. But I do want smaller text. What I'm looking for would be e.g. equivalent to telling the printer to print at 50%, or reducing font size in a plain .txt file, which, unlike LaTeX, doesn't change the font itself when changing the font size. – steve May 06 '20 at 12:18
  • You seem to have missed the whole point of having a font family with optically scaled font sizes, as opposed to a font family that offers just linearly scaled font sizes. Linear scaling is clearly suboptimal from a legibility point of view. At any rate, what you seem to be pursuing -- in direct contradiction, by the way, to what you wrote in your posting -- is something such as \resizebox. So, just give up on using Computer Modern (or Latin Modern) and find yourself a cheap font family that provides linearly-scaled font sizes. You'll be all set then. – Mico May 06 '20 at 12:32
  • @Mico The reason I don't want to change the font size the usual way is that I wouldn't be able to locally change the font size with \small or \footnotesize keys anymore (if everything is \tiny, then \small is suddently big), and that I'd also be limited by TeX's minimum font size of 2.5pt. Regarding legibility, well, that depends; if I want to print the a4paper on 200%, or just use a magnifying glass, or just have a cheatsheet with small text, then I think I should be allowed to. And I don't see any contradiction; I explicitly said I'm looking for something similar to \resizebox. – steve May 06 '20 at 12:36
  • You should be able to define the font so that it always scales a single optical size, I believe, using the \DeclareFontShape command. – Steven B. Segletes May 06 '20 at 12:54
  • 2
    See egreg's answer at https://tex.stackexchange.com/questions/18721/selecting-optical-size. This is how you tell what shape to use for a given font size. – Steven B. Segletes May 06 '20 at 13:11
  • 1
    @StevenB.Segletes That is the answer, thank you! Not sure if that makes this a duplicate, but if you post it as an answer I'll readily accept it. – steve May 06 '20 at 14:19
  • 1
    If that answer works for you, best to call it a duplicate. – Steven B. Segletes May 06 '20 at 14:21

0 Answers0