我想将包含在pdfpages
包中的外部 PDF 的参考书目添加到我的目录中,但不为其提供编号。我发现此解决方案。我的问题是 选项<header>
也addtotoc
出现在插入页面的顶部!。所以,我想摆脱它。
MWE:(不要忘记更改“ pages=34-37
”和“ 1512.pdf
”)
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{fourier}
\usepackage{lipsum}
\usepackage{pdfpages}
\makeatletter
\let\l@chapternonum\l@section %chapter
\newcounter{chapternonum}{}
\renewcommand{\thechapternonum}{} %[1]{\chapter{#1}}
\makeatother
\begin{document}
\setcounter{secnumdepth}{3} %level 3 for \subsubsection
\tableofcontents
\chapter{Supersymmetry bla bla}
\lipsum[1-5]
\section{1st Section}
\lipsum[1-3]
\subsection{1st Subsection}
\lipsum[3-5]
\subsubsection{1st Subsubsection}
\lipsum[3-5]
\section{2nd Section}
\lipsum[1-3]
\subsection{2nd Subsection}
\lipsum[3-5]
\includepdf[pages=34-37,addtotoc={34,chapternonum,3,Bibliographie,lab:refcont1}]{1512.pdf}
\end{document}
答案1
该选项确实依赖于如果类型被命名(如 Werner 链接的解决方案中所示),则addtotoc
存在命令 ,并且它尝试使用名为 的宏添加“部分”标题,当然该宏不存在。如果未定义此宏,它会使用\l@chapternonum
section
chapternonum
\@chapternum
\expandafter\@sect\AM@temp
\hskip\z@\par\vskip-\parskip\vskip-\baselineskip\hskip\z@
让标题停留在边缘处。
解决这个问题最简单的方法是
\newcommand{\@chapternonum}[2][]{\addcontentsline{toc}{section}{#1}}
,
因为其中的定义\AM@addtotoc
似乎有点奇怪。
以下是相关代码pdfpages.sty
\newcommand{\AM@addtotoc}{}
\def\AM@addtotoc{%
\begingroup
\def\@seccntformat##1{}\def\@makechapterhead##1{}%
\def\@endpart{}\def\partname{}%
\def\autodot{}% KOMA classes
\def\ch@pt@c{\the\AM@toc@title}% memoir classes
\let\AM@addcontentsline\addcontentsline
\def\addcontentsline##1##2##3{%
\AM@addcontentsline{##1}{##2}{##3}%
\def\thepart{}}%
\AM@addtotoc@hook
\edef\AM@temp{{\AM@toc@section}{\AM@toc@level}%
{\z@}{\z@}{\z@}{}[\the\AM@toc@title]{}}%
\edef\AM@tempi{\noexpand\csname @\AM@toc@section\noexpand\endcsname%
[\the\AM@toc@title]{}}%
\@ifundefined{@\AM@toc@section}
{\expandafter\@sect\AM@temp%%%%%% This is the culprit!!!!!
\hskip\z@\par\vskip-\parskip\vskip-\baselineskip\hskip\z@}
{\AM@tempi}%
\xdef\@currentlabel{\@currentlabel}%
\label{\AM@toc@label}%
\endgroup
}
解决方案:
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{fourier}
\usepackage{lipsum}
\usepackage{pdfpages}
\usepackage{hyperref}
\providecommand{\phantomsection}{}
\makeatletter
\let\l@chapternonum\l@section %chapter
\newcommand{\@chapternonum}[2][]{\phantomsection\addcontentsline{toc}{section}{#1}\edef\@currentlabel{#1}}%
\newcounter{chapternonum}
\renewcommand{\thechapternonum}{} %[1]{\chapter{#1}}
\makeatother
\begin{document}
\setcounter{secnumdepth}{3} %level 3 for \subsubsection
See \ref{lab:refcont1}
\tableofcontents
\chapter{Supersymmetry bla bla}
\lipsum[1-5]
\section{1st Section}
\lipsum[1-3]
\subsection{1st Subsection}
\lipsum[3-5]
\subsubsection{1st Subsubsection}
\lipsum[3-5]
\section{2nd Section}
\lipsum[1-3]
\subsection{2nd Subsection}
\lipsum[3-5]
\includepdf[pages=1-3,addtotoc={1,chapternonum,0,Foo,lab:refcont1}]{7.pdf}
\end{document}
生成的代码7.pdf
可以在我的回答中找到这里