斜体小型大写字母与 fontspec?

斜体小型大写字母与 fontspec?

我见过各种关于如何获得斜体小型大写字母的问题,例如使用lmodernslantsc一起。

但是,我目前使用的是beamer,并且希望在大多数地方保留无衬线字体(不支持slantsc)。只有几个特定的​​跨度,我需要区分大写字母、小型大写字母、斜体/倾斜小型大写字母、小写字母和斜体/倾斜小写字母。(当音译楔形文字时,这些表示不同类别的符号。)

假设fontspec我可以设置 Latin Modern 或其他支持斜体/倾斜小写字母的字体,并只在音译段落中使用该字体。但我找不到任何关于如何制作fontspecslantsc协同工作的文档。

我如何设置 Latin Modern 或任何其他字体,以便fontspec可以使用斜体小型大写字母?

梅威瑟:

\documentclass{beamer}
\usepackage{slantsc}

\begin{document}

\begin{frame}{Example}
Normal \textit{Italic} \textsc{Smallcaps} \textsl{\textsc{Slanted Smallcaps}}
\end{frame}

\end{document}

输出: mwe 输出

LaTeX Font Warning: Font shape `TU/lmss/m/sc' in size <10.95> not available
(Font)              Font shape `TU/lmr/m/sc' tried instead on input line 8.


LaTeX Font Warning: Font shape `TU/lmss/m/scsl' undefined
(Font)              using `TU/lmss/m/sc' instead on input line 8.

(我不喜欢这里的字体差异,但如果必须的话我可以忍受;小型大写字母和斜体/倾斜小型大写字母之间的区别至关重要,而实际上看起来美观并不那么重要。)

答案1

您不再需要slantsc,当前的 LaTeX 直接支持倾斜小型大写字母。对于拉丁现代无衬线字体,LaTeX 已经指定了小型大写字母的替换以恢复为拉丁现代罗马字体,您可以为倾斜变体添加类似的规则:

\documentclass{beamer}

\DeclareFontShape{TU}{lmss}{m}{scsl}
  {<->sub*lmr/m/scsl}{}

\begin{document}

\begin{frame}{Example}
Normal \textit{Italic} \textsc{Smallcaps} \textsl{\textsc{Slanted Smallcaps}}
\end{frame}

\end{document}

显示不同字体样式的单词的图像

答案2

例如 Noto Sans

\documentclass{beamer}
\usepackage{fontspec}
\setsansfont{Noto Sans}
\begin{document}

\begin{frame}{Example}
Normal \textit{Italic} \textsc{Smallcaps} \textsl{\textsc{Slanted Smallcaps}}
\end{frame}

\end{document}

在此处输入图片描述

相关内容