Auflage hochgestellt vor Erscheinungsjahr

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


max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Auflage hochgestellt vor Erscheinungsjahr

Beitrag von max »

Hallo liebes golatex-Forum,

diverse Male habe ich hier schon Hilfe durch vorhandene Threads gefunden. Dieses mal bin ich nicht (vollständig) fündig geworden und möchte um Hilfe bitten:

Unsere Uni-Institutsvorgaben zum Literaturverzeichnis sehen u.A. vor, dass die Auflage hochgestellt vor dem Erscheinungsjahr steht. So seltsam das ist - ich muss es umsetzen.
So sollte es aussehen: Rawls, J. (^19^2014). Eine Theorie. Frankfurt.
Aus einem anderen Thread konnte ich das schon zur Hälfte realisieren, allerdings finde ich die Option nicht, wie ich nun das " Aufl." hinter der Auflagenzahl entferne. Außerdem steht die Angabe der Aufl. nochmals hinter dem Titel.

Vielen Dank für die Hilfe.

Mein Minimalbeispiel:
\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}
%%%
%Biblatex-Einstellungen
%%%
\usepackage[%
backend=bibtex,
style=authoryear-icomp,
firstinits=true,
maxnames=2,
minnames=2,
maxbibnames=99,minbibnames=99,
]{biblatex}
%%%
% Hier wird Eingestellt, dass Autorennamen in Kapitälchen stehen. 
%%%
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}
%%%
% Hier soll nun eingestellt werden, dass die Auflage hochgestellt vor dem Erscheinungsjahr steht
%%%
\renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\printtext[parens]{\printfield{edition}\printdateextralabel}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {}
      {\printtext[parens]{\printfield{issue}}}%
    \newunit}% 
%%%
% Hier wird eingestellt, dass das feld <edition> hochgestellt dargestellt wird. 
%%%
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
%%%
\begin{filecontents}{literatur.bib}
@book{rawls14,
  address = {Frankfurt am Main},
  author = {Rawls, John},
  edition = {19},
  title = {Eine Theorie der Gerechtigkeit},
  year = 2014
}
\end{filecontents}
%%%
\bibliography{literatur}
\begin{document}
Text \autocites[5]{rawls14}
\printbibliography
\end{document}

Gast

Beitrag von Gast »

Ein "Aufl." bekomme ich nicht, das würde mich auch, wundern, denn in der .bib ist keins und das Format packt auch nichts dazu.

Du musst die Auflage, die Du einmal genutzt hast, dann einfach nur löschen (mit \global\clearfield{edition}, da wir in einer Gruppe sind), damit sie nicht ein zweites Mal auftaucht.
\renewbibmacro*{date+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printfield{edition}%
       \printdateextralabel
       \global\clearfield{edition}}}}%
Und schon geht es

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[babel,german=guillemets]{csquotes}

\usepackage[%
backend=bibtex,
style=authoryear-icomp,
firstinits=true,
maxnames=2,
minnames=2,
maxbibnames=99,minbibnames=99,
]{biblatex}

\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamefirst}[1]{\textsc{#1}}

\renewbibmacro*{date+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printfield{edition}%
       \printdateextralabel
       \global\clearfield{edition}}}}%
\renewbibmacro*{date}{}%
\renewbibmacro*{issue+date}{%
  \iffieldundef{issue}
    {}
    {\printtext[parens]{\printfield{issue}}}%
  \newunit}%

