我有一些带斜线的缩写,如 ISO/IEC,我想用小写字母书写它们。问题是斜线比字母高很多。
- OT:这真的是印刷问题吗?我是不是应该接受稍高的斜线?
- 主要问题:有没有一种正确/简单的方法可以在中间添加“小写斜线”?如果有好的字体可以实现这一点,请推荐一种。
我现在正在使用巴斯克瓦德克斯字体包。这是 MWE:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[osf]{Baskervaldx}
\begin{document}
\textsc{iso/iec} with a bit too tall slash.
\end{document}
答案1
\textsc{e}
在这里,我将文本斜线垂直缩小到当前字体大小的 a 的高度。(注意:由于scalerel
默认在数学模式下处理参数,因此使用 a$/$
实际上是在文本模式下处理斜线)。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[osf]{Baskervaldx}
\usepackage{scalerel}
\newcommand\scslash{\stretchrel*{$/$}{\textsc{e}}}
\begin{document}
\textsc{iso/iec} with a bit too tall slash.
\textsc{iso\scslash iec} with a downsized slash.
\LARGE
\textsc{iso/iec} with a bit too tall slash.
\textsc{iso\scslash iec} with a downsized slash.
\end{document}
上述实现保留了字形宽度并缩小了垂直高度。如果想要相同的倾斜度和更窄的字形,将 改为\stretchrel
即可\scalerel
实现:
答案2
您可以使用斜线命令:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[osf]{Baskervaldx}
\usepackage{xpatch}
\newcommand{\textslash}{/}
\makeatletter
\DeclareRobustCommand{\textslashsc}{%
\check@mathfonts
{\fontsize{\sf@size}{\z@}\selectfont/}%
}
\xapptocmd{\scshape}{\let\textslash\textslashsc}{}{}
\makeatother
\begin{document}
\textsc{iso\textslash iec} with a bit too tall slash
and a normal\textslash big slash.
\end{document}