BibTeX:.bst 样式适用于参考书目,但不适用于引文

BibTeX:.bst 样式适用于参考书目,但不适用于引文

我并不是一个很有经验的LaTeX人。

我所创造的:

  • .tex使用的文件LyX
  • .bib使用书目JabRef
  • 也是我自己适合使用的 .bst风格BibTeXcustom-bibmakebst

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}

生产

示例输出

相关内容