Anpassung des Literaturverzeichnis Artikel

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Anpassung des Literaturverzeichnis Artikel

Beitrag von Thieon »

Hallo ihr Lieben,

mit ist mal wieder etwas in meinem Literaturverzeichnis aufgefallen und ich weiß nicht, wie ich das hinbekommen soll. Mittlerweile sind schon so viele Änderungen in der Präambel (234 Zeilen an Code) enthalten, dass ich den Wals vor lauter Bäume nicht mehr sehe.

Name, Vorname: "Titel". Journal Jahrgang, Nummer: Seiten
Bsp:

Heinze, Aiso/Rach, Stefanie: „Welche Studierende sind im ersten Semester erfolg- reich?“. Journal für Mathematik–Didaktik 34, 01/2013: 121–147

Zur Zeit wird es so dargestellt:

Heinze, Aiso/Rach, Stefanie: „Welche Studierende sind im ersten Semester erfolg- reich?“, in: Journal für Mathematik–Didaktik 34.1/2013 (2013), S. 121–147

Hat jemand eine Idee, wie ich nach dem Titel einen Punkt bekomme und kein Komma und wie ich das "in:" wegbekomme und zwischen dem Jahrgang und Nummer ein Komma mit Leerzeichen hinbekomme und weil es so schön war, wie ich nach der Ausgabe ein Doppelpunkt mit Leerzeichen hinbekomme, ohne das die S. erscheint.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle,backend=biber]{biblatex}
\usepackage{soul}
\usepackage{soulutf8}
\usepackage{lmodern}


\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat[online,misc]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[online,misc]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}
\DeclareNameFormat{labelname}{%
\ifnum\value{uniquename}=2%
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}
\else
\ifuseprefix
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
\fi
\usebibmacro{name:andothers}}
\renewcommand*{\nametitledelim}{\labelnamepunct}
\renewbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifnameundef{labelname}
{}
{\printnames{labelname}%
\setunit{\nametitledelim}}%
\usebibmacro{cite:title}
\newunit
\printfield{year}}%
{\usebibmacro{cite:shorthand}}}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Artc1,
  Title                    = {Selektion, Optimierung und Kompensation in Doppelaufgaben},
  Author                   = {Peter Bart Baltes and Alfred Bondar and René Theo Krampe and Michael Andreas Rapp},
  Date                     = {2003},
  Number                   = {3/2013},
  Pages                    = {218 -- 221},
  Volume                   = {74},
  Journaltitle             = {Der Nervenarzt}
}
@Article{Trauma,
  Title                    = {Pädagogische Arbeit in Kinder- und Jugendhilfeeinrichtungen, eine gefahrgeneigte Tätigkeit},
  Author                   = {Célia Steinlin and Sophia Fischer and Claudia Dölitzsch and Jörg M. Fegert and Marc Schmid},
  Date                     = {2015},
  Journaltitle             = {Trauma \& Gewalt},
  Number                   = {1/2015},
  Pages                    = {22 -- 33},
  Subtitle                 = {Ergebnisse einer epidemiologischen Studie},
  URL                      = {https://www.researchgate.net},
  Volume                   = {9}
}
@Article{Artc2,
  Title                    = {Welche Studierende sind im ersten Semester erfolgreich?},
  Author                   = {Aiso Heinze and Stefanie Rach},
  Date                     = {2013},
  Number                   = {1/2013},
  Pages                    = {121 -- 147},
  Volume                   = {34},
  Journaltitle             = {Journal für Mathematik--Didaktik}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{title}{\usefield{\ul}{title}}
\DeclareFieldFormat{citetitle}{\usefield{\ul}{shorttitle}}
\DeclareFieldFormat{booktitle}{\usefield{\ul}{booktitle}}
\DeclareFieldFormat{maintitle}{\usefield{\ul}{maintitle}}
\DeclareFieldFormat{journaltitle}{\usefield{\ul}{journaltitle}}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite=false]{
      \step[fieldsource=title, fieldset=shorttitle, origfieldval]
    }
    \map[overwrite]{
      \step[fieldsource=subtitle, final]
      \step[fieldsource=title]
      \step[fieldset=shorttitle, origfieldval]
      \step[fieldsource=subtitle]
      \step[fieldset=title, fieldvalue={.~}, append]
      \step[fieldset=title, origfieldval, append]
    }
    \map[overwrite]{
      \step[fieldsource=booksubtitle, final]
      \step[fieldset=booktitle, fieldvalue={.~}, append]
      \step[fieldset=booktitle, origfieldval, append]
    }
    \map[overwrite]{
      \step[fieldsource=mainsubtitle, final]
      \step[fieldset=maintitle, fieldvalue={.~}, append]
      \step[fieldset=maintitle, origfieldval, append]
    }
  }
}

