我添加了希腊语专用字体,但当我使用它时,命令\textbf{}
不会产生粗体字母。我添加了[FakeBold=3]
,但没有效果。问题是什么?
\documentclass[openany]{book}
\usepackage{fontspec}
\setmainfont[BoldFont={* Semibold},ItalicFont={* Italic},BoldItalicFont={* Semibold Italic}]{Times New Roman}
\newfontfamily\bgkfamily[FakeBold=3]{SBL Greek}
%%% \newfontfamily\bgkfamily[BoldFeatures={FakeBold=2.5}]{SBL Greek}
\DeclareTextFontCommand{\bgreek}{\bgkfamily\upshape}
\begin{document}
Here is a sentence. This is \bgreek{και \textbf{και } και}
\end{document}
如果有关系的话,我会使用 Texpad。
答案1
我不太确定我是否理解了您的要求。但是,如果您将其FakeBold
作为顶级字体选项,则会使字体的所有面都变粗。如果您没有其他粗体字体,则粗体文本不会变得更粗。
要自动仅使粗体字体加粗并仅使倾斜和斜体字体倾斜,请使用AutoFakeBold
和AutoFakeSlant
。
\documentclass{article}
\usepackage{fontspec}
\usepackage[regular]{newcomputermodern}
% Intentionally loading these fonts in a way that prevents finding NewCM10-Bold.otf.
\newfontfamily\fakebolded{NewCM10-Regular.otf}[FakeBold=1.5, FakeSlant=0.25]
\newfontfamily\autobolded{NewCM10-Regular.otf}[AutoFakeBold=1.5, AutoFakeSlant=0.25]
\begin{document}
Real \textbf{Bold \textsl{Slanted}}
\fakebolded Fake \textbf{Bold \textsl{Slanted}}
\autobolded Auto-Fake \textbf{Bold \textit{Slanted}}
\end{document}
答案2
解决方案很简单:您必须声明粗体字体。
在代码中,我通过文件名选择字体,因为我不会将 SBL Greek 添加到我的系统字体中。
\documentclass[openany]{book}
\usepackage{fontspec}
\newfontfamily\bgkfamily{SBL_grk}[
Path=./,
Extension=.ttf,
BoldFont=*,
BoldFeatures={FakeBold=4},
]
\DeclareTextFontCommand{\bgreek}{\bgkfamily\upshape}
\begin{document}
Here is a sentence. This is \bgreek{και \textbf{και} και}
\end{document}
如果你在系统字体中安装了该字体,则可以使用
\newfontfamily\bgkfamily{SBL Greek}[
BoldFont=*,
BoldFeatures={FakeBold=4},
]
我使用了 4 来使粗体更加明显。
答案3
\documentclass[a4paper, 12pt]{article}
\usepackage{amsfonts, amssymb, amsmath, amsthm}
\usepackage[no-math]{fontspec}
\setmainfont{ModernMTStd-Extended.otf}[
FakeBold=2,
Ligatures=TeX,
]
\setsansfont[%
FakeBold=2,
ItalicFont=NewCMSans10-Oblique.otf,%
BoldFont=NewCMSans10-Bold.otf,%
BoldItalicFont=NewCMSans10-BoldOblique.otf,%
SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf}
\setmonofont[%
FakeBold=2,
ItalicFont=NewCMMono10-Italic.otf,%
BoldFont=NewCMMono10-Bold.otf,%
BoldItalicFont=NewCMMono10-BoldOblique.otf,%
SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf}
\let\mathbbalt\mathbb
\usepackage{unicode-math}
\setmathfont{NewCMMath-Regular.otf}[FakeBold=2]
\let\mathbb\mathbbalt
\begin{document}
This is how you fakebold \texttt{custom} \textsf{fonts}. You need to have the fonts specified in the \texttt{setmainfont} arguments installed on your machine or in the directory you are working on.
\begin{align*}
v\in\mathbb{V}\\
f\in\mathbb{F}
\end{align*}
\end{document}