PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibtex Referenzstil ändern



Bastihitzi
12-05-2012, 22:41
Hallo liebes Forum,

gleich vorweg, es tut mir leid, wenn ich hier was frage, was schon beantwortet wurde, aber ich weiß partout nicht, wie das eigentlich heißt, was ich gleich beschreiben werde. Sollte dem so sein, schreibt mir entweder den Namen dessen oder den Link. Danke!

Also, ich habe mit multibib (Stil ist natdin) zwei Literaturverzeichnisse erstellt. Eines für Bildquellen und eines für Literaturquellen. Klappt auch wunderbar, aber...

... vorher (als es nur eines war) und jetzt werden im Text die Referenzen so angegeben: [1]. (Und im Lit-Verz. dann [1] Mustermann, Max ...)

Ist es möglich das so einzustellen, dass die Bilder [B1] erhalten und die Literatur [L1] erhält? Also die Zahl weiterhin die Laufvariable bleibt, aber davor noch ein "beschreibender" Buchstabe?

Und wenn ja, wie?

Viele Dank für eure Hilfe!

Schön Gruß,
Bastihitzi

rais
12-05-2012, 23:17
Moin moin,


Also, ich habe mit multibib (Stil ist natdin) zwei Literaturverzeichnisse erstellt. Eines für Bildquellen und eines für Literaturquellen. Klappt auch wunderbar, aber...

... vorher (als es nur eines war) und jetzt werden im Text die Referenzen so angegeben: [1]. (Und im Lit-Verz. dann [1] Mustermann, Max ...)

Ist es möglich das so einzustellen, dass die Bilder [B1] erhalten und die Literatur [L1] erhält? Also die Zahl weiterhin die Laufvariable bleibt, aber davor noch ein "beschreibender" Buchstabe?

siehe in der Doku zu multibib (texdoc multibib) die Beschreibung zur labeled-Option.

MfG

Bastihitzi
19-05-2012, 21:09
Hallo,

danke für den Hinweis.

Ich habe nun also

\usepackage[labeled, resetlabels]{multibib}

und danach

\newcites{B,L}%
{Bildquellenverzeichnis,Literaturverzeichnis}

Das hatte zur Folge, dass tatsächlich im Lit.-Verz. und im Bildquellenverzeichnis die einzelnen Titel mir [B1], bzw. [L1] betitelt waren. Leider trifft das nicht auf die Referenzen im Text zu, was zur Folge hat, dass man nun um Text [1] hat dieses aber nicht mehr findet, da es in den Verzeichnissen ja nur noch [L1] und [B1] gibt.

Das passiert sowohl mit dem Style plain als auch mit natdin.

Weiß jemand wie man das beheben kann?

Danke und einen schönen Abend,
Bastihitzi

rais
21-05-2012, 20:34
Moin moin,


Ich habe nun also

\usepackage[labeled, resetlabels]{multibib}

und danach

\newcites{B,L}%
{Bildquellenverzeichnis,Literaturverzeichnis}

Das hatte zur Folge, dass tatsächlich im Lit.-Verz. und im Bildquellenverzeichnis die einzelnen Titel mir [B1], bzw. [L1] betitelt waren. Leider trifft das nicht auf die Referenzen im Text zu, was zur Folge hat, dass man nun um Text [1] hat dieses aber nicht mehr findet, da es in den Verzeichnissen ja nur noch [L1] und [B1] gibt.

Das passiert sowohl mit dem Style plain als auch mit natdin.

