我想使用一些快捷方式来生成罗马尼亚语中的特殊字符。其中之一是使用命令\c
,但我还知道可以使用以下字符: '
。
例子\c si
或者'si
产生相同的单词。
我如何使用'
?
上面写着我使用了一个旧的接口来调用babel
。
答案1
babel
罗马尼亚语风格没有提供简写,但您可以轻松定义它们:
\documentclass{article}
\usepackage[romanian]{babel}
\usepackage{combelow}
\useshorthands{'}
\defineshorthand{'s}{\cb{s}}
\defineshorthand{'t}{\cb{t}}
\defineshorthand{'S}{\cb{S}}
\defineshorthand{'T}{\cb{T}}
\begin{document}
Bucure'sti 't 'T 'S
\end{document}
编辑。添加了一些字母,并在下方使用逗号combelow
。
答案2
使用简写的替代方法是使用 UTF-8 输入编码。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[romanian]{babel}
\usepackage{combelow}
\usepackage{newunicodechar}
\newunicodechar{Ș}{\cb{S}}
\newunicodechar{ș}{\cb{s}}
\newunicodechar{Ț}{\cb{T}}
\newunicodechar{ț}{\cb{t}}
\begin{document}
București ȘșȚț
\end{document}
无论如何,我担心连字符不会超出这些特殊字母(但速记也是一样的),因为所需的字形必须由不同的部分构成。
使用 XeLaTeX 或 LuaLaTeX,您可以确保输入和连字正确;罗马尼亚字体可用于 (pdf)LaTeX,但它们的使用并没有得到很好的支持。这是一种使用真实字形而不是合成字形的方法。
\documentclass{article}
\usepackage[QX,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[romanian]{babel}
\addto\extrasromanian{\fontencoding{QX}\selectfont}
\addto\noextrasromanian{\fontencoding{\encodingdefault}\selectfont}
\usepackage{newunicodechar}
\newunicodechar{Ș}{\c S} % qxenc provides the precomposed combination
\newunicodechar{ș}{\c s} % ditto
\newunicodechar{Ț}{\c T} % ditto
\newunicodechar{ț}{\c t} % ditto
\begin{document}
București ȘșȚț
\end{document}
Latin Modern 字体和 TeX Gyre 字体均支持 QX 编码(得益于罗伯特以供参考)。
使用 QX 编码字体时,如果 UTF-8 编码难以使用,也可以使用简写版本。
\documentclass{article}
\usepackage[QX,T1]{fontenc}
\usepackage{lmodern}
\usepackage[romanian]{babel}
\addto\extrasromanian{\fontencoding{QX}\selectfont}
\addto\noextrasromanian{\fontencoding{\encodingdefault}\selectfont}
\useshorthands{'}
\defineshorthand{'S}{\c S}
\defineshorthand{'s}{\c s}
\defineshorthand{'T}{\c T}
\defineshorthand{'t}{\c t}
\begin{document}
Bucure'sti 'S's'T't
\end{document}
但是,QX 编码字体并不是最终的解决方案,因为它们不包含罗马尼亚语必不可少的Ă
和字形。但它们包含、和。ă
Â
â
Î
î