我用希腊语书写(之前已加载所有必要的软件包和自己的命令 - babel 等)。为了更改语言并用英语写一个单词,我输入后\gre
字母会以英文字符显示(这是正确的!)。问题是,每当我想回来再次输入希腊语时,我都会使用该命令\eng
并排版所需的单词……但它的第一个字母是英文!我自己的命令是:
\newcommand{\eng}[1]{\latintext#1\greektext} % Change language
\newcommand{\gre}[1]{\greektext\latintext#1} % Change language
答案1
你的定义是错误的。此外,having\latintext
并不能保证英语单词的连字正确。这里有一个更好的方法(希腊语句子是从谷歌翻译中获得的,我不知道它是否是好的希腊语)。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english,greek]{babel}
\begin{document}
Αυτό το κείμενο είναι στα Ελληνικά \foreignlanguage{english}{not English}
\begin{otherlanguage*}{english}
This is a longer text in English, so
we use an environment for it.
\end{otherlanguage*}
Αυτό το κείμενο είναι στα Ελληνικά
\end{document}
当然,你可能更喜欢定义一个个人命令,例如
\newcommand{\eng}[1]{\foreignlanguage{english}{#1}}
这样 你 就 可以 简单 输入\eng{English word}
文档 而 不需要 复杂 的 操作\foreignlanguage{english}{English word}
.