我想在 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”的回答申請。
範例:(注意只需新增標記為 的兩行% <<<
,其他無需更改)
\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}