Eigenen Bibliography Style erstellen: Wo hin damit?

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


Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Ein Minimalbeispiel wäre trotzdem sinnvoll, dann könnte man z.B. sehen, wie
du die Daten in die .bib-Datei eingibst. Benutzt du das year-Feld, was steht
darin? Benutzt du das date-Feld? Benutzt du es so, wie biblatex das vorsieht?
Ich könnte jetzt lange Erklärungen schreiben, um alle Eventualitäten
abzudecken, aber wenn ich sehe, was du machst, kann ich evtl. ganz schnell
sagen, was für Lösungsmöglichkeiten es gibt.

Gruß,
Dominik.-

senior_hombre
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Fr 26. Nov 2010, 20:46

Beitrag von senior_hombre »

Alles klar dann hier das Minimalbeispiel:
\documentclass[a4paper]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[german=guillemets]{csquotes}
\usepackage[backend=biber,bibstyle=numeric-own,citestyle=numeric]{biblatex}
\bibliography{lit}

\begin{document}
	Das ist ein Zitat \cite{test}	
	\printbibliography 
\end{document}
lit.bib:
@article{test,
 author = {H. Müller and R. H. Meier and K. Schmidt and Franz Bauer},
 title = {Langer Titel zum Testen},
 journaltitle = {Phys. Rev. B},
 year = {3000},
 month = {12},
 volume = {234},
 number = {32},
 pages = {123456}
}
Jetzt noch mein numeric-own.bbx file:
\ProvidesFile{numeric-own.bbx}
\RequireBibliographyStyle{numeric}

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

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

\DeclareFieldFormat[article]{pages}{#1}
\DeclareFieldFormat[article]{volume}{\textbf{#1}}
\endinput

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Einfache Möglichkeit: lass den Monat in der bib-Datei weg.

Etwas aufwändigere Möglichkeit: Definiere das bibmacro issue+date um, z.B. so:
\renewbibmacro*{issue+date}{%
  \printtext[parens]{%
    \iffieldundef{issue}
      {\iffieldundef{year}
        {}
        {\printfield{year}}}
      {\printfield{issue}%
       \iffieldundef{year}
        {}
        {\setunit*{\addspace}%
         \printfield{year}}}}%
  \newunit}

senior_hombre
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Fr 26. Nov 2010, 20:46

Beitrag von senior_hombre »

Hmm danke, sowas hatte ich auch versucht (nur hatte ich nicht auf vorhandensein von Year geprüft da dies im Original auch nicht gemacht wurde) aber bei meinem Versuch hat es nicht geklappt, jetzt geht es aber danke.

Ist es eigentlich wichtig ständig diese "%" Komentareinleitungssymbole an die anden der Zeilen zu setzen? Das scheint ja nicht bei jeder Zeile gemacht zu werden, welcher Logik folgt das?

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

senior_hombre hat geschrieben:Ist es eigentlich wichtig ständig diese "%" Komentareinleitungssymbole an die anden der Zeilen zu setzen?
Ja, da ansonsten überflüssige Leerzeichen auftreten können.
Das scheint ja nicht bei jeder Zeile gemacht zu werden, welcher Logik folgt das?
Das ist nicht auf den ersten Blick ersichtlich, das gebe ich zu. Ganz
hundertprozentig sicher bin ich mir auch nicht immer, dann setze ich lieber
ein »%« zuviel, das schadet nicht. Bei den Tests wie z.B. \iffieldundef
muss es nur ganz am Ende stehen, die restlichen Leerzeichen (also
Zeilenenden) werden ignoriert:
\iffieldundef{year}
  {…}
  {…}%
…
Gruß,
Dominik.-

Schneemensch
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 28. Nov 2011, 11:09

Beitrag von Schneemensch »

Da ich gerade ein ähnliches Problem habe belebe ich diesen Thread mal wieder.
domwass hat geschrieben:
Desweiten habe ich auch noch nicht herrausgefunden ob man die Änderungen in eben jenem Biblatex Verzeichnis vornimmt oder ob man die Änderungen quasi für jedes Dokument extra im Dokumentenverzeichnis vornimmt.
Eigentlich weder – noch. Auf jeden Fall nie im biblatex-Verzeichnis, denn
dann könnten deine Änderungen nach einem Update verlorengehen. Am
besten macht man das in einem lokalen TEXMF-Baum oder in einem dafür
vorgesehenen Benutzerverzeichnis der TeX-Distribution. Siehe dazu auch
http://projekte.dante.de/DanteFAQ/TDS,
http://projekte.dante.de/DanteFAQ/Verschiedenes#67 und evtl.
http://projekte.dante.de/DanteFAQ/PaketInstallation.
Da ich auch gerade dabei bin einen für mich passenden Biblatexstil zu bauen und aus den Links nicht wirklich schlauer werde: Was heißt das jetzt genau, wo sollen die modifizierten Dateien hin, damit sie gefunden werden?

Wenn ich einfach nur authoryear.bbx und .cbx kopiere und umbenenne, dann bekomme ich bei der Ausführung eine Fehlermeldung dass der Stil nicht gefunden wurde.

Antworten