Я хотел бы добавить сноску к узлу на картинке 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
package, чтобы он мог работать с несколькими ссылками в одном документе.
Почти такой же анализ вмой ответ на "таблицы - Сноска в табличной среде - 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}