跳到正文

Scissor LaTeX 中的 babel 和 polyglossia

babel 和 polyglossia 宏包在 Scissor LaTeX 中部分可用:两者加载时都不会出错,任何语言和文字系统的 UTF-8 文本都能排版,但语言设置不会生效:断词规则仍是英语的,“Figure”和“References”等名称仍是英语,\today 不输出任何内容,"a 这样的简写也不会被读取。

宏包的作用

babel(用于 pdfLaTeX)和 polyglossia(用于 XeLaTeX 和 LuaLaTeX)让文档适应某种语言。它们会加载断词规则,翻译固定名称(德语中用“Abbildung”代替“Figure”),按当地习惯格式化 \today,还会增加简写,例如德语中表示 ä 的 "a,或法语引号 \og ... \fg。用 \selectlanguage{...} 切换语言,或用 \foreignlanguage{...}{...} 只切换几个词。

这里可用的功能

功能在 Scissor LaTeX 中说明
\usepackage[ngerman]{babel}, \usepackage{polyglossia}可用会被接受,不显示提示。
以 UTF-8 输入的该语言文本可用所有文字系统,参见其他语言和字体。
断词忽略所有语言都使用英语规则。
名称:“Figure”、“Table”、“Contents”、“References”、“Proof”忽略始终是英语。
\today忽略不输出任何内容。
\selectlanguage{...}, \setdefaultlanguage{...}, \setotherlanguage{...}忽略会被接受,但不起作用。
\foreignlanguage{lang}{text}可用文本保留。
\begin{otherlanguage}{lang}部分可用文本保留,但语言名会输出在文本前面。
\textenglish{...}, \textgerman{...}(polyglossia)部分可用文本保留;命令被报告为无法识别。
简写:"a、"s(ngerman)不支持输出为一个引号加上字母。请直接输入 ä 和 ß。
\og ... \fg(french)不支持会被跳过并显示提示;引号会缺失。

示例

使用 ngerman 时,正文是德语,但标题中的名称仍是英语:

babel ngerman:名称仍是英语

\documentclass{article}
\usepackage[ngerman]{babel}
\begin{document}
\section{Einleitung}
Erika Mustermann hat 44 Proben gewogen; die Ergebnisse stehen
in Tabelle~\ref{tab:proben}.
\begin{table}[h]
  \centering
  \caption{Gewicht der Proben}
  \label{tab:proben}
  \begin{tabular}{lr}
    Probe & Gewicht \\
    A & 12\,g \\
    B & 15\,g \\
  \end{tabular}
\end{table}
\end{document}
由 Scissor LaTeX 排版: babel ngerman:名称仍是英语

直接输入特殊字母,而不要使用 babel 的简写,日期也请自己写出:

直接输入的变音字母和写出的日期

\documentclass{article}
\usepackage[ngerman]{babel}
\begin{document}
Berlin, 4.~November 2026

Grüße an Hans Mustermann: Die Maße der Straße sind korrekt.
Auf Französisch: \foreignlanguage{french}{«~À bientôt~»}.
\end{document}
由 Scissor LaTeX 排版: 直接输入的变音字母和写出的日期

otherlanguage 环境会保留文本,但也会输出语言名。请使用 \foreignlanguage,或者干脆不切换语言:

otherlanguage 会输出语言名

LaTeX导言区: \usepackage{babel}在编辑器中打开 (在新标签页中打开)
\begin{otherlanguage}{english}
Good morning, John Doe.
\end{otherlanguage}

兼容性

  • 从 TeX 发行版迁移到这里: 每种语言的文本都会保留。"a 和 \og 等简写需要换成直接输入的字符,名称和日期要么是英语,要么缺失。
  • 从这里迁移到 TeX 发行版: 文档可以在那里编译,babel 或 polyglossia 届时会翻译名称并正确断词。如果希望在那里使用当地的日期格式,请把手写的日期换成 \today。

完整手册见 CTAN:babel 和 polyglossia。另请参阅其他语言和字体和字体和编码。

常见问题

为什么我的德语文档显示“Figure”而不是“Abbildung”?

Scissor LaTeX 目前还不会应用 babel 的本地化名称。标题文字本身是你写的,仍然是德语;只有编号前面的那个词是英语。

为什么 \today 不输出任何内容?

\today 的日期不会被填入。请把日期写成文本。

能用 babel 或 polyglossia 写阿拉伯文或希伯来文吗?

即使不用这两个宏包,UTF-8 文本也能排版。单词会按从右到左的方向成形,但段落仍是从左到右;参见其他语言和字体。

本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07