除了语法之外,当使用\text<lang>{...}
vs\begin{<lang>} ... \end{<lang>}
选择另一种语言时,是否还有其他区别和用例,即插入用另一种语言编写的文本片段?
该文档仅规定了有利于环境语法的较长的文本。
PS. 我原来的理解是环境语法在插入文本之前开始一个新行,但是快速测试证明我错了。
答案1
它们不一样。\text<language>{text}
你正在做的\foreignlanguage{<language>}{text}
,而\begin{<language>}
与相同\begin{otherlanguage}{<language>}
环境形式也会更改标签,而命令形式则不会,如下例所示;两种形式都会更改日期。
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{italian}
\begin{document}
Nothing: \chaptername\ \today
\texttt{\string\textitalian}: \textitalian{\chaptername\ \today}
Environment:
\begin{italian}
\chaptername\ \today
\end{italian}
\end{document}
在.aux
文件中你会发现
\select@language {english}
\select@language {italian}
\select@language {english}
(除其他事项外);第一个写在开头,第二个是 导致的\begin{italian}
,第三个是\end{italian}
。使用\textitalian
不会产生这样的注释。