PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bibliography style (mit biblatex)



joey
09-01-2011, 11:09
Liebes Forum,

meine Dissertation mit Latex liegt in den letzten Zügen. Wie viele andere auch scheitere ich leider nun an der Anpassung des bibliography-styles nach den Vorgaben meiner Uni.
Ich konnte bislang trotz fleissiger googelei keinen passendes *.sty file finden. Danach habe ich Biblatex installiert, schaffe nur leider nicht, es gemäss meinen wünschen anzupassen,geschweige denn meinen eigenen style zu definieren.

1. hat jemand vielleicht ein *sty file, das u.g. beispiel entspricht? oder
2. kann mir jemand mit der Anpassung mit biblatex helfen?

die Literatur muss nach folgendem (article) Beispiel formatiert werden:


Müller A, Schmidt B, Meier C. Vollständiger Titel des Papers. J Neuroimmunol 2009; 216:85-91.


Also: Autoren ohne Punkt zur Abkürzung des Vornamens, getrennt durch Kommata. Titel des Papers. Journal ohne "in" davor. Jahr. Volume. Seiten.


Ihr wärt mir eine riesige Hilfe! Vielen Dank schon mal!

Joey

mechanicus
09-01-2011, 15:18
Hi,

gewöhne dir an, ein Minimalbeispiel zu erstellen.

Gruß
Marco

Curnen
09-01-2011, 23:57
Also Minimalbeispiel nutzt da wirklich wenig. Aber wenn du wissen solltest, an was für einem Journal sich die Vorgabe orientiert, dann kann man dir leichter helfen.

Erinnert mich im Prinzip an eines der Journale der American Chemical Society. Das betreffende Paket heißt achemso .

Mal einen Schuss ins Blaue, ohne es ausprobiert zu haben:

\usepackage[journal=jmcmar,usetitle=true]{achemso}

sollte deinem gewünschten Ergebnis zumindest nahe kommen.

VG
Matthias

joey
10-01-2011, 11:49
Vielen dank euch beiden.

Habe das mit achemso ausprobiert:



@ARTICLE{liu:11,
author = {Shumin Liu and Fang Lu and Xijun Wang and Wenjun Sun and Pingping
Chen and Wanru Dong},
title = {Metabolomic Study of a Rat Fever Model Induced with 2,4-Dinitrophenol
and the Therapeutic Effects of a Crude Drug Derived from Coptis chinensis.},
journal = {Am J Chin Med},
year = {2011},
volume = {39},
pages = {95--109},
number = {1},
abstract = {This study... },
owner = {Jo},
pii = {S0192415X11008671},
pmid = {21213401},
timestamp = {2011.01.10}
}

************************************************** ****

\documentclass[a4paper]{article}
\usepackage[journal=jmcmar,usetitle=true]{achemso}
\begin{document}
\title{Ein Minimalbeispiel}
\maketitle
\section{Ein Abschnitt}

Hier steht ein Beispielartikel~\cite{liu:11}.


\bibliography{sample}
\end{document}

Leider hat der eintrag [journal=jmcmar] keinen effekt, wenn ich jmcmar durch ein anderen journal aus der liste in der documentation zu achemso ersetze, ändert sich nichts am bibliographystyle.
In meinem Beispiel werden die Autorenvornamen leider immer noch mit einem Punkt abekürzt und durch semikolon getrennt, so darf ich leider nicht zitieren.

mechanicus
10-01-2011, 17:45
Hi,

mit biblatex sollte das funktionieren.


\RequirePackage{filecontents}
\begin{filecontents}{sample.bib}
@ARTICLE{liu:11,
author = {Shumin Liu and Fang Lu and Xijun Wang and Wenjun Sun and Pingping
Chen and Wanru Dong},
title = {Metabolomic Study of a Rat Fever Model Induced with 2,4-Dinitrophenol
and the Therapeutic Effects of a Crude Drug Derived from Coptis chinensis.},
journal = {Am J Chin Med},
year = {2011},
volume = {39},
pages = {95--109},
number = {1},
abstract = {This study... },
owner = {Jo},
pii = {S0192415X11008671},
pmid = {21213401},
timestamp = {2011.01.10}
}
\end{filecontents}


