重新定义/删除 LoT 中 \includepdf 表格的计数器数字

重新定义/删除 LoT 中 \includepdf 表格的计数器数字

我希望我没有错过某个地方的问题,但到目前为止我还没有找到解决我的问题的方法。

我正在撰写一篇累积论文,并希望使用\includepdf及其addtoline选项将单篇论文作为 PDF 包含在主文档中。但是,包含表格的 PDF 位于我主文件的第四章中,因此显示为

4.1 标题1.....第 X 页

4.2 标题2.....第 Y 页

4.3 Caption3.....第 Z 页。

相反,我希望有类似的东西

试卷 1

表 1 - 标题 1..... 第 X 页

试卷 2

表 1 - 标题 2.....第 Y 页

表 2 - 标题 3.....第 Z 页

本章不应涉及。希望这能解决我的问题。我对这些数字也有同样的问题,但我认为如果解决了 LoT 问题,那么该解决方案也可以用于 LoF。有人有什么想法吗?我将不胜感激,因为这已经花费了太多时间……

答案1

这是一个解决方案。此使用pagecommand\addtocontents

\documentclass{book}

\usepackage{pdfpages}

\newcounter{mtpaper}
\newcounter{mtfig}[mtpaper]
\newcounter{mttab}[mtpaper]

\newcommand*{\newpaper}{%
\stepcounter{mtpaper}%
\addtocontents{lot}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}%
\addtocontents{lof}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}}

\newcommand{\newtable}[3]{% #1 file name #2 page #3 caption
\stepcounter{mttab}% % one can use refst and add a label
\includepdf[pages=#2, pagecommand={%
           \addtocontents{lot}{%
           \protect\contentsline {table}{{Table \themttab --- }{#3}}{\thepage}}%
           }]{#1}}

\newcommand{\newfigure}[3]{% #1 file name #2 page #3 caption
\stepcounter{mtfig}% % one can use refst and add a label
\includepdf[pages=#2, pagecommand={%
           \addtocontents{lof}{%
           \protect\contentsline {figure}{{Figure \themtfig --- }{#3}}{\thepage}}%
           }]{#1}}           
\begin{document}
\listoffigures
\listoftables
\chapter{Foo}
\chapter{Bar}
\chapter{Baz}
\newpaper
\newtable{b}{2}{Foo bar table}
\newpaper
\newtable{a}{2}{Foo table}
\newtable{a}{3}{Bar table}
\newfigure{a}{2}{Foo table}
\end{document}

更新如果使用 hyperref 包。

请注意,计数器mttab和被和 mtfig 替换。tablefigure

\documentclass{book}

\usepackage{pdfpages}
\usepackage{hyperref}

\newcounter{mtpaper}
\makeatletter
\@addtoreset{table}{mtpaper}
\renewcommand*{\thetable}{\arabic{table}}
\@addtoreset{figure}{mtpaper}
\renewcommand*{\thefigure}{\arabic{figure}}

\newcommand*{\newpaper}{%
\stepcounter{mtpaper}%
\addtocontents{lot}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}%
\addtocontents{lof}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}}

\newcommand*{\newtable}[3]{% #1 file name #2 page #3 caption
\refstepcounter{table}% 
\includepdf[pages=#2, pagecommand={%
           \phantomsection%
           \addtocontents{lot}{%
           \protect\contentsline {table}{{Table \thetable --- }{#3}}{\thepage}{\@currentHref}}%
           }]{#1}}

\newcommand*{\newfigure}[3]{% #1 file name #2 page #3 caption
\refstepcounter{figure}% 
\includepdf[pages=#2, pagecommand={%
           \phantomsection%
           \addtocontents{lof}{%
           \protect\contentsline {figure}{{Figure \thefigure --- }{#3}}{\thepage}{\@currentHref}}%
           }]{#1}}  \makeatother         
\begin{document}
\listoffigures
\listoftables
\chapter{Foo}
\chapter{Bar}
\chapter{Baz}
\newpaper
\newtable{b}{2}{Foo bar table}
\newpaper
\newtable{a}{2}{Foo table}
\newtable{a}{3}{Bar table}
\newfigure{a}{2}{Foo table}
\end{document}

更新对于没有任何表格或图表的论文,我们使用

\stepcounter{mtpaper}
\includepdf[pages=PAGES,OTHER OBTIONS]{filename}

对于rotateoversizelindscape选项、命令\newtable\newfigure已更改,现在它们接受要传递给的可选参数\includepdf

\documentclass{book}

\usepackage{pdfpages}
\usepackage{hyperref}

\newcounter{mtpaper}
\makeatletter
\@addtoreset{table}{mtpaper}
\renewcommand*{\thetable}{\arabic{table}}
\@addtoreset{figure}{mtpaper}
\renewcommand*{\thefigure}{\arabic{figure}}

\newcommand*{\newpaper}{%
\stepcounter{mtpaper}%
\addtocontents{lot}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}%
\addtocontents{lof}{\protect\addvspace{10pt}\noindent Paper \themtpaper\par}}

\newcommand*{\newtable}[4][]{% #1 options of \includepdf  #2 file name #3 page #4 caption
\refstepcounter{table}% 
\includepdf[#1, pages=#3, pagecommand={%
           \phantomsection%
           \addtocontents{lot}{%
           \protect\contentsline {table}{{Table \thetable --- }{#4}}{\thepage}{\@currentHref}}%
           }]{#2}}

\newcommand*{\newfigure}[4][]{% #1 options of \includepdf  #2 file name #3 page #4 caption
\refstepcounter{figure}% 
\includepdf[#1, pages=#3, pagecommand={%
           \phantomsection%
           \addtocontents{lof}{%
           \protect\contentsline {figure}{{Figure \thefigure --- }{#4}}{\thepage}{\@currentHref}}%
           }]{#2}}  \makeatother         
\begin{document}
\listoffigures
\listoftables
\chapter{Foo}
\chapter{Bar}
\chapter{Baz}
\newpaper
\newtable[landscape,scale=.5,frame]{b}{2}{Foo bar table}
\newpaper
\newtable{a}{2}{Foo table}
\newtable{a}{3}{Bar table}
\newfigure{a}{2}{Foo table}
\end{document}

在此处输入图片描述

相关内容