Eigenen Bibliography Style erstellen: Wo hin damit?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Eigenen Bibliography Style erstellen: Wo hin damit?

von Schneemensch » Do 9. Aug 2012, 13:19

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.

von domwass » Do 9. Dez 2010, 08:38

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.-

von senior_hombre » Mi 8. Dez 2010, 14:46

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?

von domwass » Mi 8. Dez 2010, 14:16

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}

von senior_hombre » Mi 8. Dez 2010, 13:57

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

von domwass » Mi 8. Dez 2010, 13:13

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.-

von senior_hombre » Mi 8. Dez 2010, 12:18

Was den letzten Punkt angeht, alle meine Versuche den Monat vor dem Jahr aus der Literaturliste:
[1] Autor, Journal,... (Monat Jahr), DOI:
usw.
zu entfernen brachten nichts, also habe ich es ganz gelassen. In meinem Beispiel gibt es also gar keinen Versuch den Monat nicht anzeigen zu lassen, ich suche im Gegenteil nach einer Lösung.

von domwass » Mi 8. Dez 2010, 10:06

senior_hombre hat geschrieben:d.h. irgendwo muss es sowas wie eine bibstring Definition geben
In den lbx-Dateien.
Und dann würde ich gerne noch wissen wo genau ich die neues Stile denn am besten abspeichere? Also am Beispiel von MikTex und Windows.
Geht ja nicht überall, das gäbe bestimmt Probleme beim Updaten der MikTex Datenbank, bzw. die Dateien werden sicher nicht überall gefunden.
Wo du speicherst, ist egal, du musst MiKTeX nur sagen, wo es die Dateien
findet, also den Pfad bei den MiKTeX-Einstellungen im Reiter »Roots«
hinzufügen.
Und was hat es mit diesem Sternchen hinter den Befehlen aufsich:
\renewbibmakro*{}
Das heißt, dass keine Absätze innerhalb des Befehls, der umdefiniert wird,
stehen dürfen. Das ist dasselbe wie bei \newcommand bzw.
\newcommand*.
Kann ich das ersetzen durch
\renewbibmakro[article]{} und somit das Makro z.b. nur für article neudefinieren?
Nein, das funktioniert nicht.
ich wollte hier nur das "In:" vor jedem Artikel loswerden, ist das so ok?
Ich würde einfach \usebibmacro{in} in den entsprechenden bibliograpy
drivern auskommentieren bzw. löschen.
Mein Problem bleibt aber, dass das Datum immer mit Monat angegeben wird, ich würde es aber gerne ohne Monat haben
Verstehe ich nicht. Mach mal ein Minimalbeispiel.

Gruß,
Dominik.-

von senior_hombre » Di 7. Dez 2010, 20:48

So ich habe hier mal meine (Test-)Version eines neuen numeric Stiles aufgeschrieben:
\ProvidesFile{numeric-own.bbx}
\RequireBibliographyStyle{numeric}

\renewbibmacro*{in:}{%
}%

\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{in:}%
  \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}}

\newbibmacro*{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
Das ganze ergab sich einfach durch ausprobieren und daher habe ich ein paar Fragen:
1. der Makro "in:" lautete Ursprünglich, in der biblatex.def:
\newbibmacro*{in:}{%
  \printtext{%
 \bibstring{in}\intitlepunct}}
ich wollte hier nur das "In:" vor jedem Artikel loswerden, ist das so ok?

2. Den article Driver habe ich nur nochmal aufgeführt weil ich das Datum nach Pages haben wollte, deshalb habe ich im Driver diese Zeile nur entfernt und dann in das {journal+issuetile} Makro verfrachtet

3. Mein Problem bleibt aber, dass das Datum immer mit Monat angegeben wird, ich würde es aber gerne ohne Monat haben

4. Wohin muss die Datei?

von senior_hombre » Di 7. Dez 2010, 19:51

ich glaube so langsam komme ich mir der Sache klar, allerdings hänge ich an der neu Definition bestimmter Makros.
Im Obigen Beispiel wird z.b. das Macro: journal+issuetitle
neu definiert, wo finde ich denn jetzt das Original?
In der Standard.bbx wird es nur aufgerufen und in der biblatex.def steht es nicht drin.
Irgendwo muss die Makros doch standartmäßig definiert sein, ich bräuchte dies dringend um ein bisschen abzukucken.
Mich interessieren nicht nur die original Makrodefinition sondern auch so sachen wie bibstrings. Im Numericstil wird nämlich z.b. vor jedem Artikel "In:" ausgeschrieben, ich konnte die Sache dann in der biblatex.def aufspüeren, da steht aber nur:
 \newbibmacro*{in:}{%
  \printtext{%
    \bibstring{in}\intitlepunct}}
d.h. irgendwo muss es sowas wie eine bibstring Definition geben oder ich verstehe das falsch. (immerhin steht es ja im Literaturverzeichnis mit großem I und in anderen Sprachen sieht das vieleicht noch ganz anders aus)

Und dann würde ich gerne noch wissen wo genau ich die neues Stile denn am besten abspeichere? Also am Beispiel von MikTex und Windows.
Geht ja nicht überall, das gäbe bestimmt Probleme beim Updaten der MikTex Datenbank, bzw. die Dateien werden sicher nicht überall gefunden.

edit: ok hab die Definitionen gefunden, hab sie übersehen sie stehen doch in der Standard.bbx

müsste jetzt nur noch wissen wo hin mit der neuen Stil Datei und was es mit den \bibstrings aufsich hat.

Und was hat es mit diesem Sternchen hinter den Befehlen aufsich:
\renewbibmakro*{}
Kann ich das ersetzen durch
\renewbibmakro[article]{} und somit das Makro z.b. nur für article neudefinieren?
Das wäre sehr Praktisch.[/b]

Nach oben