Как правильно использовать tikz в таблице?

Как правильно использовать tikz в таблице?

Я делаю таблицу, в ячейках которой я хочу простые линейные рисунки tikz. Это моя первая попытка использовать tikz, поэтому я, вероятно, сделал много ошибок. Вот моя попытка:

\documentclass[]{article}
\usepackage{tikz}

\begin{document} 
\begin{table}[]
    \centering
    \begin{tabular}{c|c|c}
        Apple & Apple & Apple\\
        \hline
        \begin{tikzpicture}
        \coordinate node[circle,fill,inner sep=1pt,label=] (A) at (0,0);
        \coordinate node[circle,fill,inner sep=1pt,label=] (B) at (1,1);
        \draw (A) -- (B);
        \end{tikzpicture}&    \begin{tikzpicture}
        \coordinate node[circle,fill,inner sep=1pt,label=] (A) at (1,0);
        \coordinate node[circle,fill,inner sep=1pt,label=] (B) at (0,1);
        \draw (A) -- (B);
        \end{tikzpicture}   &   \begin{tikzpicture}
        \coordinate node[circle,fill,inner sep=1pt,label=] (A) at (0,0);
        \coordinate node[circle,fill,inner sep=1pt,label=] (B) at (1,1);
        \coordinate node[circle,fill,inner sep=1pt,label=] (C) at (2,1);
        \draw (A) -- (B) -- (C);
        \end{tikzpicture}  
        \end{tabular}
    \caption{Caption}
\end{table}
\end{document}

Однако это действительно работает:

  • Он выдает мне сообщение об ошибке "Package tikz Error: A node must have a (possible empty) label text". Как мне это исправить?
  • Кажется, это слишком многословно для такой простой задачи. Действительно ли мне нужна отдельная среда tikzpicture для каждой ячейки, например?

решение1

Если вы используете узлы, вам нужно дать им некоторое содержимое, даже a {}разрешено. Но вам на самом деле не нужно использовать узлы, чтобы заполнить некоторые круги. И да, вам нужно начинать a tikzpictureвсякий раз, когда вы хотите иметь его, или вы можете использовать сокращение \tikz{...}.

\documentclass[]{article}
\usepackage{tikz}

\begin{document}


\begin{table}[]
    \centering
    \begin{tabular}{c|c|c}
        Apple & Apple & Apple\\
        \hline
        \tikz{\draw[fill] (0,0) circle[radius=1pt] -- (1,1) circle[radius=1pt];
        \path (0,1.2);}
        &    
        \tikz{\draw[fill] (1,0) circle[radius=1pt] -- (0,1) circle[radius=1pt];
        \path (0,1.2);}
        &   
        \tikz{\draw[fill] (0,0) circle[radius=1pt] -- (1,1) circle[radius=1pt]
        -- (2,1) circle[radius=1pt];\path (0,1.2);}
        \end{tabular}
    \caption{Caption}
\end{table}
\end{document}

введите описание изображения здесь

Связанный контент