\DeclareFieldFormat{edition}{\textsuperscript{#1}}

\begin{filecontents}{\jobname.bib}
@book{rawls14,
  address = {Frankfurt am Main},
  author = {Rawls, John},
  edition = {19},
  title = {Eine Theorie der Gerechtigkeit},
  year = 2014
}
\end{filecontents}

\addbibresource{\jobname.bib}
\begin{document}
Text \autocites[5]{rawls14}
\printbibliography
\end{document}

max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Beitrag von max »

Zunächst vielen Dank für deine Hilfe. Das hat geklappt!
Anonymous hat geschrieben:Ein "Aufl." bekomme ich nicht, das würde mich auch, wundern, denn in der .bib ist keins und das Format packt auch nichts dazu.
Tatsache! Ich hatte zwar noch bemerkt, dass in der .bib das Feld edition = {19. Aufl.} war, aber nach dem Entfernen und kompilieren von .tex und .bib Datei war das noch da und ich vermutete, dass der Fehler doch woanders liegt. Ist mir rätselhaft. Ich tippe auf einen Anwenderfehler meinerseits.

Beste Grüße
Max

Gast

Beitrag von Gast »

max hat geschrieben:[...]
Anonymous hat geschrieben:Ein "Aufl." bekomme ich nicht, das würde mich auch, wundern, denn in der .bib ist keins und das Format packt auch nichts dazu.
Oh je, wer hat mir eigentlich Zeichensetzung beigebracht? :oops:
max hat geschrieben:[
Tatsache! Ich hatte zwar noch bemerkt, dass in der .bib das Feld edition = {19. Aufl.} war, aber nach dem Entfernen und kompilieren von .tex und .bib Datei war das noch da und ich vermutete, dass der Fehler doch woanders liegt. Ist mir rätselhaft. Ich tippe auf einen Anwenderfehler meinerseits.
Das kann daran liegen, dass Du nur einmal mit LaTeX kompiliert hast und dann mit BibTeX. Danach enthält die .bbl zwar schon die neuen Daten, aber LaTeX hat sie noch nicht eingelesen. Ein nochmaliges Kompilieren mit LaTeX sollte das Problem dann lösen können.

max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Beitrag von max »

Anonymous hat geschrieben:Das kann daran liegen, dass Du nur einmal mit LaTeX kompiliert hast und dann mit BibTeX. Danach enthält die .bbl zwar schon die neuen Daten, aber LaTeX hat sie noch nicht eingelesen. Ein nochmaliges Kompilieren mit LaTeX sollte das Problem dann lösen können.
Ich kann nicht ausschließen, dass das der Grund war - eigentlich weiß ich das allerdings und der Texmaker gibt diesen Hinweis ja auch.
Wie dem auch sei - ich finds super, dass du mir so rasch eine Lösung für das Problem geben konntest.

max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Update

Beitrag von max »

Hallo Alle,

leider wurde inzwischen etwas in TeXLive / Bib(la)tex / Biber geändert und das tolle Skript, was ich hier bekommen habe läuft nicht mehr. Das Skript sollte bewerkstelligen, dass die Auflage hochgestellt vor dem Erscheinungsjahr steht und beides in Klammern gesetzt ist. Z.B. Max (^2^2017) für 2. Aufl. 2017. Leider wird mir seit einer Aktualisierung auf dem neuen PC die Jahreszahl nicht mehr angezeigt.

Das mit der hochgestellten Auflage habe ich mir schon ergoogelt und aktualisiert:

aus
\printdateextralabel
wurde
\def\printdateextralabel{\printlabeldateextra}
Danke für eure Hilfe.
Beste Grüße
Max

Hier mein Minimalbsp:
\documentclass[11pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[babel,german=guillemets]{csquotes}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{microtype}
\usepackage[]{scrpage2}
\usepackage{mdwlist}
\usepackage{pdfpages}
\setlength{\parindent}{1em}
\usepackage[left=30mm,right=35mm,top=25mm,bottom=30mm]{geometry}
\usepackage{setspace}
\usepackage{url}
\urlstyle{same}
%%%%%%%%%% BIBTEX %%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[%
backend=biber,
style=authoryear-icomp,
giveninits=true,
dashed=false,
hyperref=true,
pagetracker=true,
maxnames=2,
minnames=2,
maxbibnames=99,minbibnames=99,
isbn=false
]{biblatex}
\usepackage[breaklinks]{hyperref}
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}
%%%
% Hier wird Eingestellt, dass Autorennamen in Kapitälchen stehen. 
%%%
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand*{\mkbibnamegiven}[1]{\textsc{#1}}
%%%
% Einstellungen für Internetquellen
%%%
\renewcommand{\postnotedelim}{\addcolon\addspace}
\DeclareFieldFormat{postnote}{#1}
\renewcommand{\labelnamepunct}{\addcolon\addspace}
\DefineBibliographyStrings{german}{%
    url = {Internet:~}
}
\DeclareFieldFormat{url}{Internet:\space\url{#1}}
\DeclareFieldFormat{urldate}{(#1)}
\newbibmacro*{url+urldate+date}{%
  \printfield{url}%
  \iffieldundef{urlyear}
  {}
  {\setunit*{.\par\nobreak}%
  \iffieldundef{year}
  {}
  {\printtext{erstellt am: \printdate}%
  \setunit{\addsemicolon\space}% 
  \printtext[urldate]{\printurldate}}}
}
%%%
% Ausnahme für Institutionen von den Kapitälchen
%%%
\newcommand{\plainnames}{%
  \renewcommand*{\mkbibnamefamily}[1]{##1}%
  \renewcommand*{\mkbibnamegiven}[1]{##1}}
%%%%%
% Hier soll nun eingestellt werden, dass die Auflage vor dem Erscheinungsjahr steht
%%%
\renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\printtext[parens]{%
      \printfield{edition}%
      \def\printdateextralabel{\printlabeldateextra}
      \global\clearfield{edition}}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {}
      {\printtext[parens]{\printfield{issue}}}%
    \newunit}%  
%%%
% Hier wird eingestellt, dass das feld <edition> hochgestellt dargestellt wird. 
%%%
\DeclareFieldFormat{edition}{\textsuperscript{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{filecontents}{literatur.bib}
@inbook{dixon,
	title = {{GIS}-basiertes Leerstandsmanagement fuer laendliche Wohngebäude. Szenarien im Spannungsfeld oeffentlicher und privater Interessen.},
	isbn = {978-3-7281-3338-0},
	url = {https://www.researchgate.net/profile/Markus_Schaffert/publication/306240370_GIS-basiertes_Leerstandsmanagement_fur_landliche_Wohngebaude_Szenarien_im_Spannungsfeld_offentlicher_und_privater_Interessen/links/57b44bb908aede8a665a480c.pdf},
	shorttitle = {Core-Themes of Land Use Politics},
	pages = {349--362},
	booktitle = {Core-Themes of Land Use Politics: Sustainability and Balance of Interests / Kernthemen der Bodenpolitik: Nachhaltige Entwicklung und Interessenausgleich},
	publisher = {European Academy of Land Use and Development},
	author = {Schaffert, Markus},
	bookauthor = {Dixon-Gough, Robert and Kalbro, Thomas},
	urldate = {2017-01-16},
	edition = {4},
	date = {2011}
}
\end{filecontents}
%%%
\bibliography{literatur}
\begin{document}
Text \autocite[50]{dixon}.
\nocite{*}
\printbibliography
\end{document}
Irgendwo hier sollte der Fehler liegen:
%%%%%
% Hier soll nun eingestellt werden, dass die Auflage vor dem Erscheinungsjahr steht
%%%
\renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\printtext[parens]{%
      \printfield{edition}%
      \def\printdateextralabel{\printlabeldateextra}
      \global\clearfield{edition}}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {}
      {\printtext[parens]{\printfield{issue}}}%
    \newunit}%  

Gast

Beitrag von Gast »

Ersetz den ganzen von dir als problematisch erkannten Block mal durch
\renewbibmacro*{date+extrayear}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printfield{edition}%
       \global\clearfield{edition}%
       \iffieldsequal{year}{labelyear}
         {\printlabeldateextra}%
         {\printfield{labelyear}%
          \printfield{extrayear}}}}}
das sollte den neuen Datumsfunktionalitäten von biblatex Rechnung tragen und nicht unnötig Sachen umdefinieren.

max
Forum-Anfänger
Forum-Anfänger
Beiträge: 20
Registriert: Fr 30. Okt 2015, 14:02
Wohnort: Mainz

Beitrag von max »

Das hat geklappt. Vielen Dank für die Hilfe!

Zimon
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Mo 30. Jan 2017, 21:38

Stehe vor dem gleichen Problem nur mit anderem bibstyle

Beitrag von Zimon »

Hallo Zusammen, schön das ich noch so einen frischen Eintrag gefunden habe. Stehe vor einem ähnlichem Problem. Bei mir muss auch die Auflagenzahl vor dem Erscheinungsjahr stehen. Ich verwende aber den bibstyle authortitle. Wenn ich deinen Ansatz nutze verschwindet die komplette Jahreszahl. Kann mir da jemand helfen. Ich hab schon Bücher gewält und Foren durchkämmt aber die Lösung ist mir noch nicht begegnet.
Hier der normale code ohne den Auflagen Tweak:
\begin{filecontents*}{minimal.bib}

@book{Erlemann.1995,
 author = {Erlemann, Kurt},
 year = {1995},
 title = {Naherwartung und Parusieverz{\"o}gerung im Neuen Testament},
 volume = {17},
 edition={2},
 %publisher = {Francke},
 isbn = {3772018688},
 subtitle = {Ein Beitrag zur Frage religi{\"o}ser Zeiterfahrung},
% language = {ger},
 location = {T{\"u}bingen},
 %titleaddon = {Zugl.: Heidelberg, Univ., Habil.-Schr., 1993},
 %series = {Texte und Arbeiten zum neutestamentlichen Zeitalter},
 abstract = {},
 pagetotal = {511}
}
\end{filecontents*}

\documentclass[12pt,a4paper,oneside, headinclude]{scrartcl}%Formatierung der Seite
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{csquotes}
\usepackage[T1]{fontenc}


\usepackage[citestyle=authoryear,  bibstyle=authortitle, backend=biber, isbn=false,url=false]{biblatex}
\addbibresource{minimal.bib}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{journaltitle}{#1}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{subtitle}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1}
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[collection]{title}{#1}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\subtitlepunct}{\addcolon\space}



\begin{document}
Hier ist ein Zitat\parencite[][]{Erlemann.1995}

\printbibliography[heading=bibintoc]
\end{document}
Und hier mit dem Kniff von Max der das alles irgendwie ein Wenig seltsam macht:
\begin{filecontents*}{minimal.bib}

@book{Erlemann.1995,
 author = {Erlemann, Kurt},
 year = {1995},
 title = {Naherwartung und Parusieverz{\"o}gerung im Neuen Testament},
 volume = {17},
 edition={2},
 %publisher = {Francke},
 isbn = {3772018688},
 subtitle = {Ein Beitrag zur Frage religi{\"o}ser Zeiterfahrung},
% language = {ger},
 location = {T{\"u}bingen},
 %titleaddon = {Zugl.: Heidelberg, Univ., Habil.-Schr., 1993},
 %series = {Texte und Arbeiten zum neutestamentlichen Zeitalter},
 abstract = {},
 pagetotal = {511}
}
\end{filecontents*}

\documentclass[12pt,a4paper,oneside, headinclude]{scrartcl}%Formatierung der Seite
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage{csquotes}
\usepackage[T1]{fontenc}


\usepackage[citestyle=authoryear,  bibstyle=authortitle, backend=biber, isbn=false,url=false]{biblatex}
\addbibresource{minimal.bib}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{journaltitle}{#1}
\DeclareFieldFormat[incollection]{title}{#1}
\DeclareFieldFormat[incollection]{subtitle}{#1}
\DeclareFieldFormat[incollection]{booktitle}{#1}
\DeclareFieldFormat[book]{title}{#1}
\DeclareFieldFormat[collection]{title}{#1}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\subtitlepunct}{\addcolon\space}


 
%%%Hier soll nun eingestellt werden, dass die Auflage vor dem Erscheinungsjahr steht

\renewbibmacro*{date+extrayear}{%
    \iffieldundef{labelyear}
      {}
      {\printtext[parens]{%
      \printfield{edition}%
      \def\printdateextralabel{\printlabeldateextra}
      \global\clearfield{edition}}}}%
  \renewbibmacro*{date}{}%
  \renewbibmacro*{issue+date}{%
    \iffieldundef{issue}
      {}
      {\printtext[parens]{\printfield{issue}}}%
    \newunit}%  
%%%
% Hier wird eingestellt, dass das feld <edition> hochgestellt dargestellt wird.
%%%
\DeclareFieldFormat{edition}{\textsuperscript{#1}}


\begin{document}
Hier ist ein Zitat\parencite[][]{Erlemann.1995}

\printbibliography[heading=bibintoc]
\end{document}
Kann mir hierbei jemand helfen?
Vielen Dank und liebe Grüße

Simon

Gast

Beitrag von Gast »

Hast du mal die von Gast vorgeschlagene Änderung ausprobiert?

Warum verwendest du als Fragesteller den Status Rückfrage?

Antworten