goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

urldate taucht in cite Fussnote nicht auf

 

Raffelk
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 11:57     Titel: urldate taucht in cite Fussnote nicht auf
  Antworten mit Zitat      
Hallo,
muss ja sagen das Latex/biblatex mir immer besser gefällt. Wenn ich mir überlege was ich an meinen letzten Studienarbeiten in "ätz"Programmen gebastelt habe um das alles sauber und gleich zu halten...

Gut nun aber zu meiner Frage an euch:
Mir scheint es das Formtierungsvorgaben in Zitat, Fussnoten und Literaturverzeichnissen nur dazu erfunden wurde um Studenten zu quälen.
Es ist wohl so das jede Uni irgendwie ihren eigenen Vorgaben haben.
Nun in unserer Vorschrift habe ich eine Quelle aus dem Internet folgendermassen als Fussnote zu nennen:
Vgl.: Mustermann, M. / Musterfrau, G. / Musterjunge, A. (2000): Das Online-Leben der Musterfamilie. (URL: www.mustermann.mu) (21.5.2017).

Das sich diese Formatierung selbstverständlich zu anderen Quellen wie Bücher unterscheidet, habe ich es so gelöst in dem ich ein eigenes Format für die Fussnote von Online-Quellen erstellt habe (urlfootcite, in meinem Kurzbeispiel). Hoffe das dieses eine richtige und übliche Vorgehensweise ist.

Nun obwohl ich urldate (habe ich gewählt weil ich gelesen haben das lastchecked nicht übernommen wird) in der Fussnote zwischen den letzten beiden Klammern aufrufe und dieses im Literaturverzeichniss richtig im PDF auftauscht, erscheint diese nicht in meiner Fussnote.

Kann mir jemand von euch einen Tip geben ob ich mit meinem Vorgehen komplett falsch liege oder ob ich nur einen Teil falsch verstanden haben.

Danke schon einmal vorweg für euer durchlesen und eventuelle Idee.


Code • Öffne in Overleaf
% Das ist mein LaTeX-Dokument.
\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{buecher.bib}
@webpage{page1,
author = {Mustermann, Max and Musterfrau,
Gitte and Musterjunge, Alfons
},
title = {Das Online-Leben der Musterfamilie},
year = {Verlag der nutzlosen Bücher},
url = {www.mustermanns.mu},
year = {2000},
urldate = {2017-05-21}
}

\end{filecontents}


\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,%
maxnames=3,giveninits=true,]{biblatex}
\bibliography{buecher.bib}


