提问于:
浏览数:
6588
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 回答
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 里面的斜体都是用算法实现的伪斜体。
我个人的观点:斜着的汉字就是不会写字的小孩在瞎划拉。
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。