提问于:
浏览数:
1638
## 编译环境
操作系统
* [x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [x] TexLive 2020
* [ ] MikTeX `版本号`
* [ ] CTeX
`若需勾选,请把[ ]改成[x]`
## 我的问题
之前在tl2017下使用旧版本的tabu没有任何问题,但是代码换到tl2020下之后则会报错。以下是不报错的源代码:
\begin{table}
\centering
\begin{tabu} to 0.8\linewidth {X[c]X[c]X[c]X[c]X[c]}
\hline
$P_1$ & & KGC & & $P_2$ \\ \hline
$ID$ & & $params,s$ & & $ID$ \\ \hline
\multicolumn2{c}{
\tikz \draw[->] (0pt,0pt) -- (8em,0pt) node[midway,above] {$ID$};}\\
\multicolumn5{c}{
\begin{minipage}{2.8in}
\begin{center}
随机选择$d_1\xleftarrow{r}\mathbb{Z}_q$
设置$d_2=t_2 \cdot (d_1)^{-1}$
$D_{ID}^{(1)}=d_1P_1$, $D_{ID}^{(2)}=d_2$
\end{center}
\end{minipage}
}\\
\multicolumn2{c}{\tikz \draw[<-] (0pt,0pt) -- (8em,0pt) node[midway,above] {$D_{ID}^{(1)}$,$pk$,$sk$};} &
\multicolumn1{c}{}&
\multicolumn2{c}{
\tikz \draw[->] (0pt,0pt) -- (8em,0pt) node[midway,above] {$ID$,$D_{ID}^{(2)}$,$pk$};
}\\
Store $(ID,D_{ID}^{(1)},pk,sk)$ & & & & Store $(ID,D_{ID}^{(2)},pk)$\\
\hline
\end{tabu}
\caption{分布式密钥生成}
\end{table}
另外看到有人说更新tabu到2.10也可以解决这个问题,现在tl2020里面tabu的版本是2.19, 只能手动更新,还不知道如何去手动更新tabu.
1 回答
1
- 首先请修改下你的例子,完整的例子应该是从`\documentclass{...}`开始,到`\end{document}`结束,能直接编译,以及复现错误的最小示例。
- 最好给出需要的效果图
tabu现在处于无人维护的状态,`tikz`的`matrix`库,以及`nicematrix`宏包都是不错的选择,用`nicematrix`给你做了个类似的.
```tex
\documentclass{ctexart}
\usepackage{tikz}
\usepackage{nicematrix}
\usepackage{amsmath, amsfonts}
\begin{document}
\begin{table}
\[
\begin{NiceArray}{CCCCC}[columns-width=1.9cm]
\hline
\Block{1-2}{P_1} & & KGC & \Block{1-2}{P_2} &\\
\hline
\Block{1-2}{ID} & & params,s & \Block{1-2}{ID} &\\
\hline
\\
\Block{1-5}{\text{随机选择} d_1 \xleftarrow{r} \mathbb{Z}_q} \\
\Block{1-5}{\text{设置}d_2=t_2 \cdot (d_1)^{-1}} \\
\Block{1-5}{D_{ID}^{(1)}=d_1 P_1, D_{ID}^{(2)}=d_2} \\
\\
\Block{1-2}{\text{Store}} & & & \Block{1-2}{\text{Store}} \\
\Block{1-2}{(ID,D_{ID}^{(1)},pk,sk)} & & & \Block{1-2}{(ID,D_{ID}^{(2)},pk)} \\
\hline
\CodeAfter
\begin{tikzpicture}
\draw[->] (row-4) ++(2em, 0) -- ++(8em, 0pt) node[midway, above] {$ID$};
\draw[<-] (row-8) ++(2em, 0) -- ++(8em, 0pt) node[midway, above] {$D_{ID}^{(1)}, pk, sk$};
\draw[<-] (row-8 -| col-6) ++(-2em, 0) -- ++(-8em, 0pt) node[midway, above] {$ID, D_{ID}^{(2)},pk$};
\end{tikzpicture}
\end{NiceArray}
\]
\caption{分布式密钥生成}
\end{table}
\end{document}
```
![](https://wenda.latexstudio.net/data/attach/200615/KTUMehLt.png)
-
非常感谢! – 武汉-卡卡西 2020-06-16 00:02 回复
你的回答
请登录后回答
你的回答将会帮助更多人,请务必认真回答问题。