\begin{document}
Beispiel 1\footcite[Vgl.][25\psqq]{Trauma}

Beispiel 2\footcite[Vgl.][219\psq]{Artc1}

Beispiel 3\footcite[Vgl.][129 -- 134]{Artc2}

\printbibliography
\end{document}
Ich danke euch jetzt schonmal vielfach.

Gruß

René[/u]

Gast

Beitrag von Gast »

Einige von Deinen Wünschen könnte man auch auf andere Typen verallgemeinern, ich habe das jetzt explizit nicht getan, da ich mir nicht sicher war, ob Du das möchtest.

Dann brauchst Du nur
\renewbibmacro*{in:}{%
  \ifentrytype{article}
    {\printunit{\addperiod\space}}
    {\printtext{\bibstring{in}\intitlepunct}}}

\renewcommand*{\bibpagespunct}{\ifentrytype{article}{\addcolon\space}{\addcomma\space}}

\DeclareFieldFormat[article]{pages}{#1}
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle,backend=biber]{biblatex}
\usepackage{soul}
\usepackage{soulutf8}
\usepackage{lmodern}


\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat[online,misc]{title}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[online,misc]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewcommand*{\labelnamepunct}{\addcolon\addspace}
\renewcommand*{\multinamedelim}{\addslash}
\renewcommand*{\finalnamedelim}{\multinamedelim}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\finentrypunct}{}
\DeclareNameFormat{labelname}{%
\ifnum\value{uniquename}=2%
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}
\else
\ifuseprefix
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
\fi
\usebibmacro{name:andothers}}
\renewcommand*{\nametitledelim}{\labelnamepunct}
\renewbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifnameundef{labelname}
{}
{\printnames{labelname}%
\setunit{\nametitledelim}}%
\usebibmacro{cite:title}
\newunit
\printfield{year}}%
{\usebibmacro{cite:shorthand}}}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@Article{Artc1,
  Title                    = {Selektion, Optimierung und Kompensation in Doppelaufgaben},
  Author                   = {Peter Bart Baltes and Alfred Bondar and René Theo Krampe and Michael Andreas Rapp},
  Date                     = {2003},
  Number                   = {3},
  Pages                    = {218 -- 221},
  Volume                   = {74},
  Journaltitle             = {Der Nervenarzt}
}
@Article{Trauma,
  Title                    = {Pädagogische Arbeit in Kinder- und Jugendhilfeeinrichtungen, eine gefahrgeneigte Tätigkeit},
  Author                   = {Célia Steinlin and Sophia Fischer and Claudia Dölitzsch and Jörg M. Fegert and Marc Schmid},
  Date                     = {2015},
  Journaltitle             = {Trauma \& Gewalt},
  Number                   = {1},
  Pages                    = {22 -- 33},
  Subtitle                 = {Ergebnisse einer epidemiologischen Studie},
  URL                      = {https://www.researchgate.net},
  Volume                   = {9}
}
@Article{Artc2,
  Title                    = {Welche Studierende sind im ersten Semester erfolgreich?},
  Author                   = {Aiso Heinze and Stefanie Rach},
  Date                     = {2013},
  Number                   = {1},
  Pages                    = {121 -- 147},
  Volume                   = {34},
  Journaltitle             = {Journal für Mathematik--Didaktik}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\DeclareFieldFormat{title}{\usefield{\ul}{title}}
\DeclareFieldFormat{citetitle}{\usefield{\ul}{shorttitle}}
\DeclareFieldFormat{booktitle}{\usefield{\ul}{booktitle}}
\DeclareFieldFormat{maintitle}{\usefield{\ul}{maintitle}}
\DeclareFieldFormat{journaltitle}{\usefield{\ul}{journaltitle}}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite=false]{
      \step[fieldsource=title, fieldset=shorttitle, origfieldval]
    }
    \map[overwrite]{
      \step[fieldsource=subtitle, final]
      \step[fieldsource=title]
      \step[fieldset=shorttitle, origfieldval]
      \step[fieldsource=subtitle]
      \step[fieldset=title, fieldvalue={.~}, append]
      \step[fieldset=title, origfieldval, append]
    }
    \map[overwrite]{
      \step[fieldsource=booksubtitle, final]
      \step[fieldset=booktitle, fieldvalue={.~}, append]
      \step[fieldset=booktitle, origfieldval, append]
    }
    \map[overwrite]{
      \step[fieldsource=mainsubtitle, final]
      \step[fieldset=maintitle, fieldvalue={.~}, append]
      \step[fieldset=maintitle, origfieldval, append]
    }
  }
}

