![多语症之间的区别“\text{...}” 和 “\begin{} ... \结尾{}”](https://linux22.com/image/308033/%E5%A4%9A%E8%AF%AD%E7%97%87%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB%E2%80%9C%5Ctext%7B...%7D%E2%80%9D%20%E5%92%8C%20%E2%80%9C%5Cbegin%7B%7D%20...%20%5C%E7%BB%93%E5%B0%BE%7B%7D%E2%80%9D.png)
除了语法之外,当使用\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
不会产生这样的注释。