原  文:International language support
译  者:Xovee
翻译时间:2021年3月30日

LaTeX\LaTeXLATE​X 有许多包可以支持世界上各种语言的输入。本文介绍如何使用这些包。

文章目录

  • 介绍
  • 输入编码
  • 字体编码
  • `Babel`
  • 在单个文档中使用多种语言
  • 从右到左
    • 阿拉伯语
  • 支持语言的例子
  • 参考指南
    • 重音符号和特殊字符
  • 延伸阅读

介绍

如果你不是英语母语使用者,LaTeX 可以被设置为其他语言。下面是一个使用西班牙语的例子:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}\begin{document}\tableofcontents\vspace{2cm} %Add a 2cm space\begin{abstract}
Este es un breve resumen del contenido del
documento escrito en español.
\end{abstract}\section{Sección Introductoria}
Esta es la primera sección, podemos agregar
algunos elementos adicionales y todo será
escrito correctamente. Más aún, si una palabra
es demaciado larga y tiene que ser truncada,
babel tratará de truncarla correctamente
dependiendo del idioma.\section{Sección con teoremas}
Esta sección es para ver que pasa con los comandos
que definen texto\end{document}


babel可以让你输入特殊字符,它还可以更改文档中元素的语言。例如在上面的例子中,abstractContent变为了西班牙语中的resumenÍndice

在 Overleaf 中打开这个例子

输入编码

现代的计算机系统可以使用户直接从键盘中输入各种字母。为了支持不同种类编码的语言或者支持不同的计算机系统,LaTeX 使用了inputenc包来设置输入编码。在文档的preamble中引入这个包:

\usepackage[utf8]{inputenc}

我们推荐你使用utf8输入编码,它支持许多字符。如果你想使用其他类型的输入编码,更改方括号中的参数。

操作系统 西方拉丁字母编码 中欧拉丁字母编码 西里尔字母编码
Windows cp1252 cp1250 cp1251
GNU/Linux&Unix-like (*BSD, Mac OS X) latin1 latin2 koi8-ru
推荐 utf8 utf8 utf8

注意:如果你不能直接从键盘中输入某些字母,你可以使用 LaTeX 中一些替代命令来输入它们(例如音调和特殊字符等)。详细的命令请见文末。

在 Overleaf 中打开这个例子

字体编码

为了生成正确的 LaTeX 文档,你必须使用fontenc包来指定所需要的字体编码。

\usepackage[encoding]{fontenc}

默认的 LaTeX 字体编码是OT1,但是它只支持128个字符。T1编码支持更多的标点符号(大多数用于西方的拉丁系的语言之中)。使用西里尔字母的语言可以使用T2AT2BT2CX2等字体编码。

在 Overleaf 中打开这个例子

Babel

Babel包支持许多特殊字符,并且可以对文档中的某些元素进行翻译。它可以自动地激活你所使用的语言的连字符规则。

你可以在 preamble 中引入这个包:

\usepackage[language]{babel}

将方括号中的参数替换为你想使用的语言。你可以在babel包的文档中(第1.26节)查看它所支持的语言。

在单个文档中使用多种语言

babel包可以设置多个语言:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage[T1, T2A]{fontenc}\begin{document}\begin{abstract}
Это вводный абзац в начале документа.
\end{abstract}Этот текст будет на русском языке. Это демонстрация того, что символы кириллицыв сгенерированном документе (Compile to PDF) отображаются правильно.Для этого Вы должны установить нужный  язык (russian)
и необходимую кодировку шрифта (T2A).\selectlanguage{english}
This text will be in English. The elements within this
block of text will also be set in the right language.\begin{abstract}
A brief description of the main subject to be
explained in the entire document.
\end{abstract}\selectlanguage{russian}Кириллические символы также могут быть использованы в математическом режиме.\begin{equation}S_\textup{ис} = S_{123}
\end{equation}\end{document}


在这个例子中,我们给babel包和fontenc包输入了两个参数。

在这种情况下,参数中的最后一个语言将被激活(例如俄语),你可以在文档中的任何位置使用\selectlanguage{english}命令切换激活的语言。

