简而言之。是否有一种相对简单的方法可以利用现有角色的部分来构建角色?
理由。(La)TeX 语言学家需要广泛的字符集,例如 ⟨ɳ⟩ (U+0273)、⟨ɲ⟩ (U+0272)、⟨ʁ⟩ (U+0281)、⟨ɱ⟩ (U+0271)、⟨ə⟩ (U+0259),Rei Fukui 的tipa
软件包通常可以满足他们的要求。但是,tipa
它不提供斜体形状,并且仅限于 Computer Modern。这会导致问题。出版商经常要求使用 Computer Modern 以外的字体,并且几乎普遍的惯例是使用斜体进行文内引用。结果令人不满意且视觉上不吸引人(并且经常导致出版物中的字体和/或字体形状混杂)。 (有些出版商确实拥有全套斜体 IPA 字体,但这些字体通常是特别委托的,并非免费提供;例如,OUP 的 Minion 套装。)
例子。\textipa{@}
以下是使用 Times Roman 时调用 schwa via 所获得的字体和形状的混合:
为了解决这个问题,我采取了rotating.sty
旋转的方法e
:
\newlength{\schwawidth}
\newlength{\schwaheight}
\newcommand{\x}{%
\settowidth{\schwawidth}{\it e}%
\settoheight{\schwaheight}{\it e}%
\makebox[\schwawidth][r]{%
\raisebox{\schwaheight}{%
\turnbox{180}{e}}}%
}
\schwawidth
请注意,这也会获得合理的字距调整(这就是定义而\schwaheight
不是使用所谓的旋转框的原因?):
问题。 当字符的部分必须组合在一起时,这种方法就失效了。以 ⟨ɺ⟩ (U+027A) 为例。你可以像中音符一样旋转 ⟨r⟩,然后将其叠加在 ⟨l⟩ 上,但 ⟨l⟩ 的尾部会不舒服地突出:
你真正需要的是把 ⟨l⟩ 的顶部砍掉,然后把它粘贴到旋转的 ⟨r⟩ 上,然后将结果视为单个字符。 有没有简单的方法可以做到这一点?
更新。 的作者expex.sty
让我想起了我在 Word 中常用的一个技巧:用白框覆盖部分字母,在 TeX 中可以用 复制pstricks.sty
。下面是获取上述 ⟨ɺ⟩ (U+027A) 的方法:
\documentclass[12pt]{article}
\usepackage{rotating,mathptmx,pstricks}
\begin{document}
\newlength{\rwidth}
\newlength{\rheight}
\newcommand{\turnedr}{%
\settowidth{\rwidth}{\it r}%
\settoheight{\rheight}{\it r}%
\makebox[\rwidth][r]{%
\raisebox{\rheight}{%
\turnbox{180}{r}}}%
}
\def\cutr{\leavevmode\hbox{\turnedr}%
\psframe*[linecolor=white](0,0)(-.15em,1.1ex)%
\psframe*[linecolor=white](0,-.1ex)(-.24em,.2ex)%
\psframe*[linecolor=white](0,-.1ex)(-.26em,.1ex)%
}
\def\turnedlongr{\cutr\kern-.27eml}
\noindent \it
\verb|\cutr| --- \cutr \\
\verb|\turnedlongr| --- \turnedlongr \\
\verb|\l\turnedlongr d| --- l\turnedlongr d
\end{document}
我怀疑这是否适用于所有字母,并且我确信纯粹主义者在阅读本文后需要冲洗眼睛......
承诺。 如果我在这方面取得进展,我就会开始在我的网页(链接到的网页)上发布我创造/拼凑/科学怪人的任何角色(您可以通过谷歌搜索我的名字找到)。
笔记。 这个问题很普遍,因为:
- 许多 IPA 字符都是常见字符的组合(⟨j⟩+⟨n⟩=⟨ɲ⟩、⟨m⟩+⟨j⟩=⟨ɱ⟩ 等)。
- 不匹配的问题不仅适用于 Times 斜体:它还影响其他所有字体中的 Computer Modern 斜体和罗马斜体。
这个问题最初是这个问题。尽管找到了解决方法,但砍掉现有字符的位(在这种情况下,是来自 ⟨f⟩ 的横线)的大问题仍然存在。
\documentclass[12pt]{article}
\usepackage{rotating,mathptmx, tipa}
\begin{document}
\newlength{\schwawidth}
\newlength{\schwaheight}
\newcommand{\x}{%
\settowidth{\schwawidth}{\it e}%
\settoheight{\schwaheight}{\it e}%
\makebox[\schwawidth][r]{%
\raisebox{\schwaheight}{%
\turnbox{180}{e}}}%
}
\noindent \it
e\x e --- all Times italic\\
e\textipa{@}e --- Times italic with slanted Computer Modern schwa\\
\textipa{e@e} --- all Computer Modern slanted\\
\underline{e \footnotesize\x\ \normalsize\x\ \Large\x}\ \normalsize --- various sizes
\newlength{\rwidth}
\newlength{\rheight}
\newcommand{\turnedr}{%
\settowidth{\rwidth}{\it r}%
\settoheight{\rheight}{\it r}%
\makebox[\rwidth][r]{%
\raisebox{\rheight}{%
\turnbox{180}{r}}}%
}
\ \\
$\turnedr + l \stackrel{_?}{=} \turnedr\kern-.265eml$
\end{document}
答案1
使用“预组合”字符总是比尝试拼凑某些字符要好。这可能涉及一些字体工具的工作,而此列表中的其他工具比我更能解决这个问题。
不过,许多为语言环境而创建的字体都可以从西尔国际公司,我建议在尝试“自己动手”之前先去那里看看。
更新:进一步的问题是,“使用 Charis SIL 访问 IPA 字符“egreg 回答说,只要文件编码为 utf-8 并\usepackage{fontspec}
指定,就可以直接使用 ipa 字符。该问题、答案和评论提供了其他有用信息,并且 op 报告说现在一切都运行正常。