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

\number각주 번호를 인쇄하는 데 실제로 사용되는 TeX의 중요한 기본 요소이기 때문에 이러한 맥락에서 사용하는 것은 매우 위험합니다 . 이것이 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 스택 교환"에 대한 내 대답적용하다.

예: (로 표시된 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}

관련 정보