MWE ```tex \documentclass{ctexart} \setCJKmainfont{SourceHanSerifCN-Regular} \usepackage{zhlipsum} \begin{document} \slshape\zhlipsum[1] \end{document} ``` 警告信息为 `Redefining CJKfamily \CJKrmdefault'(SimSun(O)).`、`Some font shapes were not available, defaults substituted.`和`Font shape TU/SourceHanSerifCN-Regular(O)/m/sl' undefined (Font) using TU/SourceHanSerifCN-Regular(0)/m/n' instead.` 这三个警告又是为什么..

2 回答2

8
> 为什么 `\slshape` 不起作用? 因为思源宋体里不包含 `\slshape`(罗马斜体,区别于 `\itshape` 代表的意大利斜体)默认调用的字族。 > 警告 1: > Redefining CJKfamily \CJKrmdefault'(SimSun(O)). 提醒你,我要重定义了。 > 警告2: > Some font shapes were not available, defaults substituted. 提醒你,当前字体缺字族 > 警告3: > Font shape TU/SourceHanSerifCN-Regular(O)/m/sl' undefined (Font) using TU/SourceHanSerifCN-Regular(0)/m/n' instead. 提醒你,思源宋体的 `\rmfamily\slshape` 对应的字族不存在,程序会把它定义为和 `\rmfamily\mdshape`。 `TU/SourceHanSerifCN-Regular(O)/m/sl` 分别代表了 `字体编码/字体名/family 名/shape 名/`,更多信息可查阅 `texdoc fntguide`。 ------ 像伪粗一样,`fontspec` 宏包也提供了伪 slant 的选项。 ```tex \documentclass{ctexart} % 思源宋体的字体名繁多,这是我安装的版本 \setCJKmainfont[FakeSlant=0.2]{Source Han Serif} \usepackage{zhlipsum} \begin{document} \slshape\zhlipsum[1] \end{document} ``` ![](https://pics.latexstudio.net/data/images/201911/24557498686a64a.png)

作者追问:2019-11-09 15:05

我在用`fancyhdr`宏包的`fancy `风格时,页眉被定义为`\fancyhead[LE,RO]{\slshape \rightmark}`,这里\slshape对中易宋体的效果为楷体,为什么对于思源宋体就不起作用? MWE ```tex \documentclass{ctexart} % \setCJKmainfont{SourceHanSerifCN-Regular} \usepackage{zhlipsum} \begin{document} \slshape\zhlipsum[1] \end{document} ```
  • 非常感谢! – sikouhjw 2019-11-29 22:34 回复
  • 把追问忽略掉吧...我那时没反应过来 – sikouhjw 2019-11-09 15:11 回复
  • 我大概明白了,思源宋体的`\rmfamily\slshape`被重定义为`\rmfamily\mdshape`,我还是手动加`\kaiti`好了..谢谢! – sikouhjw 2019-11-09 15:11 回复
2
汉字字体都没有斜体,你看到的 word 里面的斜体都是用算法实现的伪斜体。 我个人的观点:斜着的汉字就是不会写字的小孩在瞎划拉。

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。