pdfLaTeX 答案

pdfLaTeX 答案

如何将整个 LaTeX 文档写成粗体?我想在 bfseries 中打印 pdf。是否可以通过在 LaTeX 文档的序言或正文中添加一些代码来实现?

答案1

pdfLaTeX 答案

最佳效果在某种程度上取决于所使用的字体。对于 Computer Modern(LaTeX 中的默认字体),没有粗体斜体,只有粗体扩展斜体。因此,最佳效果取决于您是使用\textbf还是 来突出显示内容\textit。如果您使用,\textbf那么最好的方法是使用

\renewcommand\seriesdefault{b}

在你的序言中。但是,如果你在文档中使用\textit或,\itshape则使用b系列会导致完全没有斜体,因为 LaTeX 会检测到b/it(粗斜体)不可用,并使用b/n(粗直立)。因此,如果你想要\textit\itshape按预期工作,你必须使用

\renewcommand\seriesdefault{bx}

在你的序言中。

完整示例中:

\documentclass[]{article}

\renewcommand\seriesdefault{b}

\begin{document}
Text (normal).

\textbf{Text (bold)}.

\textit{Text (italic)}.

\textit{\textbf{Text (bold italic)}}.
\end{document}

结果是

使用 b 的结果

\documentclass[]{article}

\renewcommand\seriesdefault{bx}

\begin{document}
Text (normal).

\textbf{Text (bold)}.

\textit{Text (italic)}.

\textit{\textbf{Text (bold italic)}}.
\end{document}

结果是

使用 bx 的结果

然而,如果你碰巧使用同时具有b/it和的字体bx/it,那么\renewcommand\seriesdefault{b}应该是最好的选择。


用作kpfonts示例

kpfonts系列涵盖了广泛的系列和形状组合(可能还有其他,但目前(2019-10-12)这恰好是我最喜欢的字体)。有趣的是,kpfonts它有浅色和标准两种变体,如果您指定选项,则可以组合使用浅色和标准变体rmx。因此,kpfonts您可以有不同的可行组合:

  1. 使用bbx

    \documentclass[]{article}
    
    \usepackage{kpfonts}
    
    \renewcommand\seriesdefault{b}
    \renewcommand\bfdefault{bx} % just to make sure
    
    \begin{document}
    \begingroup
    \usefont\encodingdefault\familydefault{m}\shapedefault\relax
    Text (really normal), which would be used normally
    \endgroup
    
    Text (normal).
    
    \textbf{Text (bold)}.
    
    \textit{Text (italic)}.
    
    \textit{\textbf{Text (bold italic)}}.
    \end{document}
    

    在此处输入图片描述

  2. 使用sbb

    \documentclass[]{article}
    
    \usepackage[rmx]{kpfonts}
    
    \renewcommand\seriesdefault{sb}
    \renewcommand\bfdefault{b}
    
    \begin{document}
    \begingroup
    \usefont\encodingdefault\familydefault{m}\shapedefault\relax
    Text (really normal), which would be used normally
    \endgroup
    
    Text (normal).
    
    \textbf{Text (bold)}.
    
    \textit{Text (italic)}.
    
    \textit{\textbf{Text (bold italic)}}.
    \end{document}
    

    在此处输入图片描述

当然,您也可以按照自己的喜好组合sbxandbxsbandbx或。

答案2

LuaLaTeX 和 XeLaTeX 答案:使用 fontspec 包

加载包后fontspec,修改指令的参数\setmainfont以指定大胆的粗斜体作为默认字体形状。

\setsansfont并且,如果需要,修改和指令的参数\setmonofont以获得大胆的粗斜体作为无衬线和等宽(又名“打字机”)字体系列的默认字体形状。

这种方法并不像乍一看那么难:如果你正在使用该fontspec包,你可能已经有了这样的说明

\setmainfont{Times New Roman}[%
             ItalicFont=Times New Roman Italic,
             BoldItalicFont=Times New Roman BoldItalic]

在文档的序言中。然后,您需要做的就是在两个地方添加“粗体”:

\setmainfont{Times New Roman Bold}[%
             ItalicFont=Times New Roman BoldItalic,
             BoldItalicFont=Times New Roman BoldItalic]

在此处输入图片描述

\documentclass{article}
\usepackage{fontspec}
%% Choose suitable font families and weights. E.g.:
\setmainfont{Times New Roman Bold}[%
             ItalicFont=Times New Roman BoldItalic,
             BoldItalicFont=Times New Roman BoldItalic]
\setsansfont{Helvetica Bold}[Scale=MatchLowercase,
             ItalicFont=Helvetica Bold Oblique]
\setmonofont{Consolas Bold}[Scale=MatchLowercase,
             ItalicFont=Consolas Bold Italic,
             BoldItalicFont=Consolas Bold Italic]

% pangram:
\newcommand\qbf{The quick brown fox jumps over the lazy dog.}

\begin{document}
\obeylines
\qbf
\textit{\qbf}
\sffamily
\qbf
\textit{\qbf}
\ttfamily
\qbf
\textit{\qbf}

\medskip
\rmfamily\bfseries
Explicit \texttt{\textbackslash bfseries} --- exactly the same as above:
\qbf 
\textit{\qbf}
\sffamily
\qbf
\textit{\qbf}
\ttfamily
\qbf
\textit{\qbf}

\end{document}

相关内容