如何将icomma与其他语言结合起来?

如何将icomma与其他语言结合起来?

如何享受的otherlanguage同时仍保持行为icomma

此代码:

\documentclass{standalone}
\usepackage{icomma}
\usepackage[english,french]{babel}

\begin{document}
$0,123$

\begin{otherlanguage}{english}
\end{otherlanguage}

$0,123$
\end{document}

生成:

平均能量损失

(我真的很讨厌我现在的生活。)

答案1

您可以限制活动角色因环境而发生的变化 otherlanguage ,将其包含在以下范围内{}

\documentclass{standalone}
\usepackage{icomma}
\usepackage[english,french]{babel}
\begin{document}
$0,123$
{\begin{otherlanguage}{english}
 It's a Wonderful Life
\end{otherlanguage}}
$0,123$
\end{document}

如果你经常使用这个环境,你可以使用宏来简化你的生活:

\documentclass{standalone}
\usepackage[english,french]{babel}
\newcommand\Eng[1]{{\begin{otherlanguage}{english}#1\end{otherlanguage}}}
\usepackage{icomma}
\begin{document}
$0,123$
\Eng{It's a Wonderful Life}
$0,123$
\end{document}

答案2

更改语言后的“重置”代码会故意更改设置。要撤消该设置,我们可以使用\extrasfrench

\documentclass{standalone}
\usepackage{icomma}
\usepackage[english,french]{babel}
\addto\extrasfrench{\mathcode`\,="8000 }
\addto\noextrasfrench{\mathcode`\,="8000 }
\begin{document}

$0,123$
\begin{otherlanguage}{english}
\end{otherlanguage}
$0,123$
\end{document}

(该软件包icomma通过使‘数学活跃’起作用,,因此我们需要保持其处于打开状态。)

更新

随着版本 v3.2f(2017/01/15)的发布babel-french,该问题似乎已得到解决。

\documentclass{article}
\usepackage[english,french]{babel}
\usepackage{icomma}

\begin{document}

$0,123$

\begin{otherlanguage}{english}
$0,123$
\end{otherlanguage}

$0,123$

\end{document}

在此处输入图片描述

相关内容