在我编译的文档中pdflatex
(Ubuntu 11.04 TeX Live 包)。我使用 Sans Serif 字体。应该打印一些关键字大胆的。我{\bf text}
为此使用了构造。
但是,粗体打印的关键字(在我看来)显得太粗,即太粗。是否可以控制粗体打印文本的粗细?
答案1
这是字体特有的,在生产时生成并固定。也就是说,改变“粗细”的方法是切换到不同的字体系列。
至少有一个可能的替代方案,即contour
包裹。它将一段文本以固定长度从原点复制一定次数,从而产生稍微更粗的错觉。该包的目的是围绕所选颜色的文本提供轮廓。将此包与包选项一起包含在内outline
,\usepackage[T1]{fontenc}
会产生所需的输出。如果选择black
轮廓,您将获得以下内容:
\documentclass{article}
\usepackage[T1]{fontenc}% http://ctan.org/pkg/fontenc
\usepackage[outline]{contour}% http://ctan.org/pkg/contour
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\begin{document}
\renewcommand{\arraystretch}{1.5}
\contourlength{0.1pt}
\contournumber{10}%
\begin{tabular}{lc}
\verb|bold| & bold \\
\verb|\textbf{bold}| & \textbf{bold} \\
\verb|\contourlength{0.1pt}| & \\
\verb|\contournumber{10}| & \\
\verb|\contour{black}{bold}| & \contour{black}{bold}
\end{tabular}
\end{document}
第一个bold
是用普通字体排版的。第二个bold
是用bfseries
(顺便说一下,使用\textbf{...}
而不是排版的 - 请参阅{\bf ...}
l2tabu
)第三种bold
是使用contour
设置进行排版
\contournumber{10}
:转载文字10
次数;\contourlength{0.1pt}
: 偏移文本重印0.1pt
。
副本均匀分布在原件周围。countour
包装文档:
所用技术非常简单。默认情况下,在原始文本位置周围的圆圈内,相同的文本会均匀分布打印 16、32 或给定次数。圆圈的默认半径为 0.03 em。如果所用驱动程序请求并支持 (...),可以选择真实轮廓而不是文本副本。
答案2
字体系列的常见值为(取自fntguide
):
m 中等 b 粗体 bx 加粗扩展 sb 半粗体 c 浓缩版
m
是默认字体粗细,bx
是默认粗体系列。Computer Modern 和 Latin Modern 中不存在c
和sb
粗细。但鲜为人知的是,b
这些字体中的罗马系列也有非扩展粗体系列。
您可以使用
\fontseries{b}\selectfont Text…
并将其设为默认粗体系列(这样它就会影响\bfseries
和\textbf
)
\renewcommand{\bfdefault}{b}
但是,无衬线 CM/LM 字体系列没有定义类似的字体粗细。
幸运的是,Latin Modern 的字体可以帮上忙Latin Modern Sans Demi Cond
,它有正斜体和斜体两种形状。这种字体更稠密比正常的要大,但也正因为如此,它看起来更重。您可以通过字体粗细访问此字体sbc
,使用方法与b
上述相同。如果您使用 XeLaTeX 或 LuaLaTeX,您也可以使用 通过名称选择此字体fontspec
。
显示所有字体:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\newcommand{\test}[2]{%
\makebox[2.5cm][l]{#2:} {\fontseries{#1}\selectfont The quick brown fox\dots}\par}
\begin{document}
Roman font family:
\test{m} {Medium}
\test{b} {Bold}
\test{bx} {Bold extended}
\null\par
\sffamily
Sans serif font family:
\test{m} {Medium}
\test{sbc}{Sans Demi Cond}
\test{bx} {Bold extended}
\end{document}
如果您使用除 Computer Modern 或 Latin Modern 以外的字体,您可以检查前面提到的字体粗细或检查字体文件/字体文档列表。
答案3
这是一个选项xfakebold
:
\documentclass{article}
\usepackage{xfakebold}
\newcommand{\fbseries}{\unskip\setBold\aftergroup\unsetBold\aftergroup\ignorespaces}
\makeatletter
\newcommand{\setBoldness}[1]{\def\fake@bold{#1}}
\makeatother
\begin{document}
This is some regular text.
% Default boldness = 0.3
This is some {\fbseries fake bold} text.
\setBoldness{0.5}%
This is some {\fbseries fake bolder} text.
\setBoldness{1}%
This is some {\fbseries fake boldest} text.
\end{document}