与 systeme 和 babel 不一致

与 systeme 和 babel 不一致

当我添加babel带有选项的包时czech,系统的对齐被破坏了。

\documentclass{article}
\usepackage{systeme}
\usepackage[czech]{babel}

\begin{document}
$$
\systeme{x+2y = 0, x-y = -1}
$$
\end{document}

结果是:

错误对齐

如果没有该选项或更改czechenglish,此示例将按预期工作(即变量对齐)。 有办法修复它吗?

答案1

czech语言模块使babel连字符成为-一种有效的简写,这意味着某些-break 或 的使用不能按预期工作。

-您可以暂时使用禁用这个特殊含义\shorthandoff,为保持此命令的局部效果,我们\begingroup...\endgroup在等式周围添加。

\documentclass{article}
\usepackage{systeme}
\usepackage[czech]{babel}

\begin{document}
\begingroup
\shorthandoff{-}
\[
  \systeme{x+2y = 0, x-y = -1}
\]
\endgroup
\end{document}

具有预期对齐的方程组。

由于\[...\]它有自己的分组,

\[
  \shorthandoff{-}
  \systeme{x+2y = 0, x-y = -1}
\]

也可以(感谢@egreg为了在评论中指出)。

另一种选择是不使用分组并明确打开速记

\shorthandoff{-}
\[
  \systeme{x+2y = 0, x-y = -1}
\]
\shorthandon{-}

\[...\]请注意,在 LaTeX 中$$...$$,请参阅为什么 \[ ... \] 比 $$ ... $$ 更可取?

相关内容