In my document which I compile with pdflatex (Ubuntu 11.04 TeX Live package). I use the Sans Serif font. Some keywords should be printed bold. I use the {\bf text} construct for this.

However, the bold printed keyword appear (to my taste) too bold, i.e. too fat. Is it possible to control the boldness of bold printed text?

  • 4
    If the font supports it, you can try to set the fontseries to semibold. As \bf is an deprecated command (use \textbfinstead), try something like: \newcommand{\sebo}[1]{{\fontseries{sb}#1}}, but close to none fonts support semibold – Tom Bombadil Sep 8 '11 at 9:55
  • 1
    The solutions to \textbf{text} without increasing the length of the text might also be from interest for you. There a different "boldness" is achieved by scaling. – Martin Scharrer Sep 8 '11 at 10:41
  • This solution to 'Set the "font-weight: lighter/ bolder" ' may be helpful. – mas Sep 8 '11 at 11:36
  • 1
    @Tom: You need \selectfont after \fontseries. – Andrey Vihrov Sep 8 '11 at 15:35
  • @Andrey Vihrov: Whoah, of course! What a lapse. Thanks for pointing out. – Tom Bombadil Sep 8 '11 at 18:18

This is font-specific and is produced and fixed at production time. That is, the way to change the "boldness" would be to switch to a different font series.

There is at least one possible alternative by means of the contour package. It duplicates a piece of text a certain number of times at a fixed length away from the origin, thereby creating the illusion of being slightly more bold. The intent of the package is to provide a contour around text of a chosen colour. Including this package with the outline package option, together with \usepackage[T1]{fontenc} yields the desired output. If you choose a black contour, you get the following:

\usepackage[T1]{fontenc}% http://ctan.org/pkg/fontenc
\usepackage[outline]{contour}% http://ctan.org/pkg/contour
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
  \verb|bold| & bold \\
  \verb|\textbf{bold}| & \textbf{bold} \\
  \verb|\contourlength{0.1pt}| & \\
  \verb|\contournumber{10}| & \\
  \verb|\contour{black}{bold}| & \contour{black}{bold}

bold contours

The first bold is typeset in normal font. The second bold is typeset in bfseries (using \textbf{...} rather than {\bf ...}, by the way - see l2tabu). The third bold is typeset using contour with the settings

  • \contournumber{10}: reprint text 10 times;
  • \contourlength{0.1pt}: offset text reprints by 0.1pt.

The copies are evenly distributed around the original. In more detail from the countour package documentation:

The used technique is quite simple. By default, in a circle around the original text position the same text is printed evenly distributed 16, 32, or a given number times. The default radius for the circle is 0.03 em. If requested and supported by the used driver (...) a real outline can be choseninstead of text copies.

| improve this answer | |
  • 6
    When using Type 1 fonts (by saying \usepackage[T1]{fontenc} in the preamble), the contour package can even produce high-quality real outlines: Just load it like \usepackage[outline]{contour} – diabonas Sep 8 '11 at 10:38
  • 1
    @diabonas: It was too late for me to pick up on that - thanks. I've updated my answer to reflect this choice. – Werner Sep 8 '11 at 14:12

The common values for font series are (taken from fntguide):

m   Medium
b   Bold
bx  Bold extended
sb  Semi-bold
c   Condensed

m is the default font weight, bx is the default bold series. The c and sb weights do not exist in Computer Modern and Latin Modern. But it is a little known fact that the nonextended bold series, b, is also available for the roman family in these fonts.

You would switch to this series with

\fontseries{b}\selectfont Text…

and make it the default bold series (such that it affects \bfseries and \textbf) with


However, there is no similar font weight defined for the sans serif CM/LM font family.

Fortunately, Latin Modern comes to rescue with its Latin Modern Sans Demi Cond font, available in regular and oblique shapes. This font is somewhat more dense than the normal one, but because of that it also looks heavier. You can access this font through the sbc font weight, which can be used just as b above. If you use XeLaTeX or LuaLaTeX, you can also select this font by name with fontspec.

And to show all the fonts:




  \makebox[2.5cm][l]{#2:} {\fontseries{#1}\selectfont The quick brown fox\dots}\par}


Roman font family:

\test{m}  {Medium}
\test{b}  {Bold}
\test{bx} {Bold extended}


Sans serif font family:

\test{m}  {Medium}
\test{sbc}{Sans Demi Cond}
\test{bx} {Bold extended}


If you use a font other than Computer Modern or Latin Modern, you can check for the font weights mentioned before or examine the list of font files/font documentation.

| improve this answer | |
  • 1
    Amazing. I used this inside a tcolorbox, e.g. fontupper=\color{blue}\boldmath\fontseries{sb}\selectfont, so it emphasizes the math more than the text. Not sure how clever it is, but today I like it. – PatrickT Nov 7 '17 at 5:48

Here's an option with xfakebold:

enter image description here





This is some regular text.

% Default boldness = 0.3
This is some {\fbseries fake bold} text.

This is some {\fbseries fake bolder} text.

This is some {\fbseries fake boldest} text.

| improve this answer | |

For me a simple package times helps


Before adding times package: enter image description here


enter image description here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.