我有下表:
\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}
我想用两种方式来改变它。
首先,我想让所有单元格都变成正方形,而不管其内容如何。例如,每个单元格应为 1cm x 1cm。
我想从 (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}
如果使用两个嵌套的\foreach
s,效果会更好。但是,由于我不熟悉它,我担心会出错。
此解决方案可让您向每个单元格添加任意文本(但请记住每个单元格只能包含有限数量的文本!) -这是不是添加单元格名称的最佳解决方案(aa
,be
等)。