\documentclass[a4paper,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[style=authortitle,maxnames=10]{biblatex}

\bibliography{sample}
\begin{document}
Hier steht ein Beispielartikel~\cite{liu:11}.

\printbibliography
\end{document}

Allerdings sind hier noch keine weiteren Anpassungen vorgenommen worden.

Was genau geändert werden sollte, ist u.a. vom Eintragstyp abhängig. Ein Buch sollte wohl anders referenziert werden, als ein Artikel.

Gruß
Marco

joey
10-01-2011, 22:18
Hallo,

erstmal danke für die hilfe. leider liefert das beispiel nicht den gewünschten stil.
Es muss strikt nach der Form

Nachname1 Vorname1, Nachname2 Vorname2. Titel. Journal Jahr; Volume; Seite-Seite

sein, und zwar mit der selben Kommasetzung und Punktsetzung wie beschrieben.
Also z.B.:

Müller A, Schmidt B, Meier C. Expanded TCR Beta subsets in myasthenia gravis. J Neuroimmunol 2009; 216:85-91.


Kann mir da einer beim Anpassen mit biblatex helfen? ich kriege das nicht ansatzweise hin...:confused:

bobmalaria
11-01-2011, 01:00
hi,

ich bin absolut kein biblatex experte, aber ich pfusche mal ganz gerne.

das habe ich zusammengezimmert


\RequirePackage{filecontents}
\begin{filecontents}{sample.bib}
@ARTICLE{liu:11,
author = {Paul Wood and Chris Sharma and Steven Gerrard},
title = {a title of a paper},
journal = {J. Sport Press},
year = {2011},
volume = {39},
pages = {95--109},
number = {1},
abstract = {This study... },
owner = {Jo},
pii = {S0192415X11008671},
pmid = {21213401},
timestamp = {2011.01.10}
}
\end{filecontents}


\documentclass[a4paper,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[style=authortitle,maxnames=10,firstinits=true]{biblatex}

%#1 = Nachname
%#2 = Nachname (Initialen)
%#3 = Vorname
%#4 = Vorname (Initialen)
%#5 = Namenspräfix, also der "von-Teil"
%#6 = Namenspräfix (Initialen)
%#7 = Namensaffix, auch bekannt als "Junior-Teil"
%#8 = Namensaffix (Initialen)
\DeclareNameFormat{sortname}{%
\ifnumequal{\value{listcount}}{1}
{\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\ifblank{#3#5}
{}
{\usebibmacro{name:revsdelim}}}
{\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}}%
\usebibmacro{name:andothers}}

\renewcommand{\multinamedelim}{, }
\renewcommand{\finalnamedelim}{, }


\renewbibmacro*{note+pages}{%
%\printfield{note}%
%\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}

\renewbibmacro*{issue+date}{%
\printtext[]{%
\iffieldundef{issue}
{\printdate}
{\printfield{issue}%
\setunit{\addspace}%
\printfield{year}}}%
\setunit{\addsemicolon\addspace}}

\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\setunit{\addspace}
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{issue+date}%
\printfield{volume}%
% \setunit{\addcolon}%
% \printfield{number}%
% \setunit{\addcomma\space}%
% \printfield{eid}%
% \setunit{\addspace}%
%
% \setunit{\addcolon\space}%
% \usebibmacro{issue}%
% \setunit{\addspace}
}%

\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
% % \usebibmacro{in:}%
\usebibmacro{journal+issuetitle}%
%\newblock
\setunit{\addcolon}%
% \usebibmacro{byeditor+others}%
% \setunit{\addspace}\newblock
\usebibmacro{note+pages}%
% \setunit{\addspace}\newblock
% \iftoggle{bbx:isbn}
% {\printfield{issn}}
% {}%
% \newunit\newblock
% \usebibmacro{doi+eprint+url}%
% \newunit\newblock
% \usebibmacro{addendum+pubstate}%
% \newunit\newblock
% \usebibmacro{pageref}%
\usebibmacro{finentry}%
}

