@misc definieren

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: @misc definieren

von Gast » Fr 21. Aug 2015, 07:19

Oh je, da habe ich ja was angerichtet....
Dir ist klar, dass jemand, der die Vorgeschichte von dem ganzen Kram nicht kennt, wahrscheinlich sehr verwirrt sein wird, was Du mit "ich möchte gerne @misc definieren" meinst?
Ich gehe mal davon aus, das Du meine letzte Antwort nicht ganz genau gelesen hast und lieber @standard "definiert" haben möchtest. In den Standardstilen haben die das gleiche Aussehen (@standard nutzt den "Treiber" von @misc, aber nur, weil er selbst keinen eigenen hat), aber semantisch besser für Normen ist natürlich @standard.
Ich bin ein bisschen enttäuscht, dass Du in diesem Beispiel gar nicht alles eingebaut hast, was wir Dir bisher in diesem Forum zusammengezimmert haben.

In einem anderen Thread haben wir nämlich das hier
Anonymous hat geschrieben:Nur für @online bekommst Du das Verhalten, wenn wir statt \iffieldundef{year} in der Abfrage vor dem \bibstring{nodate} das etwas längere \ifboolexpr{test {\iffieldundef{year}} and test {\ifentrytype{online}}} verwenden
\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit{\addspace}%
     \printtext{Stand\addcolon\addspace}%
     \ifboolexpr{test {\iffieldundef{year}} and test {\ifentrytype{online}}}
       {\bibstring{nodate}}
       {\usebibmacro{date}}}
    {}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifnameundef{labelname}
       {}
       {\printnames{labelname}
        \setunit{\nametitledelim}}%
     \usebibmacro{cite:title}%
     \newunit
     \ifboolexpr{test {\iffieldundef{year}} and test {\ifentrytype{online}}}
       {\bibstring{nodate}}
       {\printfield{year}}}%
    {\usebibmacro{cite:shorthand}}}

\DefineBibliographyStrings{german}{%
  nodate = {{}o\adddot\addabthinspace A\adddot}
}
Es hätte uns allen wirklich Arbeit und Ärger erspart, wenn Du mit einer genauen Idee, was Du erreichen möchtest, hier aufgetaucht wärst, dann hättest Du eine präzise Frage zu Deiner exakten Problemstellung (am liebsten natürlich mit diesem ominösen Minimalbeispiel, nach dem alle immer Fragen) gestellt; diese halbgaren Vorstellungen und Nachbesserungen sorgen dafür, dass wir jetzt weiß der Geier wie viele verschiedene Themen offen haben mit unterschiedlichen Code-Beispielen, die alle unterschiedlich weit sind.
Mit ein bisschen Kreativität und dem Willen, zu verstehen, was da passiert, könntest Du die Aufgabe bestimmt auch selber lösen.

