I have some text that I want to be in between \normalsize and \small. Any way to do that?

  • 1
    \fontsize{9.5}{11}\selectfont if normalsize is 10pt Jun 30 at 21:52
  • 1
    What do the two numbers mean @DavidCarlisle ? Jun 30 at 23:08
  • 1
    fontsize and baselinekip Jun 30 at 23:59
  • 1
    Why exactly do they need to be different @DavidCarlisle ? I've noticed this is a common pattern Jul 1 at 0:41
  • usually around 20% bigger you want to ensure a gap between rows of (X)(X)(X)(X)(X)(X)(X)(X) Jul 1 at 6:56

2 Answers 2


Taking the average of normal and small size:





Normal size {\semismall not so small} {\small and small}

\lipsum[1][1-2] (\fontname\font)

{\semismall\lipsum[1][1-2] (\fontname\font)\par}

{\small\lipsum[1][1-2] (\fontname\font)\par}


enter image description here

I can't see how your reader will acknowledge the difference between normal size and semismall or between semismall and small.

Here is the same with a fully scalable font (Cochineal)

enter image description here

At 10pt main size

enter image description here

enter image description here


Let me comment the image you got


I repeat the first image above for a comparison.

repeat first image

In the comment, you say that all sizes are the same, but it's not true. First of all, apart from scale factor and background, the typeset result is the same. If you look at the space between the period and U in the second line, you will see that it's smaller than the corresponding space in the fourth line: in the fourth line the font size is smaller and interword spaces are therefore larger in order to justify the text. In the 10.475pt part, TeX found no way to split “vestibulum” so that a part can go in the first line of the paragraph. If you look at “felis”, you can see that it's rather visibly to the left in the fifth line than in the third one.

This confirms my opinion: nobody can really spot that you're using a font size between \normalsize and \small.

I'd add that \small is often used for quotations, but in this case the part is set with wider margins and separate from the main text by vertical space, like with

text to be quoted

This tells that the text is not original, but doesn't hinder reading, because the size is not so different from the standard one.

The \semismall trick might be used in a real emergency for cramming a bit more text in a paragraph, but in this case the second parameter to \fontsize must be \f@baselineskip so as to cover our tracks.

  • I get a compiler error for this one, undefined control sequence. Using TexShop on MacOS. Jul 1 at 16:26
  • @user129393192 You don't say what TeX distribution. Probably an outdated one: try adding \usepackage{xfp}.
    – egreg
    Jul 1 at 17:54
  • TeXShop v5.12, which it says is the latest. Using that package makes the output not like yours, but rather all the same size. Jul 1 at 18:02
  • @user129393192 TeXShop is just a front-end. What version of MacTeX did you last install?
    – egreg
    Jul 1 at 19:17
  • This is what pdflatex --version tells me. I think I downloaded from official website and set it to atuo-update: pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2022) Jul 1 at 19:41

enter image description here




Normal (10/12)  {\bitsmall Bit small (9.5/11)} {\small Small (9/11)}.


The first number is the font size (default pt units) the second the baselineskip which is only used if complete paragraphs are set in that size, not as here just fragments in a normalsize paragraph.

I use latin modern here, if using the original computer modern, add \RequirePackage{fix-cm} as first line to allow fonts at any size.

  • What exactly is difference between using fix-cm and lmodern here? I am noticing both works, but lmodern makes them smaller and more spaced out. I tend to like it more. Jul 1 at 16:37
  • @user129393192 fix-cm uses computer modern, lmodern uses latin modern which is a different but similar font set Jul 1 at 17:00
  • and it naturally supports re-sizing ? Jul 1 at 17:28
  • @user129393192 cm fonts would naturally allow being loaded at any size, just latex chooses to declare them at discrete sizes for legacy compatibility. fix-cm just removes those constraints. lmodern like almost all other families is declared for any size so does not need a package like fix-cm Jul 1 at 17:46

You must log in to answer this question.

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