\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{journaltitle}{#1}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{number}{#1}

\bibliography{sample}
\begin{document}
Hier steht ein Beispielartikel~\cite{liu:11}.

\printbibliography
\end{document}

http://dl.dropbox.com/u/15487093/biblatex-test.jpg

der befehl wie zitate im text aussehen ist nicht angepasst, dazu hast du noch keine anforderungen gepostet. die änderungen beziehen sich alleine auf das linteraturverzeichnis

rstuby
11-01-2011, 07:24
Da steht doch immer noch ein Komma zwischen Nach- und Vorname und ein Punkt nach dem Initial...

joey
11-01-2011, 10:47
hallo bobmalaria,

danke für das umfangreiche beispiel. leider hat rstuby recht, es steht immer noch ein Komma zwischen Nachname und Initial.
Ausserdem wird bei mir nur der erste author abgedruckt, danach wird mit "u.a." abgekürzt. ich bräuchte aber eine auflistung aller autoren im literaturverzeichnis.

der zitierstil im text sollte "style=authoryear" sein. wenn ich diese option aber setzte, erscheint im literaturverzeichnis ebenfalls das jahr in klammern nach dem author, also

Schmidt, C u.a. (1999)... das ist leider gegen meine vorgabe.

das beispiel ist also schon mal prima, ändern müsste man noch
a) zitierweise "style=authoryear" im text, im literaturverzeichnis soll das jahr aber nach "journal" und vor "volume" stehen (s. meine anderen posts)
b) anzeige aller authoren im literaturverzeichnis
c) Trennung der authoren im literaturverzeichnis nur mit Komma, keine trunkierung der vornamen mit punkt

wenn das jetzt noch einer hinkriegt wär´s genial. ich habe versucht, den code von bobmalaria nachzuvollziehen, vestehe aber nur die hälfte
würde ich auch erkenntlich zeigen, wenn das jemadn hinbekommt und da eine stunde arbeit reinstecken muss (-:

bobmalaria
11-01-2011, 11:01
hi,

du kannst einfach bei den optionen citestyle=authoryear angeben, dann klappt das im text.
wie man das komma zwischen den namen aendert und den punkt bei den initialen wegmacht weiss ich gerade nicht, aber mal sehen was sich noch finden laesst.

wie muss denn ein zitat im text aussehen? Alle autoren oder nur einer, voll ausgeschrieben oder wieder abgekuerzt, das jahr in klammern oder nicht?

das bei dir ein u.a. erscheint kannst du sicher mit der option maxnames=10 beheben wie auch im beispiel. dann werden z.b. bis zu 10 autorennamen ausgegeben.

gruss

bobmalaria
11-01-2011, 11:56
hi,

ich habe das problem mit den namenstrennern und dem initialen-punkt mal hier (http://tex.stackexchange.com/questions/8703/modify-the-last-name-first-name-seperator-in-biblatexs-authortitle)gepostet weil es mich selbst interessiert hat. herbert voss hat auch gleich eine loesung parat gehabt die funktioniert.


\RequirePackage{filecontents}
\begin{filecontents}{sample.bib}
@ARTICLE{liu:11,
author = {Paul Wood and Chris Sharma and Steven Gerrard},
title = {a title of a paper},
journal = {J. Sport Press},
year = {2011},
volume = {39},
pages = {95--109},
number = {1},
abstract = {This study... },
owner = {Jo},
pii = {S0192415X11008671},
pmid = {21213401},
timestamp = {2011.01.10}
}
\end{filecontents}


\documentclass[a4paper,ngerman]{scrartcl}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csquotes}
\usepackage[style=authortitle,citestyle=authoryear,maxnames=10 ,firstinits=true]{biblatex}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Danke Herbert Voss
\makeatletter
\def\MKbibnamefirst#1{\expandafter\mkbibnamefirst@ i#1..\@nil}
\def\mkbibnamefirst@i#1.#2.#3\@nil{#1}

\renewbibmacro*{name:last-first}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\ifblank{#3}{}{%
\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}}%
\ifpunctmark{'}{}{\addhighpenspace}}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\ isdot}%
\ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}} }
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\addlowpenspace\mkbibnameaffix{#4}\ isdot}%
% \ifblank{#2#3}{}{\addcomma}%
\ifblank{#2}{}{\addlowpenspace\MKbibnamefirst{#2}} %
% \ifblank{#3}{}{\addlowpenspace\mkbibnameprefix{#3} \isdot}
}}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%#1 = Nachname
%#2 = Nachname (Initialen)
%#3 = Vorname
%#4 = Vorname (Initialen)
%#5 = Namenspräfix, also der "von-Teil"
%#6 = Namenspräfix (Initialen)
%#7 = Namensaffix, auch bekannt als "Junior-Teil"
%#8 = Namensaffix (Initialen)

\DeclareNameFormat{sortname}{%
\ifnumequal{\value{listcount}}{1}
{\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
\ifblank{#3#5}
{}
{\usebibmacro{name:revsdelim}}}
{\iffirstinits
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}}%
\usebibmacro{name:andothers}}

\renewcommand{\multinamedelim}{, }
\renewcommand{\finalnamedelim}{, }

\renewbibmacro*{author}{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\printnames{author}%
\setunit{\addspace}%
\usebibmacro{bbx:savehash}}%
\usebibmacro{authorstrg}}
{\global\undef\bbx@lasthash}}

