问题是捷克语 babel 将“-”变成了一个主动字符(不管它是什么意思)

问题是捷克语 babel 将“-”变成了一个主动字符(不管它是什么意思)

我用捷克语写报告,所以自然而然地,我使用捷克语 babel 包。问题是捷克语 babel 将“-”变成了活动字符。我发现使用这些库时会出现问题

我正在使用 StackExchange 答案中提供的解决方案:

\preto\tabular{\shorthandoff{-}}
\preto\siunitx{\shorthandoff{-}}

这使得“-“在所使用的软件包中,字符不活跃。我使用了很多库,要找出哪个库受到影响是件很费劲的事。

我的问题是,是否有办法告诉巴别图书馆-> 不要在外部环境中切换“-”字符的含义。我使用 utf 字体进行翻译路拉泰克斯。也许可以使用 Lua 语言来完成这项任务。但我真的不懂。这也有助于我解释发生了什么。我试图弄清楚,但我的想法仍然很模糊。

梅威瑟:

\documentclass[10pt]{scrbook}
\usepackage[main=czech]{babel}
\usepackage{booktabs}
\usepackage{siunitx}

\usepackage{etoolbox}
\preto\tabular{\shorthandoff{-}}
\preto\siunitx{\shorthandoff{-}}

\usepackage{unicode-math} 
\usepackage{polynom}

\begin{document}
  Number with siunitx \num{1e-9}

 \begin{equation*}
   \polylongdiv[style=C,div=:]{x^4+3x^3-3x^2+3x}{x^2+1}
 \end{equation*}

 \begin{tabular}{ccc}
   A & B & C \\
  \cmidrule{2-3}
  A & B & C \\
  \cline{1-2}
  A & B & C \\
\end{tabular}

\end{document}

答案1

如果您不使用-简写,只需将其关闭,无需单独修补每个命令。

\documentclass[10pt]{scrbook}
\usepackage[main=czech]{babel}
\usepackage{booktabs}
\usepackage{siunitx}



\usepackage{unicode-math} 
\usepackage{polynom}

\begin{document}
\shorthandoff{-}

  Number with siunitx \num{1e-9}
 \begin{equation*}
   \polylongdiv[style=C,div=:]{x^4+3x^3-3x^2+3x}{x^2+1}
 \end{equation*}

 \begin{tabular}{ccc}
   A & B & C \\
  \cmidrule{2-3}
  A & B & C \\
  \cline{1-2}
  A & B & C \\
\end{tabular}

\end{document}

相关内容