我如何更改下表?

我如何更改下表?

我有下表:

\documentclass{article}

\begin{document}

\begin{tabular}{|l|l|l|l|l|l|l|l|l|}
    & a & b & c & d & e & f & g & h \\
a & \\
b \\
c \\
d \\
e \\
f \\
g \\
h \\
\end{tabular}


\end{document}

我想用两种方式来改变它。

  1. 首先,我想让所有单元格都变成正方形,而不管其内容如何。例如,每个单元格应为 1cm x 1cm。

  2. 我想从 (b,f) 到 (c,c) 和 (d,d) 画一个箭头,使箭头看起来像一个超图:它从一条线开始,然后分成两条(可能是波浪形的)线,分别指向单元格 (c,c) 和单元格 (d,d)。如果能用 tikz 完成就好了。

谢谢。

答案1

1

我不太明白你的问题。你想要这个吗?

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \draw (0,0) grid (8,8);
    \foreach \x/\letter in {8/a,7/b,6/c,5/d,4/e,3/f,2/g,1/h}
        \draw (0,\x-0.5) node[left] {\letter};
    \foreach \x/\letter in {1/a,2/b,3/c,4/d,5/e,6/f,7/g,8/h}
        \draw (\x-0.5,8) node[above] {\letter};
    \draw (1.5,2.5)--(2.25,4);
    \draw[->] (2.25,4)--(3.5,4.5);
    \draw[->] (2.25,4)--(2.5,5.5);
\end{tikzpicture}
\end{document}

在此处输入图片描述

二 [ edit 1]

你想要这个吗?

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \foreach \x in {1,2,3,4,5,6,7,8}
        \draw (0,\x) -- (\x,\x);
    \foreach \x in {0,1,2,3,4,5,6,7}
        \draw (\x,8) -- (\x,\x);
    \draw[fill=blue] (0,0)--(8,8);
    \foreach \x/\letter in {8/a,7/b,6/c,5/d,4/e,3/f,2/g,1/h}
        \draw (0,\x-0.5) node[left] {\letter};
    \foreach \x/\letter in {1/a,2/b,3/c,4/d,5/e,6/f,7/g,8/h}
        \draw (\x-0.5,8) node[above] {\letter};
    \draw (1.5,2.5)--(2.25,4);
    \draw[->] (2.25,4)--(3.5,4.5);
    \draw[->] (2.25,4)--(2.5,5.5);
    \foreach \x/\textincell in {1/aa,2/ba,3/ca,4/da,5/ea,6/fa,7/ga}
        \draw (\x-0.5,8-0.5) node {\textincell};
    \foreach \x/\textincell in {1/ab,2/bb,3/cb,4/db,5/eb,6/fb}
        \draw (\x-0.5,7-0.5) node {\textincell};
    \foreach \x/\textincell in {1/ac,2/bc,3/cc,4/dc,5/ec}
        \draw (\x-0.5,6-0.5) node {\textincell};
    \foreach \x/\textincell in {1/ad,2/bd,3/cd,4/dd}
        \draw (\x-0.5,5-0.5) node {\textincell};
    \foreach \x/\textincell in {1/ae,2/be,3/ce}
        \draw (\x-0.5,4-0.5) node {\textincell};
    \foreach \x/\textincell in {1/af,2/bf}
        \draw (\x-0.5,3-0.5) node {\textincell};
    \draw (0.5,1.5) node {ag};
\end{tikzpicture}
\end{document}

在此处输入图片描述

如果使用两个嵌套的\foreachs,效果会更好。但是,由于我不熟悉它,我担心会出错。

此解决方案可让您向每个单元格添加任意文本(但请记住每个单元格只能包含有限数量的文本!) -这是不是添加单元格名称的最佳解决方案(aabe等)

相关内容