如何使用半粗体字体 Latin Modern Roman Demi?

如何使用半粗体字体 Latin Modern Roman Demi?

我已经准备好打印文档了,除了标题。出于纯粹的个人和审美品味,我希望它带有serif字体lmodern,并且稍微加粗一点。

但是,对我而言,使用\normalfont不够大胆,而\bfseries使用对我来说太大胆了。

问题:有没有办法以半粗体打印它?

附注:(该问题最初是使用“中间粗体”关键字提出的。)


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

    {\bfseries Too bold}
\end{document}

平均能量损失

答案1

没有半粗体版本,但你可以放大字体(我使用的代码适用于标题等较短的部分,但不适合较长的文本!):也可以使用 graphicx 包的 \scalebox 和 resizebox。由你来决定这是否看起来令人愉悦...

\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}

在此处输入图片描述

答案2

没有半粗体字体,但有半粗体。字体的相关 type1 版本包含在软件包中lmodern。不幸的是,lmodern.sty没有提供访问这些字体的直接方法,也lmodern没有提供所需的.fd文件。幸运的是,cfr-lm提供了。

\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}

不幸的是,半粗体缺乏视觉尺寸,而粗体扩展支持这些尺寸。这意味着在某些尺寸下,半粗体看起来至少与粗体一样粗,甚至更粗:

半粗体

此外,半粗体并不像粗体那样被延长,并且没有真正的斜体 - 只有倾斜的形状。

话虽如此,根据所需的大小和形状范围,半粗体可能仍然是一个不错的选择。例如,在正常大小(10pt)下,它的粗度至少比粗体略小(尽管不幸的是,PNG 显示这一点不如 PDF 清晰):

半粗体,10pt

效果还是很微妙的。比较重复的相同字母可能会更容易:

2个“我”

[左侧加粗;右侧半粗体;10pt。]

因此,根据您的需要,专门设计的半粗体可能比尝试其他答案中建议的伪造策略更好,也可能不是。至少,值得注意的是,肯定存在这样的字体。

答案3

这种方法仅适用于 pdflatex,其中我使用 pdf 特殊功能将字体半加粗,这里体现为\textsb[<emboldening level>]{<text>}

在 MWE 中,我显示了从 到 (默认 ) 的加粗级别.21然后.4可以将其与基线字体以及\textbf版本进行比较。

\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}

在此处输入图片描述

答案4

@cfr 的答案在 PDFLaTeX 中效果很好,但如果您使用的是现代工具链,您将需要使用fontspec。这里有一种方法可以做到这一点。它设置了类似 LaTeX 的命令\textsb{}\sbseries这些命令可与任何包含权重的字体一起使用sb。(如果您愿意,可以像在中一样给出\sbseries名称。)\sbweightnfss-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}

拉丁现代字体样本

相关内容