pdfpages、addtolist 和表格列表

pdfpages、addtolist 和表格列表

这些可能是单独的问题,但以下 MWE:

\usepackage{pdfpages}
...  
\addcontentsline{lot}{subsection}{\ref{tab:UserRoles} \textbf{User Roles}}  
\includepdf[pages={-}, pagecommand={\label{tab:UserRoles}}, offset=0in -1in, addtolist={9, table, {The User Roles table}, tab:UserRoles}]{UserRolesTable}  
...

有几个意想不到的行为。

  1. 我收到以下警告:

    Package pdfpages Warning: There's something wrong with the entries of `addtolist'.
    Not all entries were processed. Check `addtolist' [in the MWE]."  
    
  2. 可能是由于\label没有绑定到插入的 pdf(在表格环境中),我插入的 PDF 使用部分进行编号,而不是预期的“表格 X”值。

  3. 手动插入的 LoT 行(也使用节号而不是递增的表格号)的格式与 LoT 中的其他行不同 - 数字排列,但表格标题本身与列表中的其他行不对齐。

源 PDF 没有错误并在输出 PDF 中正确显示。

PDFLaTeX -> BibTex


梅威瑟:

\documentclass[11pt,letterpaper,twoside,final]{article}
\usepackage{pdfpages}
\begin{document}
\listoftables
\begin{center}
\textbf{Table \ref{tab:UserRoles} - The User Roles Table} \addcontentsline{lot}{subsection}{\ref{tab:UserRoles} 
\textbf{User Roles}} % manual entry in ToC 
\includepdf[pages={-}, pagecommand={\label{tab:UserRoles}}, offset=0in -1in, addtolist={9, table, {The User Roles table}, tab:UserRoles, lot}]{UserRolesTable}
\end{center}
\end{document}

答案1

MWE 中存在一些错误:

  • pagecommand={\label{tab:UserRoles}}:执行于每个已构建页面。如果有多个页面,则由于标签定义过多,结果会显示警告。此外,标签设置已通过选项设置完成addtolist。(编辑:已应用 PolGab 修复,谢谢)
  • addtolist期望的参数列表参数,页码,类型,标题和标签。但是lotMWE 中还有第五个元素。pdfpages 包通过调用来设置列表条目\caption,其中\@makecaption是虚拟的。因此,标题实际上并未排版,但计数器已递增,列表的条目已完成。
  • 有了工作addtolist手册\addcontentsline就不再需要了。还应该在正确的页面上调用它以获取正确的页码。

修正后的 MWE:

\documentclass[11pt,letterpaper,twoside,final]{article}
\usepackage{pdfpages}

\begin{document}
\listoftables
\section*{Table \ref{tab:UserRoles} - The User Roles Table}
\includepdf[
  pages={-},
  offset=0in -1in,
  addtolist={3, table, {The User Roles table}, tab:UserRoles},
]{test}
\end{document}

结果:

引用

第一页包含表格列表和“表格部分标题”。所包含页面的第三页获得表格列表中的条目,即第四页。

答案2

addtolist选项使用 4 个(或 4 的任意倍数)参数。

例如,如果您的外部 PDF 文件 ( UserRolesTable.pdf) 包含三页,您可以说:

\documentclass[11pt,letterpaper,twoside,final]{article}
\usepackage{pdfpages}
\pagestyle{empty}

\begin{document}
\listoftables
  \includepdf[%
  pages={-},
  offset=0in -1in,%
  addtolist={%
    1, table, {The User Roles table 1}, tab:UserRoles1,
    2, table, {The User Roles table 2}, tab:UserRoles2,
    3, table, {The User Roles table 3}, tab:UserRoles3
  },
  ]{UserRolesTable}
\end{document}

您将获得以下表格列表:

在此处输入图片描述

相关内容