我怎样才能将西班牙语“lim”写成“lím”?

我怎样才能将西班牙语“lim”写成“lím”?

考虑:

\documentclass{article}
\begin{document}

$\displaystyle\lim_{n\to\infty}$

\end{document}

当 n 趋于无穷大时,这将创建典型的极限符号。但是,当我尝试输入“lím”(西班牙语中的写法)时,此代码不再起作用。

\documentclass{article}
\begin{document}

$\displaystyle\lím_{n\to\infty}$

\end{document}

我收到错误消息! Please use \mathaccent for accents in math mode.。尽管尝试使用该命令,但它无法解决问题。

\documentclass{article}
\begin{document}

$\displaystyle\l\mathaccent{í}m_{n\to\infty}$

\end{document}
\documentclass{article}
\begin{document}

$\displaystyle\l\mathaccent{i}m_{n\to\infty}$

\end{document}

正确的做法是什么?

答案1

您可以加载babel使用西班牙语选项。它将\lim和其他数学运算符更改为西班牙语版本。

\documentclass{article}
\usepackage[spanish]{babel}
\begin{document}

$\displaystyle\lim_{n\to\infty}$

\end{document}

答案2

如果由于某种原因,你无法加载巴别塔使用该选项的包spanish,您可以\lim按如下方式重新声明宏。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath} % for \DeclareMathOperator* macro
\let\lim\relax % release ("undefine") "\lim" as a macro name
\DeclareMathOperator*{\lim}{l\acute\i m}

\begin{document}
$\displaystyle\lim_{n\to\infty}$
\end{document}

有关在数学和文本模式下创建重音字符的更多信息,请参见这个答案查询尝试\~在数学模式下生成波浪符号.(无耻的自我引用警告!)

答案3

没有什么“神奇规则”能让你输入\lim标准符号并\lím获得重音。

该命令\lim有自己的定义,最终会以直立中等字体生成“lim”,并根据当前的数学样式适当定位下标。如果您输入,\lím则会得到与

\l ím

因为í不能(在 中pdflatex)成为控制序列名称的一部分(好吧,这不是全部事实,但对于这种情况来说已经足够了)。您收到的错误是因为 TeX 不喜欢\l(在文本中获取 ł 的命令)在数学模式下。如果您有

\usepackage[T1]{fontenc}

你需要的是重新定义 \lim来获得口音。但是,如果你用西班牙语写作,你应该这样做

\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}

就会出现可怕的口音。

为什么是“可怕的”?因为“lim”不是西班牙语的缩写,但在数学中源于拉丁语青柠. 其他符号也类似。

您会用“Hi”而不是“Fe”来表示化学中的铁元素吗?完全一样。科学界接受的符号与语言无关。

也就是说,您可以轻松地在两种可能性之间切换。

\documentclass{article}
\usepackage[T1]{fontenc} % necessary for Spanish
\usepackage[spanish]{babel}

\usepackage{amsmath} % necessary for math

%\unaccentedoperators

\begin{document}

$\lim$\par
$\limsup$\par
$\liminf$\par
$\max$\par
$\min$\par
$a\equiv b\pmod{n}$

\end{document}

在此处输入图片描述

如果你取消注释该\unaccentedoperators行,你会得到

在此处输入图片描述

Unicode 引擎

当然,如果您使用 XeLaTeX 或 LuaLaTeX,则应该使用fontspec并删除。\usepackage[T1]{fontenc}

为 8 位和 Unicode 引擎“工作”的序言是没有意义的,因为除了非常简单的文档之外,基本上不可能有一份文档在两种情况下都保持不变。

好吧,你可以考虑做类似的事情

\documentclass{article}
\usepackage{iftex}

\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
\fi

% other packages

%%% settings
\iftutex
  % settings for XeLaTeX or LuaLaTeX
\else
  % settings for pdflatex
\fi

\ifluatex
  % settings for LuaLaTeX
\fi

\ifxetex
  % settings for XeTeX
\fi

例如,XeLaTeX 的字体加载可能与 LuaLaTeX 不同(每个引擎都有特定的键)。但是,我的经验是,在大多数情况下这是无望的。

更重要的是看你是否可以做些什么来polyglossia代替babel

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{amsmath} % necessary for math

\setmainlanguage[spanishoperators]{spanish}

\begin{document}

$\lim$\par
$\limsup$\par
$\liminf$\par
$\max$\par
$\min$\par
$a\equiv b\pmod{n}$

\end{document}

以下是文档的摘录,用于查看spanishoperator可以接收哪些值。

在此处输入图片描述

相关内容