具体问题
我想制作一个f
没有横线的斜体。我能相对直接地做到这一点吗?
这个字母 esh (ʃ) 的 Unicode 编码为 U+01A9,U+0283。 eshtipa.sty
只适合用 Computer Modern 来显示 — — 我需要 Times 中的这个字体 — — 并且像所有 tipa 字符一样,它没有斜体版本。下图显示了由此产生的混乱:字距不正确(我知道可以修复)、字干粗细错误,并且末端(顶部和底部的凸起部分)不够圆。
如果我能创建一个在各方面都完全相同但没有横线的字符,那么所有这些问题都会消失。f
(这显然也会影响连字符,我意识到我需要f
分别处理每个连字符。)
一般问题
语言排版远远低于专业标准(即使是一些顶级出版商也是如此):语言学需要大量奇怪的符号(IPA、方言等),这些符号必须在正文中用斜体表示(可能是 Times、Minion 或其他)。然而,tipa
在 LaTeX 中访问 IPA 的主要方式不提供斜体,并且只存在于 Computer Modern 中。因此,大多数 tex 用户被迫提交混合不同字体和形状的手稿,这一事实又遇到了一个问题,即出版社并非都投资于正确的字体集,或者没有培训他们的文字编辑/排字员使用它们。
如果有(至少是基本)字体无关的规范(斜体和罗马字符),例如 ɳ (U+0273)、ɲ (U+0272)、ʁ (U+0281) 等,用户可以根据个人需要进行调整,那么这种情况可能更容易避免。因此,对这个f
问题的一般性回答和具体回答一样受欢迎。
更新。 “一般性问题”现在是一个单独问题。
答案1
我对字体一无所知,所以我无法完全回答这个问题。但是,一种解决方法可能是使用kpfonts
并将 替换f
为s
。以下代码给出:
\documentclass{article}
\usepackage[nofligatures,veryoldstyle]{kpfonts}
\begin{document}
\emph{osten ossing}
\end{document}
如果上述字符合适,那么具有所需低级知识的人将能够将其转变为您的“自动”解决方案(即无需摆弄s
's)
答案2
根据 Scott H. 的提示,我可以通过s
以下方式添加斜体长字来为自己添加斜体 esh。(一般问题 — 关于从现有部分创建字符 — 仍然存在。我会就此发布一个单独的问题。)
调用后kpfonts.sty
,我将其重新定义\ss
(因为我不需要'ß')为一个参数命令:
\renewcommand{\ss}[1]{% line 1
\fontfamily{jkpvos}\selectfont% line 2
s#1% line 3
\fontfamily{jkp}\selectfont% line 4
}% line 5
第 2 行将 切换为veryoldstyle
,从而使 longs
可用。第 4 行再次切换回 。第 3 行将s
和以下字符放入veryoldstyle
。
\ss
制作一个位置命令(第 1 行)而不是仅仅调用 long 的目的s
是为了适应连字符。例如,\ss t
给出 Scott H. 的答案和下图中所示的连字符。(但这确实意味着,您必须注意后面\ss
跟着重音字符:\ss\k{i}
不会编译;您必须改为使用\ss{}\k{i}
或类似的。)
下面的例子表明s
显示s(不需要=s
,这会很麻烦,因为我想要的是普通的 es 而不是 esh)。
其他要点:
正如 Barbara Beeton 所说,这款字体中没有连字符。很奇怪。
波兰语钩子与斜体元音正确对齐(其他元音则不然
mathpmtx
)。这样可以省去大量的手动操作。斜体
v
、、w
很y
古怪。我不是它的粉丝,想回到 Times。所以,我仍然对从现有位构建字符的更通用的解决方案感兴趣。
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{kpfonts}
\renewcommand{\ss}[1]{\fontfamily{jkpvos}\selectfont s#1\fontfamily{jkp}\selectfont}
\begin{document}
\noindent \it
s\ss t\ss{}\k{i}\ss{}\k{\'i}s \\
vwy
\end{document}