表格环境中的箭头

表格环境中的箭头

我想在我的表格中绘制箭头,如下所示

\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{amsthm}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % linksbündig mit Breitenangabe
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}m{#1}}
\newcolumntype{N}{@{}m{0pt}@{}}
\usepackage{booktabs}

\begin{document}
\begin{table}\centering
{\def\arraystretch{1}
$\begin{array}{C{2.5cm}|C{1cm}C{1cm}C{1cm}C{1cm}C{1cm}|C{1cm}}\toprule
$f_{(X,Y)}(x,y)$      & $y=1$          & $y=2$     & $y=5$     & $y=7$    & $y=8$    &      $f_{X}(x)$  \\  \midrule
 $x=1$         & 0,08       & 0,02  & 0,04  & 0,12  & 0,06 & \color{red} 0,32\\
$x=2$         & 0,10       & 0,05  & 0,07  & 0,12  & 0,04 & \color{red} 0,38\\
$x=3$         & 0,03       & 0,04  & 0,07  & 0,10  & 0,06 & \color{red} 0,3\\\midrule
$f_{Y}(y) $     & \color{red}0,21&\color{red}0,11 &\color{red}0,18 &\color{red}0,34 &     \color{red}0,16 & 1\\\bottomrule
\end{array}$}
\end{table}
\end{document}

...

在此处输入图片描述

答案1

我有編輯这个答案是因为,从 5.5 版(2020-10-20)开始,人们不再需要\omit\CodeAfter在这里写(现在,\CodeAfter在所有情况下都有效)。


nicematrix

\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{nicematrix}
\usepackage{icomma}
\usepackage{tikz}

\begin{document}
\begin{table}
\centering
$\begin{NiceArray}{wc{2.5cm}|wc{1cm}wc{1cm}wc{1cm}wc{1cm}wc{1cm}|wc{1cm}}\toprule
f_{(X,Y)}(x,y) & y=1          & y=2     & y=5     & y=7    & y=8    &      f_{X}(x)  \\  \midrule
x=1            & 0,08       & 0,02  & 0,04  & 0,12  & 0,06 & \color{red} 0,32\\
x=2            & 0,10       & 0,05  & 0,07  & 0,12  & 0,04 & \color{red} 0,38\\
x=3            & 0,03       & 0,04  & 0,07  & 0,10  & 0,06 & \color{red} 0,3\\\midrule
f_{Y}(y)       & \color{red}0,21&\color{red}0,11 &\color{red}0,18 &\color{red}0,34 & \color{red}0,16 & 1\\
\bottomrule
\CodeAfter
\begin{tikzpicture} [line width=1pt] 
  \draw[red,->] (2-7.west) -- (2-2.east) ; 
  \draw[blue,->] (5-2.north) -- (2-2.south) ; 
\end{tikzpicture}
\end{NiceArray}$
\end{table}
\end{document}

上述代码的输出

评论:

  • 使用nicematrix,您需要进行多次编译。
  • 我已经使用了一种wc对于这种类型的数组来说更简单的列类型。
  • 我曾经icomma在用作小数点的逗号周围留有正确的空格。

答案2

在此处输入图片描述

\documentclass{article}
\usepackage{array}
\usepackage{tikz}
\usetikzlibrary{tikzmark,arrows,calc}
\usepackage{booktabs}
\definecolor{hotmagenta}{rgb}{1.0, 0.11, 0.81}

\begin{document}
    \begin{table}[ht]   % <---
        \[
        \begin{array}{c|ccccc|c}\toprule[1pt]
        f_{(X,Y)}(x,y) & y=1 & y=2 & y=5 & y=7 & y=8 & f_{X}(x)  \\ \midrule
        x=1  & \tikzmarknode{A} 0,08 & 0,02  & 0,04  & 0,12  & 0,06 & \color{hotmagenta}   \tikzmarknode{B} 0,32\\
        x=2  & 0,10 & 0,05  & 0,07  & 0,12  & 0,04 &  \color{hotmagenta}  0,38\\
        x=3  & 0,03 & 0,04  & 0,07  & 0,10  & 0,06 & \color{hotmagenta}  0,3\\\midrule
        f_{Y}(y) & \tikzmarknode{C} 0,21 & \color{hotmagenta} 0,11 & \color{hotmagenta}  0,18 & \color{hotmagenta}  0,34 & \color{hotmagenta}  0,16 & 1\\ \bottomrule[1pt]
        \end{array}
        \tikz[remember picture,overlay]
        {\draw[<-, red, thick, >=stealth] ($(A.east)+(14pt,0pt)$) -- (B);
        \draw[<-, blue, thick, >=stealth] ($(A.south)+(6pt,0pt)$) -- ($(C.north)+(6pt,0pt)$);}
        \]
    \end{table}
\end{document}

相关内容