我并不是一个很有经验的LaTeX
人。
我所创造的:
.tex
使用的文件LyX
.bib
使用书目JabRef
- 也是我自己适合使用的
.bst
风格BibTeX
custom-bib
makebst
pdflatex
的输出:
(.pdf
生成的文件pdflatex file.tex
-转换为纯文本)
Meine QuellenangabeLundberg vgl. 2003, 3, direkt vor dem restlichen
Text.
Literatur # German for bibilography
Lundberg, Ulla-Lena (2003). Selbstporträt mit Flügeln. Stuttgart: Klett-
Cotta.
我的问题:
这样,参考书目就很完美了,但是文中的引用却不可接受:
Text beforeLundberg vgl. 2003, 3 text after
但我希望引用如下:
Text before (vgl. Lundberg 2003: 3) text after
这就是我的文件引用样式.bst
。但似乎我的.bst
文件只应用于参考书目,而不应用于文本中的引用。
[更新]
使用\citep
而不是\citealt
,我的引用\citep[vgl.][3]{Lundberg}
现在看起来像这样:
Text before (vgl. Lundberg, 2003, 3) text after
我怎样才能将,
页码前的 替换为冒号和空格(:
)?(像这样:)
Text before (vgl. Lundberg, 2003: 3) text after
我的问题:
LaTeX
我怎样才能引用样式如上所述? - 我想要我的.bst
风格也应用于我的引用。
感谢您的想法和答案。 - 如果我的问题不是这样清楚的,请写一条评论告知我。
资料来源:
% file.tex
\documentclass[12pt,ngerman]{article}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[authoryear]{natbib}
\makeatletter
\@ifundefined{date}{}{\date{}}
\makeatother
\usepackage{babel}
\begin{document}
\bibliographystyle{file}
Meine Quellenangabe\citealt[vgl.][3]{Lundberg}, direkt vor dem restlichen Text.
\bibliography{file}
\end{document}
% file.bib
@BOOK{Lundberg,
title = {Selbstporträt mit Flügeln},
publisher = {Stuttgart: Klett-Cotta},
year = {2003},
author = {Ulla-Lena Lundberg},
timestamp = {2013.01.07}
}
% file.bbl
\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
{\catcode`\|=0\catcode`\#=12\catcode`\@=11\catcode`\\=12
|immediate|write|@auxout{\expandafter\ifx\csname
natexlab\endcsname\relax\gdef\natexlab#1{#1}\fi}}
\harvarditem{Lundberg}{2003}{Lundberg}
Lundberg, Ulla-Lena \harvardyearleft 2003\harvardyearright{}.
\newblock Selbstporträt mit Flügeln.
\newblock Stuttgart: Klett-Cotta.
\end{thebibliography}
答案1
首先,该.bst
文件不控制文中引用的格式,它只处理参考书目的格式。
现在natbib
提供各种引用命令和自定义方法。要获取带括号的引用,请使用\citep
。要将文章注释前的标点符号从逗号调整为冒号,您可以使用\setcitestyle
命令notesep
通过
\setcitestyle{notesep={: }}
将这些放在一起您的.tex
文件就变成(用来plainnat
代替您未发布的.bst
文件):
\documentclass[12pt,ngerman]{article}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[authoryear]{natbib}
\makeatletter
\@ifundefined{date}{}{\date{}}
\makeatother
\setcitestyle{notesep={: }}
\usepackage{babel}
\begin{document}
\bibliographystyle{plainnat}
Meine Quellenangabe \citep[vgl.][3]{Lundberg}, direkt vor dem restlichen Text.
\bibliography{file}
\end{document}
生产