禁忌环境中 parnotes 的枚举错误

禁忌环境中 parnotes 的枚举错误

pdflatex编译以下代码

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{eurosym}
\usepackage{array}
\usepackage{booktabs}
%\usepackage{breakurl}
\usepackage[ngerman]{babel}
\usepackage[paper=a4paper,vmargin=3cm,hmargin=2cm]{geometry}
\usepackage{tabu}
%\usepackage[colorlinks=true, pdfborder={0 0 0}, 
        %linkcolor=blue, citecolor=blue, urlcolor=blue]{hyperref}
\usepackage{parnotes}
\renewcommand{\parnotevskip}{0.5ex}
\renewcommand{\parnoteintercmd}{\\}
\setlength\parindent{0em}
\setlength\parskip{1.5ex}

\begin{document}
\begin{table}
\centering
    \begin{tabu}{@{}X[c]X[c]X[c]X[c]X[2.5c]X[c]}
    \toprule[2pt]
    \bfseries Hersteller &
    \bfseries Pro"-dukt"-be"-zeich"-nung &
    \bfseries Akku"-mu"-lator"-typ &
    \bfseries Preis/\euro &
    \bfseries Lebensdauer in Ladezyklen bezogen auf Entladung von 4,5Ah &
    \bfseries Cents/ Ladezyklus
    \\ \midrule
    %http://www.reichelt.de/Blei-Vlies-Akkus-12V-Kung-Long/WP-5-12/3/index.html?;ACTION=3;LA=2;ARTICLE=130548;GROUPID=4232;artnr=WP+5-12
    Kung Long & WP 5-12 & Blei-Vlies-Akku & 17,90\parnote{eins}  & 200 & 8,95 \\
    %http://www.pollin.de/shop/dt/NjI5ODI3OTk-/Stromversorgung/Akkus/Blei_Akkus/LiFePO4_Akku_VISION_LFP124_5T_12_V_5_Ah.html
    Vision & LFP124.5T & LiFePO4-Akku & 93,50\parnote{zwei} & 2000 & 4,68 \\
    %http://www.reichelt.de/Blei-Vlies-Akkus-12V-zyklisch/LC-CA-1215P1/3/index.html?;ACTION=3;LA=3;ARTICLE=77912;GROUPID=4235
    Panasonic & LC-CA 1215P1 & Blei-Vlies-Akku & 39,95\parnote{drei} & 1400 & 2,85\\
    \bottomrule[2pt]
    \end{tabu}
    \raggedright
    \parnotes
    \caption{dies ist ein Text}
\end{table}

\end{document}

编译版本


当然,我想parnotes从 1 开始枚举,当达到 3 时停止。

不幸的是,环境中的内容似乎tabu被处理了三次,我找不到实现预期结果的方法。由于table我的文档中有多个此类环境,所以我不想放弃 提供的自动枚举parnotes

也许有人可以给我一个提示或者向我展示一种可以产生所需输出的解决方法!?

答案1

tabularx 我认为tabu都允许您使用常规\footnote命令来做表格注释,并防止该命令被多次执行。因此不使用\parnotes是一个现实的选择。

如果您想使用,\parnotes那么有几个错误需要修复,然后您需要添加一些与表试验的连接。

% Counter for parnote marks left by \parnote
\global\newcount\c@PN@t
% Counter for parnote marks *within* parnotes
\global\newcount\c@PN@n

\global在 '\newcount 之前没有做任何有用的事情,但这不是对 latex 计数器声明的完整模拟,如果将其替换为

% Counter for parnote marks left by \parnote
\newcounter{PN@t}
% Counter for parnote marks *within* parnotes
\newcounter{PN@n}

表宏“了解”这些计数器,并在对表进行试验设置时重置它们。

这足以避免计数器增加超过 3,但是您需要添加一些代码来告诉表宏不要在试运行期间保存文本。tabularx为此

\long\def\parnote{%
\relax\ifx\@footnotetext\TX@trial@ftn\else
    \ifx\protect\@typeset@protect
        \expandafter\expandafter\expandafter\PN@parnote@real
    \else
        \expandafter\expandafter\expandafter\@gobble
    \fi
\fi
}

我快速浏览了禁忌的内部结构,但并没有立即发现相应的测试是什么。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{eurosym}
\usepackage{tabularx}
\usepackage{booktabs}
%\usepackage{breakurl}
\usepackage[ngerman]{babel}
\usepackage[paper=a4paper,vmargin=3cm,hmargin=2cm]{geometry}

%\usepackage[colorlinks=true, pdfborder={0 0 0}, 
        %linkcolor=blue, citecolor=blue, urlcolor=blue]{hyperref}
\usepackage{parnotes}
\renewcommand{\parnotevskip}{0.5ex}
\renewcommand{\parnoteintercmd}{\\}
\setlength\parindent{0em}
\setlength\parskip{1.5ex}

\begin{document}
\begin{table}
\centering
    \begin{tabularx}\textwidth{@{}
*4{>{\centering\arraybackslash\hsize=.7\hsize}X}
>{\centering\arraybackslash\hsize=2.5\hsize}X
>{\centering\arraybackslash\hsize=.7\hsize}X}
    \toprule[2pt]
    \bfseries Hersteller &
    \bfseries Pro"-dukt"-be"-zeich"-nung &
    \bfseries Akku"-mu"-lator"-typ &
    \bfseries Preis/\euro &
    \bfseries Lebensdauer in Ladezyklen bezogen auf Entladung von 4,5Ah &
    \bfseries Cents/ Ladezyklus
    \\ \midrule
    %http://www.reichelt.de/Blei-Vlies-Akkus-12V-Kung-Long/WP-5-12/3/index.html?;ACTION=3;LA=2;ARTICLE=130548;GROUPID=4232;artnr=WP+5-12
    Kung Long & WP 5-12 & Blei-Vlies-Akku & 17,90\parnote{eins}  & 200 & 8,95 \\
    %http://www.pollin.de/shop/dt/NjI5ODI3OTk-/Stromversorgung/Akkus/Blei_Akkus/LiFePO4_Akku_VISION_LFP124_5T_12_V_5_Ah.html
    Vision & LFP124.5T & LiFePO4-Akku & 93,50\parnote{zwei} & 2000 & 4,68 \\
    %http://www.reichelt.de/Blei-Vlies-Akkus-12V-zyklisch/LC-CA-1215P1/3/index.html?;ACTION=3;LA=3;ARTICLE=77912;GROUPID=4235
    Panasonic & LC-CA 1215P1 & Blei-Vlies-Akku & 39,95\parnote{drei} & 1400 & 2,85\\
    \bottomrule[2pt]
    \end{tabularx}
    \raggedright
    \parnotes
    \caption{dies ist ein Text}
\end{table}

\end{document}

相关内容