测试 f@shape 是否被视为可靠检测斜体和倾斜模式的最佳实践方法?

测试 f@shape 是否被视为可靠检测斜体和倾斜模式的最佳实践方法?

主题说明了一切。

测试是否是f@shape检查斜体和倾斜模式的最干净、最清晰、最简单、最可靠的方法?例如:

\ifthenelse{\equal{\f@shape}{sl}}{italic}{not italic}
\ifthenelse{\equal{\f@shape}{it}}{slant}{not slant}

显然,如果没有更多的背景信息,这个问题就有点太宽泛了——例如,与其将其包装在 中\ifthenelse,不如根据模式设置一个内部长度变量,这样可能更简洁。就我而言,我只想在宏的中间发出不同程度的字距调整——普通文本无字距调整,倾斜文本有一点字距调整,斜体文本有一点字距调整。这是针对排版分数的宏。我已经让它工作了,但我只是想知道这是否是最简洁的方法。

答案1

取决于你做什么。在某些情况下,你可能更适合使用\curr@fontshape,因为它能提供更多信息。该命令返回一个值,例如OT1/cmtt/m/sl。因此,如果你根据字体形状使用不同数量的字距,那么值得探索这个命令。

研究 LaTeX 如何定义斜体校正(在 中搜索source2etextit和也会很有启发textsl,这会带来类似的问题。您尝试执行的操作属于更上游的操作,也许是特殊的字体字距调整表?

最佳实践是始终研究 LaTeXsource2e和任何广为接受的相关软件包。多年来,内核已经得到相当好的优化,任何剩余的问题通常都是次要的(仅此而已texdoc source2e)。

相关内容