\renewcommand*{\multinamedelim}{\addspace\slash\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\DeclareNameAlias{author}{family-given}
 
\DeclareCiteCommand{\urlfootcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}                                
  {\usebibmacro{citeindex}%
   \addcolon{\addnbspace}
   \printnames{author}%
   \setunit{\addnbspace\bibleftparen}
   \printfield{year}%
   \bibrightparen\addcolon\addspace
   \printfield{title}%
   \newunitpunct\addspace\bibleftparen
   \printfield{url}%
   \bibrightparen
   \addspace\bibleftparen
   \printfield{urldate}%
   \bibrightparen
}
  {\addsemicolon\space}
  {\usebibmacro{postnote}}

\begin{document}
Das ist der ultimative Test \urlfootcite[Vgl.][]{page1}.
\nocite{*}
\printbibliography
\end{document}
% Ende des Dokumentes
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 15:11     Titel:
  Antworten mit Zitat      
Aus Deinen Ausführungen in http://golatex.de/letzter-author-falschrum-t19184.html schließe ich, dass Du für andere Quellen einfach nur 'Autor (Jahr)' als Zitat möchtest, für Online-Quellen aber die hier vorgestellte Version.

Ich würde keinen Extrabefehl definieren. Die Idee ist ja gerade, dass Paket auf CTANbiblatex Dir das Denken abnimmt. Mit der folgenden Version musst Du immer nur \autocite aufrufen, dann bekommst Du Fußnotenzitate im vollen Stil für Online-Quellen und 'Autor (Jahr)' für alles andere.

Am besten kennzeichnest Du alle Online-Quellen als @online statt @webpage. @online ist der Name, unter dem biblatex das normalerweise kennt.

Code • Öffne in Overleaf
\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{page1,
author = {Mustermann, Max and Musterfrau,
Gitte and Musterjunge, Alfons
},
title = {Das Online-Leben der Musterfamilie},
year = {Verlag der nutzlosen Bücher},
url = {www.mustermanns.mu},
year = {2000},
urldate = {2017-05-21}
}

\end{filecontents}


\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,%
maxnames=3, giveninits=true, uniquename=init, autocite=footnote]{biblatex}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\renewcommand*{\multinamedelim}{\addspace\slash\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\DeclareNameAlias{author}{family-given}

\DeclareFieldFormat{url}{\mkbibparens{\mkbibacro{URL}\addcolon\space\url{#1}}}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
 
\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \iffieldundef{shorthand}
      {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
         {\usebibmacro{cite:label}%
          \setunit{\printdelim{nonameyeardelim}}}
         {\printnames{labelname}%
          \setunit{\printdelim{nameyeardelim}}}%
       \usebibmacro{cite:paren:labelyear+extrayear}%
       \ifentrytype{online}{A\usebibmacro{cite:online}}{B}}
      {\usebibmacro{cite:shorthand}}}}

\newbibmacro{cite:online}{%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \newunit
  \usebibmacro{url+urldate}%
}

\makeatletter
\renewbibmacro*{cite:shorthand}{\printfield{shorthand}}

\renewbibmacro*{cite:label}{%
  \iffieldundef{label}
    {\printfield[citetitle]{labeltitle}}
    {\printfield{label}}}

\newbibmacro*{cite:paren:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
     \ifdefstring\blx@dateformat@labeldate{edtf}
       {}
       {\datecircaprint
}%
     \dateeraprintpre{labelyear}%
     \printfield{labelyear}%
     \printfield{extrayear}%
     \dateuncertainprint%
     \iffieldsequal{labeldateera}{labelenddateera}{}
       {\dateeraprint{labelyear
}}%
     \ifdefstring\blx@dateformat@labeldate{edtf}
       {\datecircaprintedtf}
       {}%
     \iffieldundef{labelendyear}
       {}
       {\iffieldsequal{labelyear
}{labelendyear}{}
        {\ifdefstring\blx@dateformat@labeldate{edtf
}
          {\slash}% strict EDTF
          {\bibdaterangesep
           \enddatecircaprint
}%
         \dateeraprintpre{labelendyear}%
         \printfield{labelendyear}%
         \enddateuncertainprint
         \ifdefstring\blx@dateformat@labeldate{edtf}
           {\enddatecircaprintedtf}
           {}%
         \dateeraprint{labelendyear}}}}}}
\makeatother

\begin{document}
Das ist der ultimative Test \autocite[Vgl.][]{page1}. \autocite{sigfridsson}

\printbibliography
\end{document}

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3574
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 16:13     Titel:
  Antworten mit Zitat      
Das A und B hier ist doch bestimmt vom Testen über oder?

\ifentrytype{online}{A\usebibmacro{cite:online}}{B}}
_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 16:19     Titel:
  Antworten mit Zitat      
Oh blast! Natürlich. Danke!

Wir landen also bei
Code • Öffne in Overleaf
\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{page1,
author = {Mustermann, Max and Musterfrau,
Gitte and Musterjunge, Alfons
},
title = {Das Online-Leben der Musterfamilie},
year = {Verlag der nutzlosen Bücher},
url = {www.mustermanns.mu},
year = {2000},
urldate = {2017-05-21}
}

\end{filecontents}