Damals haben wir dafür gesorgt dass nur @online das "o.J." bekommt, jetzt wollen wir es für alle außer @standard, da müssen wir die Logik nur ein bisschen anpassen.
Aus \ifboolexpr{test {\iffieldundef{year}} and test {\ifentrytype{online}}} wird dann \ifboolexpr{test {\iffieldundef{year}} and not test {\ifentrytype{standard}}}, denn wir wollen das "o.J" für alle ohne Jahr aber nicht, wenn es ein @standard ist.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{xpatch}
\usepackage{filecontents}
\usepackage[style=authortitle]{biblatex}
\begin{filecontents*}{\jobname.bib}
@standard{DIN,  
shorttitle = {KURZTITEL},
title = {LANGTITEL},
author = {DINxxxx:xxxx}
}
@online{Internet,
author = {Autor},
title = {Titel},
url = {http://www.invalid.invalid},
urldate = {2015-08-10}
}
@book{jwp,  
shorttitle = {TESTBUCH},
title = {IchundDU},
year = {2015},
publisher = {Beuth Verlag},
author = {ICH}
}
\end{filecontents*}
\renewcommand{\bibfootnotewrapper}[1]{
\bibsentence#1}

\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\labelnamepunct}{\addspace}
\renewcommand*{\nametitledelim}{\addcolon\space}
\renewcommand*{\finentrypunct}{\addspace}
\setlength{\bibhang}{1,25cm}
\DeclareNameAlias{sortname}{last-first}
\DeclareFieldFormat*{citetitle}{#1}

% Reihenfolge ändern und Standardtrenner
\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \newunit
  \printlist{location}%
  \newunit
  \usebibmacro{date}%
  \newunit}

% Kurztitel (shorttitle) hinzufügen
\renewbibmacro*{title}{%
  \ifboolexpr{
    test {\iffieldundef{title}}
    and
    test {\iffieldundef{subtitle}}
  }
    {}
    {\printfield[brackets]{shorttitle}%
     \setunit{\addspace}%
     \ifentrytype{online}
       {\printtext[brackets]{%
          \printfield[titlecase]{title}%
          \setunit{\subtitlepunct}%
          \printfield[titlecase]{subtitle}}}
       {\printtext[title]{%
         \printfield[titlecase]{title}%
         \setunit{\subtitlepunct}%
         \printfield[titlecase]{subtitle}}}%
     \newunit}%
  \printfield{titleaddon}}

\DeclareFieldFormat[online]{url}{\url{#1}}
\DeclareFieldFormat{urldate}{Abrufdatum\addcolon\space#1}

\xpatchbibdriver{online}
  {\usebibmacro{date}}
  {}
  {}{}

\renewbibmacro*{url+urldate}{%
  \usebibmacro{url}%
  \ifentrytype{online}
    {\setunit{\addspace}%
     \printtext{Stand\addcolon\addspace}%
     \ifboolexpr{test {\iffieldundef{year}} and not test {\ifentrytype{standard}}}
       {\bibstring{nodate}}
       {\usebibmacro{date}}}
    {}%
  \iffieldundef{urlyear}
    {}
    {\setunit*{\addspace}%
     \usebibmacro{urldate}}}

\renewbibmacro*{cite}{%
  \iffieldundef{shorthand}
    {\ifnameundef{labelname}
       {}
       {\printnames{labelname}
        \setunit{\nametitledelim}}%
     \usebibmacro{cite:title}%
     \newunit
     \ifboolexpr{test {\iffieldundef{year}} and not test {\ifentrytype{standard}}}
       {\bibstring{nodate}}
       {\printfield{year}}}%
    {\usebibmacro{cite:shorthand}}}

\DefineBibliographyStrings{german}{%
  nodate = {{}o\adddot\addabthinspace A\adddot}
}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem\footcite[][]{DIN}
Ipsum\footcite[Vgl.][12]{jwp}
Dolor\footcite[Vgl.][12]{Internet}
Dolor\footcite{geer,baez/online,baez/article,worman,sigfridsson}
\printbibliography
\end{document}

@misc definieren

von Dave Miller » Do 20. Aug 2015, 22:30

Hallo,

ich möchte gerne @misc definieren. Undzwar will ich das o.J. weghaben (nur bei @misc)

Wie lässt sich das umsetzen?
DANKE!
\documentclass[ngerman]{article} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{babel} 
\usepackage{csquotes} 
\usepackage{xpatch} 
\usepackage{filecontents} 
\usepackage[style=authortitle]{biblatex} 
\begin{filecontents*}{\jobname.bib} 
@misc{DIN,   
shorttitle = {KURZTITEL}, 
title = {LANGTITEL}, 
author = {DINxxxx:xxxx} 
} 
@online{Internet, 
author = {Autor}, 
title = {Titel}, 
year = {2015}, 
url = {http://www.invalid.invalid}, 
urldate = {2015-08-10} 
} 
@book{jwp,   
shorttitle = {TESTBUCH}, 
title = {IchundDU}, 
year = {}, 
publisher = {Beuth Verlag}, 
author = {ICH} 
} 


\end{filecontents*} 
\renewcommand{\bibfootnotewrapper}[1]{ 
\bibsentence#1} 

\renewcommand*{\newunitpunct}{\addcomma\space} 
\renewcommand*{\labelnamepunct}{\addspace} 
\renewcommand*{\nametitledelim}{\addcolon\space} 
\renewcommand*{\finentrypunct}{\addspace} 
\setlength{\bibhang}{1,25cm} 
\DeclareNameAlias{sortname}{last-first} 
\DeclareFieldFormat*{citetitle}{#1} 

% Reihenfolge ändern und Standardtrenner 
\renewbibmacro*{publisher+location+date}{% 
  \printlist{publisher}% 
  \newunit 
  \printlist{location}% 
  \newunit 
  \usebibmacro{date}% 
  \newunit} 

% Kurztitel (shorttitle) hinzufügen 
\renewbibmacro*{title}{% 
  \ifboolexpr{ 
    test {\iffieldundef{title}} 
    and 
    test {\iffieldundef{subtitle}} 
  } 
    {} 
    {\printfield[brackets]{shorttitle}% 
     \setunit{\addspace}% 
     \ifentrytype{online} 
       {\printtext[brackets]{% 
          \printfield[titlecase]{title}% 
          \setunit{\subtitlepunct}% 
          \printfield[titlecase]{subtitle}}} 
       {\printtext[title]{% 
         \printfield[titlecase]{title}% 
         \setunit{\subtitlepunct}% 
         \printfield[titlecase]{subtitle}}}% 
     \newunit}% 
  \printfield{titleaddon}} 

\DeclareFieldFormat[online]{url}{\url{#1}} 
\DeclareFieldFormat{urldate}{Abrufdatum\addcolon\space#1} 

\xpatchbibdriver{online} 
  {\usebibmacro{date}} 
  {} 
  {}{} 

\newbibmacro*{url+urldate}{% 
  \usebibmacro{url}% 
  \ifentrytype{online} 
    {\setunit{\addspace}% 
     \printtext{Stand\addcolon\addspace}% 
     \usebibmacro{date}} 
    {} 
  \iffieldundef{urlyear} 
    {} 
    {\setunit*{\addspace}% 
     \usebibmacro{urldate}}} 

% Jahr hinzufügen 
\renewbibmacro*{cite}{% 
  \iffieldundef{shorthand} 
    {\ifnameundef{labelname} 
       {} 
       {\printnames{labelname} 
        \setunit{\nametitledelim}}% 
     \usebibmacro{cite:title}% 
     \newunit 
     \iffieldundef{year} 
       {\bibstring{nodate}} 
       {\printfield{year}}}% 
    {\usebibmacro{cite:shorthand}}} 
\DefineBibliographyStrings{german}{% 
  nodate = {{}o\adddot\addabthinspace J\adddot} 
} 

\addbibresource{\jobname.bib} 
\addbibresource{biblatex-examples.bib} 
\begin{document} 
Lorem\footcite[][]{DIN} 
Lorem\footcite[Vgl.][12]{jwp} 
Lorem\footcite[Vgl.][12]{Internet} 
\printbibliography 
\end{document}

Nach oben