\renewbibmacro*{in:}{%
  \ifentrytype{article}
    {\printunit{\addperiod\space}}
    {\printtext{\bibstring{in}\intitlepunct}}}

\renewcommand*{\bibpagespunct}{\ifentrytype{article}{\addcolon\space}{\addcomma\space}}

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

\begin{document}
Beispiel 1\footcite[Vgl.][25\psqq]{Trauma}

Beispiel 2\footcite[Vgl.][219\psq]{Artc1}

Beispiel 3\footcite[Vgl.][129 -- 134]{Artc2}

\printbibliography
\end{document}
Von der Geschichte mit der number habe ich erst mal die Finger gelassen, da ich der Meinung bin, dass die Eingabe number = {1/2015} falsch ist, es reicht number = {1} denn das zugehörige volume macht alles eindeutig, die Jahreszahl wird eh angegeben.

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

\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \setunit{\addcomma\space}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}

\renewbibmacro*{issue+date}{%
  \printfield{issue}%
  \setunit*{\addspace}%
  \usebibmacro{date}%
  \newunit}
was Du brauchst.

Thieon
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 55
Registriert: Mo 12. Okt 2015, 19:00
Wohnort: Meppen
Kontaktdaten:

Beitrag von Thieon »

Anonymous hat geschrieben:

Danke lieber Gast,

Du hast mir sehr geholfen und mein Problem ist gelöst. Vielen lieben Dank.

Genau das habe ich gebraucht.
\renewbibmacro*{in:}{% 
  \ifentrytype{article} 
    {\printunit{\addperiod\space}} 
    {\printtext{\bibstring{in}\intitlepunct}}} 
\renewcommand*{\bibpagespunct}{\ifentrytype{article}{\addcolon\space}{\addcomma\space}} 
\DeclareFieldFormat[article]{pages}{#1}
\renewbibmacro*{journal+issuetitle}{% 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \iffieldundef{series} 
    {} 
    {\newunit 
     \printfield{series}% 
     \setunit{\addspace}}% 
  \usebibmacro{volume+number+eid}% 
  \setunit{\addslash}% 
  \usebibmacro{issue+date}% 
  \setunit{\addcolon\space}% 
  \usebibmacro{issue}% 
  \newunit} 
\renewbibmacro*{volume+number+eid}{% 
  \printfield{volume}% 
  \setunit{\addcomma\space}% 
  \printfield{number}% 
  \setunit{\addcomma\space}% 
  \printfield{eid}} 
\renewbibmacro*{issue+date}{% 
  \printfield{issue}% 
  \setunit*{\addspace}% 
  \usebibmacro{date}% 
  \newunit}
Grüße

René

Antworten