如何在 bbl 文件中保存代码?

如何在 bbl 文件中保存代码?

在我之前问过的关于更改参考书目中的章节标记的问题中,我得到了一个很好的答案,但不幸的是我需要将代码放在我的 BBL 文件中。这意味着我每次运行时都需要重写我的代码。这个新问题有解决方案吗?

我遇到的第一个问题是:我正在写论文。参考文献跨越多页。第二页(及以后)的顶部有一个页眉(出现在没有新章节开始的每一页上)。页眉告知读者他/她正在阅读的当前章节。但在参考文献中,它写着“Algemene conclusies”,这是我的最后一章。我希望参考文献中不要出现这个,而是写着“Bibliografie”。

这是我的序言代码:

    \documentclass[11pt, a4paper, twoside, openright]{report}

%\usepackage[left=2.5cm,top=3cm,right=2.5cm,bottom=3cm]{geometry}
\usepackage[a4paper,inner=3.2cm,outer=2cm,top=2cm,bottom=1.5cm,includehead,includefoot]{geometry}

\usepackage{xspace}
\usepackage{setspace} \onehalfspacing
\usepackage[dutch]{babel}
\usepackage{graphicx}
\usepackage[latin1]{inputenc}
\usepackage{subfigure}
\usepackage{appendix}
\usepackage{amsmath}
\usepackage{pdfpages}
\usepackage{pdflscape}
\usepackage{capt-of}
\usepackage{longtable}
\usepackage[square]{natbib}
\usepackage{lscape}
\usepackage{url}
\usepackage{tocvsec2}
\usepackage[hang,small,bf]{caption}
\usepackage{pslatex}
\usepackage{titlesec}
\usepackage{fancyhdr}
\pagestyle{fancy}
\headheight = 14pt
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textit{\nouppercase{\leftmark}}}
\fancyhead[LO]{\textit{\nouppercase{\rightmark}}}

%\renewcommand{\sectionmark}[1]{\markright{#1}} 
%\fancyhead[LO]{\nouppercase{\leftmark}}
%\fancyhead[LE]{\nouppercase{\rightmark}}
%\fancyhead[HR]{\thepage}
\renewcommand{\headwidth}{16cm} 
\renewcommand{\baselinestretch}{1.2}

\setlength{\parindent}{0cm}
\setlength{\parskip}{2.3ex plus 0.3ex minus 0.3ex}

\usepackage{pstricks}
\makeatletter
\def\LigneVerticale{\vrule height 2cm depth 2cm\hspace{0.1cm}\relax}
\def\LignesVerticales{%
\let\LV\LigneVerticale\LV\LV\LV\LV\LV\LV\LV\LV\LV\LV}
\def\GrosCarreAvecUnChiffre#1{%
\rlap{\vrule height 0.8cm width 1cm depth 0.2cm}%
\rlap{\hbox to 1cm{\hss\mbox{\white #1}\hss}}%
\vrule height 0pt width 1cm depth 0pt}
\def\@makechapterhead#1{\hbox{%
\huge
\LignesVerticales
\hspace{-0.5cm}%
\GrosCarreAvecUnChiffre{\thechapter}
\hspace{0.2cm}\hbox{#1}%
}\par\vskip 2cm}
\def\@makeschapterhead#1{\hbox{%
\huge
\LignesVerticales
%\hspace{0.5cm}%
\hbox{#1}%
}\par\vskip 2cm}

这是我的文件:

\chapter{Algemene conclusies}
\input{Conclusie}
\newpage

\clearpage{\pagestyle{empty}\cleardoublepage}
\addcontentsline{toc}{chapter}{Bibliografie}
\input{Bibliografie}

这是文件 Bibliografie 中的代码:

\bibliography{bronnen}
   \bibliographystyle{agsm}%plainnat

答案1

其他人指出,事实上你不需要更改文件中的代码.bbl,而应该设置\bibname并添加内容条目。

现在,标题错误在于标记没有改变。内部report启动参考书目,\chapter*不设置标记。在标准设置中,命令\@mkboth随后通过发出\bibname,在参考书目中给出标题。在您的设置中,这种情况不会发生。一种解决方法是简单地添加

\chaptermark{\bibname}

在你的参考书目之前。

另一个是改变你的\@makeschapterhead定义

\def\@makeschapterhead#1{\hbox{%
\huge
\LignesVerticales
\hbox{#1}\chaptermark{#1}
}\par\vskip 2cm}

或者

\def\@makeschapterhead#1{\hbox{%
\huge
\LignesVerticales
#1
}\par\vskip 2cm}

第一个选项在所有情况下都将标记更改为当前章节名称\chapter*,并生成与其他章节一致的页眉。另一个选项将恢复为标准report行为,即在参考书目中显示左右页眉\bibname,并且通常不重置页眉名称\chapter*

答案2

回答你关于如何将代码保存在 bbl 文件中的问题:你不需要。它是一个用于生成参考书目的临时文件。如果你需要将代码放入该文件中,那么你的解决方案就不是解决方案。

关于您的问题:请参阅这个问题

答案3

您可以使用 设置参考书目名称\renewcommand{\bibname}{Bibliografie}

请记住,如果您使用hyperref,您还应该包括:

\newpage{\pagestyle{empty}\cleardoublepage}
\renewcommand{\bibname}{Bibliografie}
\phantomsection
\addcontentsline{toc}{chapter}{Bibliografie}
\bibliographystyle{agsm}
\bibliography{bronnen}

*不需要\input一个名为“Bibliografie”的文件,您可以直接用命令调用它\bibliography{nameofyourfile}

相关内容