hast Du ein Minimalbeispiel für uns?
BTW: ist `natdin' nicht ein Autor-Jahr-Zitierstil? AFAIR hieß es in der multibib-Doku, die labeled-Option sei nur bei Verwendung eines numerischen Zitierstils sinnvoll ... vllt irre ich mich auch;-)

MfG

Bastihitzi
24-05-2012, 11:53
Hallo,

ich habe mal ein Minimalbeispiel erstellt.


\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{url}

\usepackage[numbers]{natbib}

\usepackage[labeled, resetlabels]{multibib}

\newcites{B,L}%
{Bildquellenverzeichnis,Literaturverzeichnis}

\begin{document}

Hier ist ein Bildlabel \citeB{Bild}.

Hier soll ein Literaturlabel sein \citeL{Lit}.

\bibliographystyleB{natdin}
\bibliographyB{Literatur}
\bibliographystyleL{natdin}
\bibliographyL{Literatur}

%\bibliographystyleB{plain}
%\bibliographyB{Literatur}
%\bibliographystyleL{plain}
%\bibliographyL{Literatur}


\end{document}


Die dazugehörige bib-Datei:



@book{Lit,
author = "Max Mustemann",
title = "Das Beispielbuch",
publisher = "Irgendwer",
edition = "1. Aufl.",
year = 2012,
},

@misc{Bild,
howpublished ="\url{http://www.internet.de}",
author = "Maxi Musterfrau",
title ="Beispielbild",
year = 2012,
note = "Heute"
}


Ich habe es nun nocheinmal probiert und bei der Wahl von "plain" klappt es tatsächlich so, wie ich es möchte. Allerdings ist das die Ausgabe im Verzeichnis am Ende nicht mir so, wie sie sein sollte. (Autor in Kapitälchen, Titel kursiv etc.)

Es ist richtig, dass das Paket "natbib" und der daraus folgende Stil "natdin" eigentlich mit Autor und Jahr arbeiten. Durch die zusätzliche Option "numbers" wird es aber wie "plain", also mit Zahlen, allerdings bleibt der Stil im Verzeichnis selbst erhalten.

Sollte es möglich sein "natbib" und "multibib" parallel zu nutzen, wäre es schön, wenn ihr mir sagt wie.

Danke!

rais
25-05-2012, 08:45
Moin moin,


Es ist richtig, dass das Paket "natbib" und der daraus folgende Stil "natdin" eigentlich mit Autor und Jahr arbeiten. Durch die zusätzliche Option "numbers" wird es aber wie "plain", also mit Zahlen, allerdings bleibt der Stil im Verzeichnis selbst erhalten.

Sollte es möglich sein "natbib" und "multibib" parallel zu nutzen, wäre es schön, wenn ihr mir sagt wie.

hier ein Versuch:


\documentclass{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{url}
\usepackage{filecontents}
\begin{filecontents}{Literatur.bib}
@book{Lit,
author = "Max Mustemann",
title = "Das Beispielbuch",
publisher = "Irgendwer",
edition = "1. Aufl.",
year = 2012,
},

@misc{Bild,
howpublished ="\url{http://www.internet.de}",
author = "Maxi Musterfrau",
title ="Beispielbild",
year = 2012,
note = "Heute"
}
\end{filecontents}
\usepackage[numbers]{natbib}

\usepackage[labeled, resetlabels]{multibib}

\newcommand*\mysuffix{}
\makeatletter
\def\newcites#1#2{%
\def\@suffixlist{#1,}%
\@for\@newrefname:=#2\do{%
\mylop\@suffixlist\to\@suffix
\expandafter\protected@edef\csname refname\@suffix\endcsname
{\@newrefname}%
\if@filesw
\expandafter\newwrite\csname @auxout\@suffix\endcsname
\expandafter\edef\csname @auxout\@suffix name\endcsname{\@suffix}%
\begingroup
\makeatletter
\@input@{\csname @auxout\@suffix name\endcsname .aux}%
\endgroup
\immediate\openout\csname @auxout\@suffix\endcsname
\csname @auxout\@suffix name\endcsname .aux
\fi
\@for\@citename:=\@mb@citenamelist\do{%
\expandafter\edef\csname \@citename\@suffix\endcsname{%
\let\noexpand\@citex\noexpand\mb@@citex
\let\noexpand\mysuffix\@suffix%<--
\let\noexpand\@newciteauxhandle\csname @auxout\@suffix\endcsname
\noexpand\csname\@citename\endcsname}%
}%
\expandafter\edef\csname nocite\@suffix\endcsname##1{{%
\let\noexpand\@auxout\csname @auxout\@suffix\endcsname
\noexpand\nocite{##1}}}%
\iflabeled % if option labeled
\expandafter\edef\csname @bibitem\@suffix\endcsname##1{%
\noexpand\item
\noexpand\if@filesw \noexpand\immediate\noexpand\write\noexpand\@auxou t
{\noexpand\string\noexpand\bibcite{##1}%
{\@suffix\noexpand\the\noexpand\value{\noexpand\@l istctr}}}%
\noexpand\fi
\noexpand\ignorespaces}%
\expandafter\edef\csname @biblabel\@suffix\endcsname##1{[\@suffix##1]}%
\fi % end if option labeled
\expandafter\edef\csname bibliography\@suffix\endcsname##1{{%
\let\noexpand\temp@auxout\noexpand\@auxout
\let\noexpand\addtocontents\noexpand\mb@addtoconte nts
\let\noexpand\@auxout\csname @auxout\@suffix\endcsname
\let\noexpand\jobname
\expandafter\noexpand\csname @auxout\@suffix name\endcsname
\let\noexpand\refname
\expandafter\noexpand\csname refname\@suffix\endcsname
\let\noexpand\bibname
\expandafter\noexpand\csname refname\@suffix\endcsname
\iflabeled
\let\noexpand\@bibitem
\expandafter\noexpand\csname @bibitem\@suffix\endcsname
\let\noexpand\@biblabel
\expandafter\noexpand\csname @biblabel\@suffix\endcsname
\fi
\noexpand\bibliography{##1}%
}}
\expandafter\edef\csname bibliographystyle\@suffix\endcsname##1{%
\noexpand\if@filesw
\noexpand\immediate\noexpand\write\csname @auxout\@suffix\endcsname
{\noexpand\string\noexpand\bibstyle{##1}}%
\noexpand\fi}
}%
}
\AtBeginDocument{%
\renewcommand\@cite%
[3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\ fi
\mysuffix#1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\el se\mysuffix#1\fi\endgroup}
}
\makeatother

\newcites{B,L}%
{Bildquellenverzeichnis,Literaturverzeichnis}

\begin{document}

Hier ist ein Bildlabel \citeB{Bild}.

Hier soll ein Literaturlabel sein \citeL{Lit}.

\bibliographystyleB{natdin}
\bibliographyB{Literatur}
\bibliographystyleL{natdin}
\bibliographyL{Literatur}
\end{document}

ggf. lohnt es, den multibib-Author darauf anzusprechen.

MfG

Bastihitzi
27-05-2012, 16:37
Das funktioniert einwandfrei!

DANKE!!!