# How do I use the semibold font Latin Modern Roman Demi?

I have my document ready to print, except the title. Regarding purely personal and aesthetic taste, I want it with serif with lmodern font, and a bit bold.

However, for my taste, using \normalfont is not bold enough, while \bfseries is too bold for me.

Question: is there a way to print it semibold?

P.-S.: (This question was originally asked using the "middle-bold" keyword.)

\documentclass[10pt]{scrbook}
\usepackage{lmodern}
\begin{document}
\Huge
Not bold enough

{\bfseries Too bold}
\end{document}


• What you require is known as a semibold version of Latin Modern. As far as I know, there is no such version. – Bernard Jan 29 '16 at 10:16
• thx for the keyword - original post edited accordingly. I then found Level of “boldness” changeable? ; How to use all variants of Latin Modern Roman with fontspec? – ebosi Jan 29 '16 at 10:19
• I'm sorry, I don't know fontspec sufficiently well to understand what they do to obtain bold small caps. – Bernard Jan 29 '16 at 10:27
• Just FYI: In some professional fonts, the SemiBold version has the same metrics as the regular. That is, the character strokes are slightly thicker, and the text does not spread out. I do not know if that is a general rule among SemiBold weights. – user139954 Mar 18 '18 at 2:23

There is no semibold version but you could scale up a smaller font size (the code I use is okay for a short portion like a title but not suitable for longer text!): \scalebox and resizebox of the graphicx package can be used too. It is up to you to decide if this looks pleasing ...

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
\Huge
\textbf{Bold}

\font\testa=ec-lmr10 at 25pt
{\testa A bit Bold}

\font\testb=ec-lmr5 at 25pt
{\testb A bit Bold}

Not Bold
\end{document}


• exactly what I was looking for. thank you ! – ebosi Jan 29 '16 at 10:37
• @ebo There's a demi-bold, though. – cfr Mar 18 '18 at 2:14

There is no semi-bold font, but there is a demi-bold one. The relevant type1 versions of the fonts are included in the lmodern package. Unfortunately, lmodern.sty provides no straightforward way of accessing these fonts and lmodern does not provide the needed .fd files. Fortunately, cfr-lm does.

\documentclass[10pt]{scrbook}
\usepackage[rm={proportional,lining},sf={proportional,lining},tt={tabular,lining,monowidth}]{cfr-lm}
\begin{document}
\Huge
Not bold enough

{\bfseries Too bold}

{\sbweight Just right}
\end{document}


Unfortunately, the demi-bold lacks optical sizes, which are supported by the bold-extended. This means that at some sizes, the demi-bold looks at least as bold as the bold, if not more so:

Moreover, the demi-bold is not extended, as the bold is, and there is no true italic - only an oblique shape.

That said, depending on the range of sizes and shapes required, the demi-bold may still be a good option. At normal size (10pt), for example, it is at least somewhat less bold than the bold (though the PNG shows this rather less clearly than the PDF, unfortunately):

The effect is still quite subtle. It may be easier to compare the same letter repeated:

[Bold-extended on the left; demi-bold on the right; 10pt.]

Depending on your needs, therefore, the purpose-designed demi-bold may or may not be a better option than trying the faking strategies suggested in the other answers. At the least, it is worth noting that there certainly is such a font.

This approach only works in pdflatex, where I use a pdf special to semi-embolden the font, here embodied as \textsb[<emboldening level>]{<text>}.

In the MWE, I show emboldment levels ranging from .2 to 1 (default .4). One can then compare to the baseline font, as well as the \textbf version.

\documentclass[10pt]{scrbook}
%%%%%
\input pdf-trans
\newbox\qbox
\def\usecolor#1{\csname\string\color@#1\endcsname\space}
\newcommand\outline[1]{\leavevmode%
\def\maltext{#1}%
\setbox\qbox=\hbox{\maltext}%
\boxgs{Q q 2 Tr \thickness\space w 0 0 0 rg 0 G}{}%
\copy\qbox%
}
\newcommand\textsb[2][.4]{%
\def\thickness{#1}%
\outline{#2}%
}
%%%%%
\begin{document}
\Huge Not bold enough

\textsb[.2]{.2 bold enough?}

\textsb{.4 bold enough?}

\textsb[.6]{.6 bold enough?}

\textsb[.8]{.8 bold enough?}

\textsb[1]{1.0 bold enough?}

{\bfseries Too bold}
\end{document}


The answer by @cfr works well in PDFLaTeX, but if you’re using a modern toolchain, you will want to use fontspec. Here’s one way to do that. It sets up LaTeX-like \textsb{} and \sbseries commands that work with any fonts containing a sb weight. (You could if you prefer give \sbseries the name \sbweight like in nfss-cfr.)

\documentclass[10pt, varwidth, preview]{standalone}
\usepackage{fontspec}

\setmainfont[
Scale = 1.0,
Ligatures = {Common, Discretionary, TeX},
FontFace={sb}{n}{Font = {lmromandemi10-regular}, Extension = .otf },
FontFace={sb}{it}{Font = {lmromandemi10-oblique}, Extension = .otf }
]{Latin Modern Roman}

\defaultfontfeatures{ Scale=MatchLowercase, Ligatures=TeX }

% The commands to select semibold weight:
\DeclareRobustCommand\sbseries{\fontseries{sb}\selectfont}
\DeclareTextFontCommand{\textsb}{\sbseries}

\begin{document}
\Huge
Not bold enough

{\bfseries Too} \textbf{bold}

{\sbseries Just} \textsb{right}
\end{document}