在 Overleaf 中打开这个例子

从右到左

阿拉伯语

arabic包提供了从右到左的输入方式。你还可以使用arabtex包来提供更强大的阿拉伯语或者希伯来语的输入支持。如果你想在阿拉伯文字之间输入拉丁字母,使用\textLR{Latin text}命令。如下所示:

\documentclass[11pt,a4paper]{report}
\usepackage{arabtex}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE]{fontenc}
\usepackage[arabic]{babel}
\title{
\Huge\textsc{اللغة العربية}
}
\author{سالم البوزيدي}
\begin{document}
\maketitle
\tableofcontents
\chapter{علوم الحاسوب}
\section{تاريخ}
\begin{otherlanguage}{arabic}
يعود تاريخ علوم الحاسوب إلى اختراع أول حاسوب رقمي حديث. فقبل العشرينات من القرن العشرين، كان مصطلح حاسوب \textLR{Computer} يشير إلى أي أداة بشرية تقوم بعملية الحسابات. ما هي القضايا أو الأشياء التي يمكن لآلة أن تحسبها باتباع قائمة من التعليمات مع ورقة وقلم، دون تحديد للزمن اللازم ودون أي مهارات أو بصيرة (ذكاء)؟ وكان أحد دوافع هذه الدراسات هو تطوير آلات حاسبة \textLR{computing machines} يمكنها إتمام الأعمال الروتينية والعرضة للخطأ البشري عند إجراء حسابات بشرية.
خلال الأربعينات، مع تطوير آلات حاسبة أكثر قوة وقدرة حسابية، تتطور مصطلح حاسوب ليشير إلى الآلات بدلا من الأشخاص الذين يقومون بالحسابات. وأصبح من الواضح أن الحواسيب يمكنها أن تقوم بأكثر من مجرد عمليات حسابية وبالتالي انتقلوا لدراسة تحسيب أو التحسيب بشكل عام. بدأت المعلوماتية وعلوم الحاسب تأخذ استقلالها كفرع أكاديمي مستقل في الستينات، مع إيجاد أوائل أقسام علوم الحاسب في الجامعات وبدأت الجامعات تعطي إجازات في هذه العلوم [1].
\end{otherlanguage}
\begin{thebibliography}{99}[1]من ويكيبيديا، الموسوعة الحرة
\end{thebibliography}
\end{document}


在 Overleaf 中打开这个例子

支持语言的例子

  • 阿拉伯语
  • 中文
  • 法语
  • 德语
  • 希腊语
  • 意大利语
  • 日语
  • 韩语
  • 葡萄牙语
  • 俄语
  • 西班牙语

参考指南

重音符号和特殊字符

如果你不能直接从键盘上输入某些重音符号或者特殊字符,你可以使用下面的 LaTeX 命令。

