hf-tikz 和 xcolor 的問題

hf-tikz 和 xcolor 的問題

看來\rowscolors(of xcolor) 和\tikzmarkin(of hf-tikz) 不相容。這是一個說明問題的最小範例:

\documentclass[xcolor={table,dvipsnames}]{beamer}
\usepackage[customcolors,beamer]{hf-tikz}

\usetheme{Copenhagen}

\begin{document}

\begin{frame}{}

\begin{table}
\centering 
\rowcolors{2}{gray!20}{white}
\begin{tabular}{lccc}
A & B & C & D \\ 
00 & 100\% & 100\% & 0\% \\ 
\tikzmarkin<1>{a} 05  &  58 & 181  & 50 \tikzmarkend{a} \\ 
\tikzmarkin<2>{b} 10 & 87 & 112 & 1.6 \tikzmarkend{b} \\ 
20 & 92 & 115 & 1.6 \\ 
30 & 87 & 117 & 1.6 \\ 
40 & 81 & 121 & 1.6 \\ 
\end{tabular}
\end{table}%

\end{frame}

\end{document}

請注意,建立的註解hf-tikz僅顯示在該行的第一個儲存格上方,而它應該會覆蓋整個行。下圖顯示了上面範例的輸出:

在此輸入影像描述

另外,該行的第一個單元格似乎不再按應有的方式左對齊。請問有關於如何解決這個問題的提示嗎?

答案1

作為解決方法,不要使用hf-tikz,而是自己突出顯示:

\documentclass[xcolor={table,dvipsnames}]{beamer}

\usetheme{Copenhagen}

% from https://tex.stackexchange.com/a/315248/36296
\usepackage{tikz}
\usetikzlibrary{matrix,shapes,arrows,fit,tikzmark}

% Some options common to all the nodes and paths
\tikzset{   
    every picture/.style={remember picture,baseline},
    every node/.style={anchor=base,align=center,outer sep=1.5pt},
    every path/.style={thick},
}

\newcommand\marktopleft[1]{%
    \tikz[overlay,remember picture] 
    \node (marker-#1-a) at (.1em,.3em) {};%
}
\newcommand\markbottomright[1]{%
    \tikz[overlay,remember picture] 
    \node (marker-#1-b) at (.1em,.3em) {};%
    \tikz[overlay,remember picture,inner sep=1pt]
    \node[draw=red,rounded corners,fit=(marker-#1-a.north west) (marker-#1-b.south east)] {};%
}

\begin{document}

\begin{frame}{}

\begin{table}
\centering 
\rowcolors{2}{gray!20}{white}
\begin{tabular}{lccc}
A & B & C & D \\ 
00 & 100\% & 100\% & 0\% \\ 
\only<1>{\marktopleft{a}}05 & 58 & 181 & 50\only<1>{\markbottomright{a}}\\ 
\only<2>{\marktopleft{b}}10 & 87 & 112 & 1.6\only<2>{\markbottomright{b}}\\ 
20 & 92 & 115 & 1.6 \\ 
30 & 87 & 117 & 1.6 \\ 
40 & 81 & 121 & 1.6 \\ 
\end{tabular}
\end{table}%

\end{frame}

\end{document}

在此輸入影像描述

相關內容