tikzpicture のノードに脚注を作成する

tikzpicture のノードに脚注を作成する

TikZ 画像内のノードに脚注を追加したいのですが、考えられるすべての解決策が失敗します。ミニページの使用も試しました。

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\foreach \x/\y/\number/\year in {
  0.5/0.46/ 4.624/2001,
  1.5/0.89/ 8.965/2002\footnotemark,
  2.5/1.18/11.892/2003
}
{
  \draw (\x cm, 0 cm) rectangle (0.5 cm + \x cm, \y cm) node at (0.25 cm + \x cm, \y cm + 0.25 cm) {\tiny\number};
  \node[rotate=45, left] at (0.6 cm +\x cm,-0.1cm) {\year};
};
\end{tikzpicture}
\footnotetext{foo}
\end{document}

表示される出力は

! Missing number, treated as zero.
<to be read again>
               }
l.18   }
    ;

脚注テキストは正しく表示されますが、脚注マークは表示されません。

以下のようにミニページを使ってみました。

\node[rotate=45, left] at (0.6 cm +\x cm,-0.1cm) {\year};

\node[rotate=45, left] at (0.6 cm +\x cm,-0.1cm) {\begin{minipage}{2em}\year\end{minipage}};

追加の質問: hyperref パッケージを使用して複数の脚注を作成するにはどうすればよいでしょうか?

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{tikz}

\usepackage[
pdfpagelabels,
pdfstartview=FitH,
plainpages=false,
hypertexnames=false
]{hyperref}

\begin{document}

\begin{tikzpicture}

  \foreach \x/\y/\Number/\Year in {
      0.5/0.46/ 4.624/2001,
      1.5/0.89/ 8.965/2002\footnotemark,
      2.5/1.18/11.892/2003\footnotemark
  }
  {
    \draw (\x cm, 0 cm) rectangle (0.5 cm + \x cm, \y cm) node at (0.25 cm + \x cm, \y cm + 0.25 cm) {\tiny\Number};
    \node[rotate=45, left] at (0.6 cm +\x cm,-0.1cm) {\Year};


  };

\end{tikzpicture}

\footnotetext{foo1}
\footnotetext{foo2}

\end{document}

答え1

これは TeX の重要なプリミティブであり、実際に脚注番号を印刷するために使用されるため、そのコンテキストで使用するのは非常に危険です\number。そのため、TeX は非常に混乱します。元の意味を使用する必要がある場合、これはまったく予期しない意味になります。

これも\yearプリミティブなので、別の名前を使用する方がよいでしょう。

\documentclass[a4paper,10pt]{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\foreach \x/\y/\Number/\Year in {
  0.5/0.46/ 4.624/2001,
  1.5/0.89/ 8.965/2002\footnotemark,
  2.5/1.18/11.892/2003
}
{
  \draw (\x cm, 0 cm) rectangle (0.5 cm + \x cm, \y cm)
        node at (0.25 cm + \x cm, \y cm + 0.25 cm) {\tiny\Number};
  \node[rotate=45, left] at (0.6 cm +\x cm,-0.1cm) {\Year};
};
\end{tikzpicture}
\footnotetext{foo}
\end{document}

ここに画像の説明を入力してください

答え2

footnotehyper同じドキュメント内の複数のリンクで機能するようにパッケージ化することをお勧めします。

ほぼ同じ分析「表 - 表形式環境の脚注 - TeX - LaTeX Stack Exchange」に対する私の回答適用する。

例: ( としてマークされた 2 行のみを追加する必要があります% <<<。他の行は変更する必要はありません)

\documentclass{article}
\usepackage{tikz}
\usepackage{footnotehyper}     % <<<
\makesavenoteenv{tikzpicture}  % <<<
\usepackage{hyperref}
\begin{document}
\begin{tikzpicture}
    \draw (0, 0) -- (1, 2);
    \node at (0, 0) {Text\footnote{Footnote text}};
\end{tikzpicture}
\end{document}

関連情報