LaTeX命令 效果
\`{o} ò
\’{o} ó
\^{o} ô
\"{o} ö
\H{o} ő
\~{o} õ
\c{c} ç
\k{a} ą
\={o} ō
\b{o} o
\.{o} ȯ
\d{u}
\r{a} å
\u{o} ŏ
\v{s} š
\t{oo} o͡o
LaTeX 命令 效果
\aa å
\AA Å
\ae æ
\AE Æ
\l ł
\L Ł
\o ø
\O Ø
\i ı
\j
!` ¡
?` ¿

延伸阅读

更多信息请见:

  • 使用XeLaTeX来支持现代字体
  • 输入引用和引用标号
  • 一个并不简短的LaTeX 2e介绍
  • WikiBooks: LaTeX/Internationalization
  • WikiBooks: LaTeX/特殊符号

LaTeX 多语言支持相关推荐

  1. Silverlight 2中多语言支持实现(上)

    引言 最近项目要在Silverlight 2应用程序中实现本地化,原以为这个过程非常简单,却没想到实现的时候一波三折,好在结果还算不错.需求是这样的,用户第一次访问的时候,默认为英文,当用户选择一种显 ...

  2. 您对TOP Server的德语、中文和日语语言支持了解吗?(二)

    2019独角兽企业重金招聘Python工程师标准>>> 下载TOP Server OPC Server最新版本 TOP Server文档支持 除了特定于驱动程序的属性/设置之外,还包 ...

  3. WPF使用X:Static做多语言支持

    原文:WPF使用X:Static做多语言支持 让程序支持多语言,一般把需要显示的字符串保存在一个资源类的static属性中. <!--[if !supportLists]--> <! ...

  4. c语言中 允许函数重载么,简述C++语言支持函数重载问题介绍

    对于C++语言作为一种欲与C兼容的语言,C++语言保留了一部分过程式语言和特点,foo_int_int这样的名字包含了函数名.函数参数数量及类型信息,C++语言就是靠这种机制来实现函数重载的. 因而它 ...

  5. WP7多国语言支持 from:http://blog.csdn.net/lee353086/article/details/6260676

    WP7多国语言支持 Kagula 2011/3/17 前言 本文阅读对象是有一定Visual Studio 2010使用经验的程序员. 这里通过一些示例介绍如何让你的Windows Phone7 Wi ...

  6. iOS-生成国际化包-配置App多语言支持

    如果你的App需要支持多国语言.那么,就应该为你的App应用添加"国际化"支持. "国际化"乍看很高深.其实,苹果xCode都为我们设置好了,我们只需要简单的配 ...

  7. WEB页面多语言支持解决方案(转自CSDN)

    首先建立语言档,在项目中加入.resx文件   例如:   message.zh-cn.resx  '简体中文   message.zh-tw.resx  '繁体中文   message.en     ...

  8. java动态语言_java动态类型语言支持(三)

    invokedynamic指令 在前面java动态类型语言支持(一)(二)中我们有提到invokedynamic指令和java.lang.invoke包中的MethodHandle机制,在某种程度上他 ...

  9. Windows Phone 8本地化多语言支持

    原文:Windows Phone 8本地化多语言支持 在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是 ...

  10. [UWP]针对UWP程序多语言支持的总结,含RTL

    原文:[UWP]针对UWP程序多语言支持的总结,含RTL UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化. 所谓本地化,表现最 ...

最新文章

  1. 学习Mybatis与mysql数据库的示例笔记
  2. Tungsten Fabric SDN — 社区贡献
  3. win10删除开机密码_新版WIN10 如何取消开机密码的操作
  4. vc6.0垃圾文件清理工具_MacClean360 for Mac(mac系统清理软件)
  5. 【第7章】 使用函数和模块来重用你的代码
  6. 学习笔记01:1.1 基于概率的信任
  7. Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象
  8. 容器中用uwsgi协议部署注意的问题以及用flask部署
  9. 零信任技术进阶篇(关键技术及挑战、BeyondCorp安全模型)
  10. 更新Windows ActiveX,Ios
  11. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下降3.29%
  12. Android XML解析器– XMLPullParser
  13. 使用SVM分类器进行图像多分类
  14. python矩阵标准化_python – 有效地行标准化矩阵
  15. java.lang.IllegalArgumentException: The number of object passed must be even but was [1]
  16. Java高并发系列---第1天(概念)
  17. 100%BIM学员的疑惑:不会CAD可以学Revit吗?
  18. Android 获取指南针数据
  19. eclipse安装angularjs
  20. 苹果x屏幕出现一条绿线_iPhone X 屏幕维修怎么防止被坑?各种屏幕的介绍

热门文章

  1. 服务器temp文件夹文件都能清理吗,Temp文件夹是什么?Windows中Temp文件夹下内容可以随意删除吗?...
  2. 二分查找边界问题总结
  3. Python Miller Rabin 米勒-拉宾素性检验
  4. 家庭财务管理系统的设计与实现(Java毕业设计-Springboot)
  5. 100 句世界哲学语录【句句珠玑细细品味】
  6. 信息搜集方法小结(持续更新)
  7. “双评价”——ArcGIS水资源评价
  8. ARM7开发软件安装步骤
  9. 从零开始学凸优化理论与KKT条件
  10. 基于Android的个人时间管理设计与开发