![修改 .bst 文件,将页码放在末尾](https://linux22.com/image/268574/%E4%BF%AE%E6%94%B9%20.bst%20%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B0%86%E9%A1%B5%E7%A0%81%E6%94%BE%E5%9C%A8%E6%9C%AB%E5%B0%BE.png)
我的问题很简单,但我徒劳地寻找答案。目前,我的参考书目样式 (.bst) 为文章提供了以下结果:
Baumgärtel Hans,《Julius Weisbach与新市场艺术在实践中的指导》,《山地施工、木材加工和相关科学》杂志,13(1),第 371-377 页,1961 年。
我希望在日期后显示页码,因此请这样做:
Baumgärtel Hans,《Julius Weisbach 和新市场艺术在实践中的指导》,Zeitschrift für Bergbau, Hüttenwesen und verwandteWissenschaften,13 (1),1961 年,第 371-377 页。
这是该功能,我曾尝试使用它,但我真的不明白它是如何工作的:
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output new.block
format.title quote "title" output.check
new.block
crossref missing$
{ journal emphasize "journal" output.check
eid empty$
{ format.vol.num.pages output } %
{ format.vol.num.eid output }
if$
format.date "year" output.check
}
{ format.article.crossref output.nonnull
eid empty$
{ format.pages output }
{ format.eid output }
if$
}
if$
format.issn output
format.doi output
format.url output
new.block
note output
fin.entry
}
如果你能帮助我,我将提前致谢......托马斯
所有使用的软件包的列表:
\usepackage{appendix} \usepackage{bredele} % Appel de bredele.sty %\usepackage[sectionbib]{natbib} %\usepackage{bibtopics} \usepackage[round]{natbib} \usepackage{amsmath} \usepackage[nodisplayskipstretch]{setspace} % pour virer les espaces dans les environnements equation et alig\usepackage{etoolbox} % it\usepackage{array} \usepackage[bottom]{footmisc} % pour coller les notes en bas de page \usepackage{array} % pour centrer verticalement dans les tableaux \usepackage{multirow}
\usepackage[T1]{fontenc} % un peu superflu, pour tenter d'améliorer l'hyphenation
\usepackage{lmodern} % un peu superflu, pour tenter d'améliorer l'hyphenation
\usepackage{index} % pour l'index
\usepackage{splitidx} % REMPLACE
\usepackage{multind} %
\usepackage[T1]{fontenc} % NEW %
\usepackage[utf8]{inputenc} % NEW
\usepackage{colortbl}% pour les lignes en gris %
\usepackage{etoolbox} % pour utiliser \BeforeBeginEnvironment
\usepackage{french}[babel]
\usepackage{array}
\usepackage{lscape}
\usepackage[table]{xcolor} % mettre des cases de tableau en couleur %\usepackage{hyperref} % met des liens %
\usepackage{appendix}
\usepackage{chngcntr}
\usepackage[compact]{titlesec}
\usepackage{tikz} % pour des diagrammes simples
\usepackage[strict]{changepage} % pour mettre de grandes marges sur les pages d'annexes \usepackage{enumitem} \setlist{nolistsep}
\usepackage{framed} % pour mettre des textes dans des boites
答案1
将原始文件保存abbrvnat.bst
在您的工作目录中并将其重命名为例如。mod-abbrvnat.bst
现在您必须修改两个函数:format.vol.num.pages
和article
:
修改如下:
535 行
FUNCTION {format.vol.num.pages} { volume field.or.null number empty$ 'skip$ { "\penalty0 (" number * ")" * * volume empty$ { "there's a number but no volume in " cite$ * warning$ } 'skip$ if$ } if$ format.date "year" output.check %<-new pages empty$ 'skip$ { duplicate$ empty$ { pop$ format.pages } { ", \penalty0 " * pages n.dashify * }%<-comma new, old : if$ } if$ }
700 行
FUNCTION {article} { output.bibitem format.authors "author" output.check author format.key output new.block format.title "title" output.check new.block crossref missing$ { journal emphasize "journal" output.check eid empty$ { format.vol.num.pages output } { format.vol.num.eid output } if$ % format.date "year" output.check%<commented } { format.article.crossref output.nonnull eid empty$ { format.pages output } { format.eid output } if$ } if$ format.issn output format.doi output format.url output new.block note output fin.entry }
经过此修改后,mwe 提供以下内容:
\documentclass [12pt,a4]{book}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Baumgaertel,
title={Julius Weisbach und die Einführung der neuen Markscheidekunst in die Praxis},
author={Baumgärtel, Hans},
journal="Zeitschrift für Bergbau, Hüttenwesen und verwandteWissenschaften",
volume={13},
number={1},
pages={pp~371 -- 377},
year={1961}
}
\end{filecontents}
\begin{document}
\cite{Baumgaertel}
\bibliographystyle{mod-abbrvnat}
\bibliography{\jobname}
\end{document}
请注意,其他情况需要进行更多修改。我建议使用biblatex
。