什么原因导致siunitx和ot-tableau不兼容?

什么原因导致siunitx和ot-tableau不兼容?

ot-tableau是一个用于生成语言学中使用的最优理论表的包。这些表基本上是程式化的tabu环境。ot-tableau在约束(=列)之间提供虚线,以 标记。但是,如果在加载:时使用这些虚线,则会产生此错误:siunitx

Package array Error: Illegal pream-token (:): 'c' used. \begin{tableau}{c:c|c}

列分隔:符定义为

\newcolumntype{:}{|[dashed]}

ot-tableau.sty(第 147 行)中。尝试|[dashed]在列定义中使用会失败,将虚线发送到另一个列定义也会失败,例如\newcolumntype{B}{|[dashed]}(“border”)。

我无法在任何地方找到对这个问题的参考,也无法联系ot-tableau作者。

MNWE:

\documentclass{standalone}
\usepackage{siunitx}
\usepackage{ot-tableau}

\begin{document}
\begin{tableau}{c:c|c}
    \inp{\ips{stap}}    \const{*Complex}    \const{Anchor-IO}   \const{Contiguity-IO}
    \cand{stap}     \vio{*!}    \vio{}  \vio{}  
    \cand[\Optimal]{sap}    \vio{}  \vio{}  \vio{*} 
    \cand{tap}  \vio{}  \vio{*!}    \vio{} 
\end{tableau}
\end{document}

答案1

很可能是tabu它导致了问题。我已更新软件包以避免出现tabu,您的 MNWE 现在是 MWE。:-) 我已将更新提交给 CTAN,它也在GitHub现在。

相关内容