\renewbibmacro*{note+pages}{%
%\printfield{note}%
%\setunit{\bibpagespunct}%
\printfield{pages}%
\newunit}

\renewbibmacro*{issue+date}{%
\printtext[]{%
\iffieldundef{issue}
{\printdate}
{\printfield{issue}%
\setunit{\addspace}%
\printfield{year}}}%
\setunit{\addsemicolon\addspace}}

\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\iffieldundef{series}
{}
{\setunit{\addspace}
\printfield{series}%
\setunit{\addspace}}%
\usebibmacro{issue+date}%
\printfield{volume}%
% \setunit{\addcolon}%
% \printfield{number}%
% \setunit{\addcomma\space}%
% \printfield{eid}%
% \setunit{\addspace}%
%
% \setunit{\addcolon\space}%
% \usebibmacro{issue}%
% \setunit{\addspace}
}%

\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bytranslator+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
% % \usebibmacro{in:}%
\usebibmacro{journal+issuetitle}%
%\newblock
\setunit{\addcolon}%
% \usebibmacro{byeditor+others}%
% \setunit{\addspace}\newblock
\usebibmacro{note+pages}%
% \setunit{\addspace}\newblock
% \iftoggle{bbx:isbn}
% {\printfield{issn}}
% {}%
% \newunit\newblock
% \usebibmacro{doi+eprint+url}%
% \newunit\newblock
% \usebibmacro{addendum+pubstate}%
% \newunit\newblock
% \usebibmacro{pageref}%
\usebibmacro{finentry}%
}

