使用时
\newcites{novels}{Novels}
在 multibib 包中,那么我可以引用
\citenovels{entry}.
我得到了一份题为“小说”的额外书目。
不幸的是,我不想为这个额外的参考书目设置标题,但是使用
\newcites{novels}{}
出现错误。我该怎么做才能删除该标题?
答案1
解决方案取决于文档类别。
文章在序言中添加以下几行:
\usepackage{xpatch}
\makeatletter
\newcommand\removebibheader
{\xpatchcmd\std@thebibliography
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
}{}{}{}%
}
\makeatother
scrartcl、scrreprt、scrbook在序言中添加以下几行:
\makeatletter
\newcommand\removebibheader{\let\bib@heading\relax}
\makeatother
此外,对于上述所有类别:使用你喜欢的任何标题定义新的参考书目,例如
\newcites{novels}{Novels}
在包含参考书目的地方,执行\removebibheader
前面的命令。为了不影响其他参考书目,请\bibliograhy...
用括号将其和命令括起来。
{\removebibheader
\bibliographynovels{novels}
}
这是一个包含完整代码的示例。
\documentclass{article}
\usepackage{multibib}
\newcites{novels}{Novels}
\usepackage{xpatch}
\makeatletter
\newcommand\removebibheader
{\xpatchcmd\std@thebibliography
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
}{}{}{}%
}
\makeatother
\usepackage{blindtext}
\begin{document}
\citenovels{entry}
\blindtext
\bibliographystylenovels{plain}
{\removebibheader
\bibliographynovels{novels}
}
\end{document}
或者,对于scrartcl
类:
\documentclass{scrartcl}
\usepackage{multibib}
\newcites{novels}{Novels}
\makeatletter
\newcommand\removebibheader{\let\bib@heading\relax}
\makeatother
\usepackage{blindtext}
\begin{document}
\citenovels{entry}
\blindtext
\bibliographystylenovels{plain}
{\removebibheader
\bibliographynovels{novels}
}
\end{document}
内容novels.bib
:
@article{entry,
author = {The author},
title = {The novel},
journal = {The journal},
year=2016
}
答案2
通过报告或书籍课程,您可以使用:
\begingroup
\def\chapter*#1{}
\bibliography ...
\endgroup
答案3
经过三天的努力,我找到了一个非常简单的解决方案,可以删除标题,无论文件类或同时使用的任何其他包如何:不要将标题参数留空,而是需要使用 {} 作为每个新引用的参数:
简而言之:\newcites{main,method}{{},{}}
\documentclass{extarticle}
%any other class should work, i have tried IEEEtran and article and it did work just %fine
\usepackage{multibib}
\newcites{main,method}{{},{}}
% here rather than leaving the argument as empty use empty curly brackets
\usepackage{blindtext}
\begin{document}
\blindtext
\citemain{entry1}
%assuming there exist references with the key named "entry1" and "entry2" in the bib file
\bibliographystylemain{plain}
\bibliographymain{refs}
%assuming there is a bib file with the name "refs"
\blindtext
\citemethod{entry2}
\bibliographystylemethod{plain}
\bibliographymethod{refs}
\end{document}
假设 .tex 文件的名称是“document”,运行
pdflatex 文档
bibtex 主目录
bibtex 方法.aux
pdflatex 文档
pdflatex 文档
答案4
如果您的文档类是moderncv
,您可以\renewcommand*{\bibliographyhead}[1]{}
在 之前执行 。如果只应删除其中一个参考书目的标题,则\bibliography
用括号将两者括起来:{}
{\renewcommand*{\bibliographyhead}[1]{}
\bibliographynovels{novels}
}