使用乳液,我怎么可以在每一节的末尾引用列表? [关闭]
-
21-09-2019 - |
题
我想以产生用于每个部分的参考书目,并有它的部分的端部。当我这样做,此刻它产生每个部分后的充分的参考书目和地点吧。
有没有一种方式,可以做到这一点?
这里说:
“的chapterbib包提供了一种 选项sectionbib该放 参考书目在\节*代替 \章*,这是令意义 如果有一个参考书目中的每个 章节。此选项将无法正常工作 当也被加载natbib;代替, 添加选项natbib。 “
我不明白这意味着什么,我已经试过了我认为的选项进行试验。具体来说,什么是“的选项添加到natbib”呢?
我的后续问题(即演变后我的第一个被解决)是不具有参考之间pagebreaks,而下一个节。
感谢您的帮助。
解决方案
如果您使用 Biblatex 时,如对于引用的文章标题,则可以用它在部分或章节的末端以产生书目,或甚至具有组合参考书目,他们是由章/节分离。作为一个包,它的目的是取代 “babelbib,bibtopic,bibunits,chapterbib,引用inlinebib,mlbib,multibib,splitbib。”
您可以在每个段之后把书目,通过以下三种方式之一。首先,包装在\begin{refsection}
/ \end{refsection}
对您的部分的文本,因为这样的
\section{SomeSectionName}
\begin{refsection}
% your text goes here
\printbibliography
\end{refsection}
\section{NextSection}
其次,每个\section
语句之后你把它结束的上一节,并开始新的一个\newrefsection
声明。而且,你先用\section
声明下一\printbibliography
,再次。最后,存在需要要么refsection
,none
,part
,chapter
,或section
作为自变量的subsection
封装选项。将你的每部分的书目条目中使用refsegment
而是一个全球性的书目,使用\bibbysegment
打印所有段秩序。 (\bibbysection
可在用于参考截面相同的方式使用,也。)
我不知道你有多大的分裂你的文字,按@诺曼的答案,但有一个小实验,你自己看着办吧。
其他提示
在除
\usepackage[sectionbib]{natbib}
\usepackage{chapterbib}
您将不得不把每个部分在一个单独的.tex文件,你再\include
。你将不得不单独运行每个.tex文件bibtex
。
N.B。使用\input
而不是\include
避免不必要的分页,但中文提供需要做的工作就不会创建.aux文件。我看着\include
的定义,我看不出如何禁用除非完全禁止\clearpage
页面破功能。你可以尝试
\let\originalclearpage=\clearpage
\def\clearpage{\relax}
您\begin{document}
之后,但您可能需要手工把一些\originalclearpage
英寸
@celenius - 如果你真的想摆脱那个分页符的,这里有一个很脏招做...
\makeatletter \let\O@@input@\@input@ \def\@noclearpage{\@ifnextchar\clearpage\@gobble\relax} \def\@input@#1{\O@@input@{#1}\@noclearpage} \let\O@@include\@include \def\@include{\expandafter\@noclearpage\O@@include} \let\O@include\include \def\include{\expandafter\@noclearpage\O@include} \makeatother
基本上我们在\include
宏进行手术,以摆脱所有的\clearpage
实例,但要做到这一点,你可以看到最清晰的方式,仍然是的真正的脏。这是可怕的脆,很可能会只针对article
类的工作,因此,如果您使用的是不同的\documentclass
,你的运气了。我基本上是通过使\tracingcommands=1
和\tracingmacros=1
和grepping为.log
的\clearpage
文件,这样我就可以破解任何被调用它插入\@noclearpage
之前得到的这一点。
我不推荐这种解决方案 - 这将是更好的寻找到chapterbib
是如何工作的,并修复它正确的方式,而不依赖于\include
和它产生的单独.aux
文件...但我敢肯定那会是一个非常艰巨的任务。我想另一个解决办法是写效仿\include
某个命令的分手.aux
文件,但是实际不执行包括...
编辑:好的,这里的匆匆
\makeatletter \newenvironment{auxfile}[1]{\relax \ifnum\@auxout=\@partaux \@latex@error{auxfile environments cannot be nested or \string\include d} \@eha \else\@changeaux{#1}\fi }{\immediate\closeout\@partaux\let\@auxout\@mainaux} \def\@changeaux#1{% \immediate\write\@mainaux{\string\@input{#1.aux}}% \let\@auxout\@partaux \immediate\openout\@partaux#1.aux% \immediate\write\@partaux{\relax}} \makeatother
然后,你可以插入\begin{auxfile}{foo}...\end{auxfile}
,它会使用foo.aux
而不是正常的.aux
文件。这是chapterbib
完全兼容。我不认为有CTAN这样的事,所以也许我会提交它作为一个迷你包。
我还没有尝试过,但因为我读它表明:
\usepackage[sectionbib]{natbib} % Note the option in the optional argument
\usepackage{chapterbib}
虽然我只猜测在这些行的正确顺序。