\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{journaltitle}{#1}
\DeclareFieldFormat{pages}{#1}

\bibliography{sample}
\begin{document}
Hier steht ein Beispielartikel~\cite{liu:11}.

\printbibliography
\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=4271&stc=1&d=1294743346

joey
11-01-2011, 13:04
Juchhu! Ihr Beispiel klappt wirklich ausgezeichnet! vielen dank, das hätte ich selbst nie hinbekommen. jetzt ist es fast geschafft...

wenn ich ihr mini kompiliere, ist es fast perfekt. Im text benötige ich aber das format "Nachname-Author1 u.a. Jahr" und nicht alle Authoren, siehe unten:


http://img207.imageshack.us/img207/491/beispiely.jpg

Wenn ich "maxnames=1" setzte, stimmt zwar das format im text, dafür zeigt er mir aber in der bibliografie natürlich aber auch nur einen athor an...

Ausserdem bekomme ich folgende Fehlermeldung beim kompilieren:
"Biblatex warning: conflicting options. ´firstinits´conflicts with ´uniquenname=true´" hat das was damit zu tun?

bobmalaria
11-01-2011, 13:57
hi,

das geht eigentlich ganz einfach. mit

\usepackage[maxnames=1]{biblatex}

das zaehlt dann im text und dann einfach fuer die ausgabe

\printbibliography[maxnames=99]

dann sollte es so herauskommen wie gewuenscht.

gruss

ps: die warnung bekomme ich mit meiner biblatex v1.1a nicht

joey
11-01-2011, 15:07
wahnsinn! vielen, vielen dank! hatte mich schon damit abgefunden, ein script zum auslesen erstellen zu müssen und irgendwie herumzupfuschen...aber jetzt geht alles!

ich habe das aktuelle miktex 1.9 und biblatex vor ein paar tagen über den packagemanager installiert. damit sollte es ja eigentlich die aktuellste version sein, oder?

habe das mini jetzt auf mein projekt übertragen. das ist ein scrbook. muss ich dabei noch irgendwas beachten?
habe mir direkt eine neue Version von Jabref installiert. Beim Kompilieren zeigt er mir für jeden Literatureintrag eine Warnung an "invalid format of field 'month' "
ist aber nicht tragisch, das verschwindet, wenn ich manuel im Feld für "monat" den eintrag von z.b. "Feb" auf "2" setze. Wissen Sie, wie ich Jabref einetellen muss, das richtige Format automatisch einzusetzen?

Und als letztes: Kann man noch zwischen die Einträge im Literaturverzeichnis ein automatisches \smallskip oder so einfügen? die sind noch etwas gequetscht... (-:

viele grüsse
johannes

lockstep
11-01-2011, 18:31
Und als letztes: Kann man noch zwischen die Einträge im Literaturverzeichnis ein automatisches \smallskip oder so einfügen? die sind noch etwas gequetscht... (-:


\setlength{\bibitemsep}{0.5\baselineskip}


Siehe auch S. 90 der Doku.

lockstep

joey
12-01-2011, 10:24
Perfekt! Jetzt bin ich wunschlos glücklich!
Vielen Dank euch allen!

joey
12-01-2011, 12:05
...eine letzte sache noch:

konnte nun die bibliography mit ein paar optionen aus der dokumentation nach meinen wünschen gut anpassen.
Schön wäre es nur noch, die Authoren im Literaturverzeichnis in kapitälchen zu drucken, wie es bei manchen Stilen voreingestellt ist. Habe dafür keine option in der Dokumentation gefunden.

Weiss jemand, wie das möglich ist?

Gruss
Johannes

voss
12-01-2011, 12:20
konnte nun die bibliography mit ein paar optionen aus der dokumentation nach meinen wünschen gut anpassen.
Schön wäre es nur noch, die Authoren im Literaturverzeichnis in kapitälchen zu drucken, wie es bei manchen Stilen voreingestellt ist. Habe dafür keine option in der Dokumentation gefunden.

Weiss jemand, wie das möglich ist?



\renewcommand\mkbibnamelast[1]{\textsc{#1}}

Den Vornamen setzt man normalerweise nicht in Kapitälchen

bobmalaria
12-01-2011, 12:21
hi,

ungetetstet sollte sowas in der form

\DeclareFieldFormat{author}[article]{\textsc{#1}}

gehen.

joey
12-01-2011, 12:31
Danke euch allen vielmals.


\renewcommand\mkbibnamelast[1]{\textsc{#1}}

hat bestens funktioniert. Sieht super aus!