如何在 \usepackage[spanish]{babel} 中使用不间断空格 (~)?

如何在 \usepackage[spanish]{babel} 中使用不间断空格 (~)?

我刚刚意识到当我 \usepackage[spanish]{babel}不能再将其用作或~之前的不间断空格时。nN

梅威瑟:

\documentclass{article}
\usepackage[spanish,notilde]{babel}
\begin{document}
h~n h~l
\end{document}

结果是

在此处输入图片描述

这显然不是我想要的。

我如何才能在拥有带有该选项的软件包~的同时获得其原始功能?babelspanish


编辑:

嗯...日志文件显示我正在使用Babel <v3.8h>,据我所知这是最新版本。此外,当我尝试使用 [spanish,es-notilde] 选项时,我收到错误

!包 babel 错误:未找到语言定义文件 es-noshorthands.ldf。

或使用 [spanish,es-notilde]:

!软件包 babel 错误:未找到语言定义文件 es-notilde.ltd。

查看后spanish.ltd我发现了以下版本:

[2005/03/31 v4.2b Babel 系统支持西班牙语]

但我不知道它是否是最新的。

由于日志文件不是太大,我在这里引用它:

Running `LaTeX' on `tildeTest' with ``pdflatex  -interaction=nonstopmode "\input" tildeTest.tex''
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, nohyphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ngerman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish, french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibycus, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, portuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish, turkish, ukenglish, ukrainian, loaded.
(./tildeTest.tex (/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo))
(/usr/share/texmf/tex/generic/babel/babel.sty
(/usr/share/texmf/tex/generic/babel/spanish.ldf
(/usr/share/texmf/tex/generic/babel/babel.def))

! Package babel Error: Language definition file es-notilde.ldf not found.

See the babel package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.141 \ProcessOptions*

) (./tildeTest.aux) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
(./tildeTest.aux) )
(see the transcript file for additional information)</usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb>
Output written on tildeTest.pdf (1 page, 4802 bytes).
Transcript written on tildeTest.log.

答案1

Babel 的文档说这是一种过时的行为:当前版本~默认不会重新定义。升级系统可能会有所帮助。

如果您无法升级系统,请尝试使用 选项es-notildebabel这可能会恢复 的“旧”行为~。我说“可能”是因为我不知道您的版本有多旧 :(

更新 的当前版本spanish.ldf2009/01/02 v5.0h。手册说从 v5 开始默认停止重新定义波浪线。

答案2

\usepackage[spanish,es-notilde]{babel}

通过texdoc spanish(在 TeX Live 发行版上),您可以访问完整的文档。

正如 Gonzalo 指出的那样,这是最近发行版中的默认设置。

相关内容