splitbib 和目录

splitbib 和目录

我用splitbib包创建两个类别:主要文献和次要文献。但我想在目录中为每个类别添加一个条目,就像它们是子部分或类似的东西一样。此外,我还想拆分每个类别,但第一个类别放在一个新页面中。

梅威瑟:

\documentclass{article}

\usepackage[nottoc]{tocbibind}
\usepackage[export]{splitbib}

\begin{category}{Primary Literature}
  \SBentries{samplea}
\end{category}

\begin{category}{Secondary Literature}
  \SBentries{sampleb}
\end{category}

\begin{document}
\pagestyle{empty}

\tableofcontents

\begin{thebibliography}{99}

  \bibitem[Sample, A]{samplea} Sample A.

  \bibitem[Sample, B]{sampleb} Sample B.

\end{thebibliography}

\end{document}

输出:

在此处输入图片描述

并且我想在目录中添加一个类似于小节的条目,用于“主要文献”和“次要文献”类别,并将第二类别(以及第三、第四等)拆分到单独的页面中。

如何实现这一点?

答案1

我建议使用类似于强制 splitbib 中的新类别在新页面上开始:定义一种类似于默认样式bar但添加了适当\addcontentsline宏的新样式。(简单地在环境\addcontentsline之前立即添加thebibliography可能会导致目录中产生错误的页面引用。)请注意,这splitbib似乎并不禁止子书目标题和第一个条目之间的分页符。

编辑:在除第一个子书目之外的任何子书目之前添加自动分页符。

\documentclass{article}

\usepackage[nottoc]{tocbibind}
\usepackage[export]{splitbib}

\newif\ifafterfirstsubbib
\afterfirstsubbibfalse

\makeatletter
\def\NMSB@styletocentrybar#1#2{%
  \ifafterfirstsubbib% NEW
    \clearpage% NEW
  \else% NEW
    \afterfirstsubbibtrue% NEW
  \fi% NEW
  \hskip-\leftmargin%
  \vbox{%
    \medskip\par
    \addcontentsline{toc}{subsection}{#2}% NEW
    \vrule height \SBabovesepwidth depth 0pt width \textwidth
    \vskip.3\baselineskip\par\noindent
    {\null\hfill
      \csname SB\NMSB@level font\endcsname{#1#2}%
      \hfill\null}%
    \vskip-.4\baselineskip\par\noindent
    \vrule height \SBbelowsepwidth depth 0pt width \textwidth}}
\makeatother

\SBtitlestyle{tocentrybar}

\begin{category}{Primary Literature}
  \SBentries{samplea}
\end{category}

\begin{category}{Secondary Literature}
  \SBentries{sampleb}
\end{category}

\begin{document}
\pagestyle{empty}

\tableofcontents

\begin{thebibliography}{99}

  \bibitem[Sample, A]{samplea} Sample A.

  \bibitem[Sample, B]{sampleb} Sample B.

\end{thebibliography}

\end{document}

相关内容