我正在使用 LaTeX 生成包含英语和希腊语字符的文本,借助该babel
软件包。到目前为止,在声明使用另一种语言时,我的方法是使用缩短的自定义命令(例如\gr{}
)。虽然有效,但这变得相当麻烦,我希望能够在两种语言之间切换,而不必每次都声明这一点。有没有一个相对较短的解决方案来解决这个问题?
答案1
使用 XeTeX 和 unicode,你可以直接在 LaTeX 文档中输入外来文字。请参阅为什么我的建筑无法产生某些希腊符号?
在该示例中,我使用了\textgreek
命令,但是,这只需要允许自动字体切换。
如果您选择这条路,您将需要切换到polyglossia
,而不是babel
。
答案2
请尝试以下操作:
\documentclass[]{article}
\usepackage{blindtext}
\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
\usepackage{alphabeta}
\begin{document}
This is a text in English. Αυτό είναι ένα κείμενο στα Eλληνικά
\end{document}
其结果将是:
This is a text in English. Αυτό είναι ένα κείμενο στα Ελληνικά
答案3
有auto-greek
一个软件包可以实现这一点。我几年前测试过,但我没有用过它;在协作中使用无法自动安装的软件包很困难。您可以查看并下载它这里
答案4
更新 2024。正如评论中指出的那样(这里),xelatex
您可以使用ucharclasses
(babel
和polyglossia
)。lualatex
您还可以通过以下方式切换字体(我选择了对比字体):
\documentclass{article}
\usepackage[english]{babel}
\babelprovide[onchar=ids fonts]{greek}
\babelfont[greek]{rm}{FreeSans}
\begin{document}
Some text in English Ελληνικά. And more.
\end{document}