文字加粗不了怎么回事?

发布于 2022-09-30 15:07:12

文字不能正常加粗,经常被字体问题困扰第一行就会报错

Font "FandolKai-Regular" does not contain requested
(fontspec) Script "CJK".
Some font shapes were not available, defaults substituted.

需要加粗的地方实现不了,并有时直接报出错误

Font shape `TU/FandolKai-Regular(0)/b/n' undefined
(Font) using `TU/FandolKai-Regular(0)/m/n' instead.
\documentclass[lang=cn, 11pt, chinese]{elegantbook}
\usepackage{ctex}

\begin{document}

\begin{definition}{}{}
我要加粗{\bfseries 啦啦啦} \\
我要加粗\textbf{啦啦啦}
\end{definition}

\end{document}

查看更多

关注者
0
被浏览
2.1k
1 个回答
芒果不盲
芒果不盲 2022-09-30
学好TiKZ和tcolorbox!

1.请仔细阅读模板手册
1.png
最简单的办法就是使用 chinesefont = founder 到您的文档类选项. (当然您需要先下载字体)
效果如下:
2.png
当然, 这里的 \textbf 使用的是 FZHei-B01 字体
mwe:

\documentclass[lang=cn, 11pt,chinesefont = founder]{elegantbook}
\begin{document}

\begin{definition}{}{}
我要加粗{\bfseries 啦啦啦} \
我要加粗\textbf{啦啦啦}
\end{definition}

\end{document}

2.使用 chinesefont = ctexfont(默认选项), 很明显缺失字形,你需要简单配置一下
elegantbook.cls 第 214 行附近, 将如下代码替换

\ifdefstring{\ELEGANT@chinesefont}{ctexfont}{
  \RequirePackage[UTF8,scheme=plain]{ctex}
  \xeCJKsetup{AutoFakeBold=true}
  }{\relax}

替换为:

\ifdefstring{\ELEGANT@chinesefont}{ctexfont}{
  \RequirePackage[UTF8,scheme=plain]{ctex}
  \setCJKfamilyfont{kaishu} {KaiTi}[AutoFakeBold]
  \renewcommand*{\kaishu}{\CJKfamily{kaishu}}
  }{\relax}

3.png

mwe:

\documentclass[lang=cn, 11pt]{elegantbook}
\begin{document}

\begin{definition}{}{}
我要加粗{\bfseries 啦啦啦} \
我要加粗\textbf{啦啦啦}
\end{definition}

\end{document}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览