![为什么 xelatex 在 tikz 图形中呈现的箭头与 lualatex 不同?](https://linux22.com/image/400763/%E4%B8%BA%E4%BB%80%E4%B9%88%20xelatex%20%E5%9C%A8%20tikz%20%E5%9B%BE%E5%BD%A2%E4%B8%AD%E5%91%88%E7%8E%B0%E7%9A%84%E7%AE%AD%E5%A4%B4%E4%B8%8E%20lualatex%20%E4%B8%8D%E5%90%8C%EF%BC%9F.png)
我的文档可以用以下代码生成:
\documentclass{beamer} % only frames
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,positioning,matrix,fit,tikzmark}
\begin{document}
\begin{frame}
\frametitle{Example}
\begin{tabular}{ccccc}
\tikzmarknode{col1}{\begin{tabular}{|c|}\hline
\subnode{elem1}{2}\\\hline
3\\\hline
7\\\hline
6\\\hline
1\\\hline
5\\\hline
4\\\hline
\end{tabular}}&
\tikzmarknode{col2}{\begin{tabular}{|c|}\hline
\subnode{elem2}{4}\\\hline
2\\\hline
1\\\hline
3\\\hline
6\\\hline
7\\\hline
5\\\hline
\end{tabular}}&
\tikzmarknode{col3}{\begin{tabular}{|c|c|c|c|}\hline
1&0&1&0\\\hline
1&0&0&1\\\hline
0&1&0&1\\\hline
0&1&0&1\\\hline
0&1&0&1\\\hline
1&0&1&0\\\hline
1&0&1&0\\\hline
\end{tabular}}&
\tikzmarknode{sigMat}{\begin{tabular}{|c|c|c|c|}\hline
\subnode{elem3}{2}&1&2&1\\\hline
2&1&4&1\\\hline
1&2&1&2\\\hline
\end{tabular}}
\end{tabular}
\begin{tikzpicture}[remember picture,overlay]
\node[fit=(col1)(col2)(col3)](cols){};
\node[above=.01cm of cols,font=\tiny] {Text Above columns};
\node[above=.01cm of col1,font=\tiny] {Above 1st matrix};
\node[above=.1cm of sigMat,font=\tiny]{Above 2nd matrix};
%
\node[above=1cm of cols.north east] (txt1) {Arrows go from here to\dots};
%
\path[draw,->] (txt1.south west) -- node[sloped,font=\tiny,above] {goes to 1st elem} (elem1);
\path[draw,->] (txt1.south) -- node[sloped,font=\tiny,above] {goes to 2nd elem} (elem2);
\path[draw,->] (txt1.south east) -- node[sloped,font=\tiny,above] {goes to 3rd elem} (elem3);
\end{tikzpicture}
\end{frame}
\end{document}
使用 lualatex,此代码(使用 lualatex example.tex 编译两次)生成以下幻灯片:
在这个小例子中,差异很小。但是对于更复杂的代码,xelatex 产生了一个非常奇怪的数字。pdflatex 输出与 lualatex 相同。
为什么lualatex和xelatex渲染有这么大的差别?
答案1
根据对原始问题的评论和 github.com/pgf-tikz/pgf/issues/353,xelatex 中有一个错误。