\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,%
maxnames=3, giveninits=true, uniquename=init, autocite=footnote]{biblatex}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\renewcommand*{\multinamedelim}{\addspace\slash\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\DeclareNameAlias{author}{family-given}

\DeclareFieldFormat{url}{\mkbibparens{\mkbibacro{URL}\addcolon\space\url{#1}}}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
 
\renewbibmacro*{cite}{%
  \printtext[bibhyperref]{%
    \iffieldundef{shorthand}
      {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
         {\usebibmacro{cite:label}%
          \setunit{\printdelim{nonameyeardelim}}}
         {\printnames{labelname}%
          \setunit{\printdelim{nameyeardelim}}}%
       \usebibmacro{cite:paren:labelyear+extrayear}%
       \ifentrytype{online}{\usebibmacro{cite:online}}{}}
      {\usebibmacro{cite:shorthand}}}}

\newbibmacro{cite:online}{%
  \setunit{\printdelim{nametitledelim}}%
  \usebibmacro{title}%
  \newunit
  \usebibmacro{url+urldate}%
}

\makeatletter
\renewbibmacro*{cite:shorthand}{\printfield{shorthand}}

\renewbibmacro*{cite:label}{%
  \iffieldundef{label}
    {\printfield[citetitle]{labeltitle}}
    {\printfield{label}}}

\newbibmacro*{cite:paren:labelyear+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
     \ifdefstring\blx@dateformat@labeldate{edtf}
       {}
       {\datecircaprint
}%
     \dateeraprintpre{labelyear}%
     \printfield{labelyear}%
     \printfield{extrayear}%
     \dateuncertainprint%
     \iffieldsequal{labeldateera}{labelenddateera}{}
       {\dateeraprint{labelyear
}}%
     \ifdefstring\blx@dateformat@labeldate{edtf}
       {\datecircaprintedtf}
       {}%
     \iffieldundef{labelendyear}
       {}
       {\iffieldsequal{labelyear
}{labelendyear}{}
        {\ifdefstring\blx@dateformat@labeldate{edtf
}
          {\slash}% strict EDTF
          {\bibdaterangesep
           \enddatecircaprint
}%
         \dateeraprintpre{labelendyear}%
         \printfield{labelendyear}%
         \enddateuncertainprint
         \ifdefstring\blx@dateformat@labeldate{edtf}
           {\enddatecircaprintedtf}
           {}%
         \dateeraprint{labelendyear}}}}}}
\makeatother

\begin{document}
Das ist der ultimative Test \autocite[Vgl.][]{page1}. \autocite{sigfridsson}

\printbibliography
\end{document}

Raffelk
Forum-Newbie
Forum-Newbie

Beiträge: 8
Anmeldedatum: 04.05.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 17:54     Titel:
  Antworten mit Zitat      
Hallo Gast,
erst einmal vielen Dank dafür das du meine Frage durchgelesen hast und dann dich hingesetzt hast und eine komplette Lösung zu coderen und zu posten.

Wenn ich deine Lösung recht verstehen überscheribst du in deinem ersten Teil das biblatex Macro für Cite. Dort baust du dann eine Auswertung des Typs der Quelle und dann verwendest du ein weiteres Macros um die Formatierung zu erzielen.
Also wenn ich noch weitere unterschiedliche Formate hätte könnte ich die mit weiteren seperaten Macros abarbeite.

Sehr cool, vielen Dank für deine Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2017, 18:02     Titel:
  Antworten mit Zitat      
Ja, das ist von der Idee her genau richtig. Das Makro cite:paren:labelyear+extrayear ist eine Kopie der Standarddefinition von cite:labelyear+extrayear , nur dass das Jahr in Klammern steht und kein Link gesetzt wird. Ebenso wurden cite:shorthand und cite:label so undefiniert, dass sie keinen Link setzen. Der Link wird nun von cite gesetzt. Neu ist da neben dem Link nur \ifentrytype{online}{\usebibmacro{cite:online}}{}, das eben für @online-Quellen das neue Makro cite:online aufruft, das mehr Informationen bereitstellt. Du könntest dieses Prinzip natürlich noch für andere Typen übernehmen. Solltest Du das tun wollen, wirst Du aber eventuell schnell einen Punkt erreichen, an dem das anders besser gelöst werden kann. Meine Lösung geht mehr oder weniger davon aus, dass nur @online besonders ist und alles andere 'Autor (Jahr)' sein soll. Wenn dem nicht so ist, sollten wir das Konzept nochmal überdenken.

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de