Seitenzahlen ohne S dafür in Klammern

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: Seitenzahlen ohne S dafür in Klammern

von Gast » Do 7. Jun 2018, 15:20

Ich halte es für eine Unsitte, die einleitende oder schließende Interpunktion in \DeclareFieldFormat zu stopfen. Das funktioniert zwar meist mehr oder weniger zum gewünschten Effekt, aber nur da biblatex mehrere Mechanismen hat, um aufeinander treffende Interpunktion zu verhindern, bei unsachgemäßer Nutzung anderer Funktionen ist das aber nicht immer gewährleistet.

Die "korrekte" Alternative ist leider recht kompliziert, da Befehle für Interpunktion nicht typspezifisch sind. Möglich wäre
\renewcommand*{\postnotedelim}{\ifentrytype{book}{\addcomma\space}{\addspace}}
das kann aber beliebig hässlich werden, wenn das für mehrere Typen mit unterschiedlichen Regeln gelten soll...

von KJung » Do 7. Jun 2018, 12:04

Ich habe es jetzt mit
\DeclareFieldFormat[book]{postnote}{\addcomma\addspace\mkpageprefix{#1}}
gelöst.

von KJung » Do 7. Jun 2018, 09:46

Kein Problem, du hast mir schon sehr weitergeholfen. Es funktioniert auch alles. Mir ist jetzt nur aufgefallen, dass bei allen Quellen nun zwischen dem Titel und der Seitenzahl (unabhängig davon, ob sie mit S. oder ohne geschrieben wird, dass "," fehlt. Das liegt wohl an
\renewcommand*{\postnotedelim}{\addspace}
. (Das hattest du oben ja schon geschrieben. Wenn ich da jetzt aber wieder
\renewcommand*{\postnotedelim}{\addcomma\addspace}
draus mache, habe ich auch bei den Zeitschriften wieder zwischen der Anfangsseite und der konkreten Fundstelle in Klammern ein ",". Gibt es noch eine andere Möglichkeit das Komma nur für die Zeitschriften wegzubekommen?
Kann man den
\renewcommand*{\postnotedelim}{\addspace}
nicht nur für bestimmte Quellentypen machen? Sprich nur für Zeitschriften?

Wenn ich bsplw.
\DeclareFieldFormat[book]{postnote}{\addcomma\addspace\mkbibparens{#1}}
mache, sehen die Bücher schon wieder fast so aus, wie ich das will, nur dass ich die Seitenzahl nicht in Klammern, sondern "S. genaue Seitenzahl" haben will. Also wenn mir jemand sagen, kann, wie ich das hinbekomme, müsste ich am Ziel sein. Kann mann bei
\DeclareFieldFormat[book]{postnote}{\addcomma\addspace\mkbibparens{#1}}
dem "mkbib" nicht sagen, dass er einfach nur die Zahl in der Klammer darstellen soll? Bzw. mit einem S.?

%\RequirePackage{filecontents}
\begin{filecontents*}{Literatur.bib}  
@article{SteffenKessler,
   Author = {Steffen, Eva and Keßler, Stefan},
   Date-Added = {2015-07-21 07:03:54 +0000},
   Date-Modified = {2015-07-21 07:04:52 +0000},
   Journal = {ZAR},
   Pages = {245-248},
   Title = {Pacta sunt servanda - Ist der deutsche Vorbehalt zum Europäischen Fürsorgeabkommen wirksam?},
   Year = {2012}}
\end{filecontents*}
\begin{filecontents}{FNaktuell.cbx}
\ProvidesFile{FNaktuell.cbx}[2017/07/12 v0.1f biblatex citation style]

\RequireCitationStyle{authortitle-dw}%
\ExecuteBibliographyOptions{%
%nopublisher=false,
namefont=italic,% Format für Nachnamen (biblatex-dw)
firstnamefont=italic,% Format für Vornamen (biblatex-dw)
edstringincitations=false,% Kein (Hrsg) im Fußnoten-Zitat (biblatex-dw)
}%
% Kein S. für die konkrete Fundstelle, dafür in Klammern:
\renewbibmacro*{cite:title}{%
  \iffieldundef{entrysubtype}%
    {\usedriver{}{cite:\thefield{entrytype}}}%
    {\usedriver{}{cite:\thefield{entrytype}:\thefield{entrysubtype}}}}


%Das Feld, in dem sich die Anfangsseite befindet, ohne führendes S.~
% Falls bei pages mit Seitenbereichen gearbeitet wird, also
% z.B. pages = {797-900}, dann wird beim zitieren nur die Anfangsseite
% ausgegeben.
\DeclareFieldFormat[article]{pages}{\ifcitation{\mkfirstpage{#1}}{#1}}
% da reicht doch diese Zeile von oben

\renewcommand*{\postnotedelim}{\addspace} % Hier liegt das Problem!!!!!

% Fußnotenformat für article
\DeclareBibliographyDriver{cite:article}{%
  \printfield{journaltitle}%
  \setunit{\addspace}%
  \printfield{year}%
  \setunit{\addspace}%
  \printfield{pages}}
\endinput
\end{filecontents}

\documentclass[oneside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[citestyle=FNaktuell, bibstyle=authortitle-dw]{biblatex}
\bibliography{Literatur}
\begin{document}

\section{Fazit}
123\footcite[vgl.][246]{SteffenKessler}
\printbibliography
\end{document}

von Gast » Mi 6. Jun 2018, 23:01

Sorry, ich dachte irgendwie, Du wolltest das "S." behalten. Es ist wohl schon zu spät für mich und ich kann nicht mehr richtig lesen...
\DeclareFieldFormat{postnote}{\mkbibparens{#1}}
ist der Code für ohne.

von KJung » Mi 6. Jun 2018, 21:47

Für Zeitschriften habe ich das hinbekommen, für incollections bisher nicht. Ich scheine wirklich eine alte biblatex-Version zu verwenden. Bei mir funktioniert es ohne "[\mknormrange]".
Ich habe dann aber immer noch "S." in der Klammer. Wie bekomme ich die da raus?
Die Fehlermeldungen habe ich behoben, das war ein Fehler von mir. Auch wenn ich deinen Code im Overleaf öffne, funktioniert er einwandfrei.
\begin{filecontents*}{Literatur2.bib}  
@incollection{FringsGrundsicherung,
   Author = {Frings, Dorothee},
   Booktitle = {Arbeitsmarktintegration und Integrationspolitik -- zur notwendigen Verknüpfung zweier Politikfelder},
   gender ={sf},
   Date-Added = {2017-03-29 07:41:14 +0000},
   Date-Modified = {2017-10-17 14:02:51 +0000},
   Editor = {Knuth, Matthias},
   Number = {Arbeitsmarktintegration und Integrationspolitik},
   Pages = {23-41},
   Publisher = {Nomos},
   Title = {Grundsicherung für Arbeitsuchende und Migration: EInschlüsse und Ausschlüsse nach der Staatsangehörigkeit und dem Aufenthaltsstatus},
   Year = {2010}}
\end{filecontents*}
\begin{filecontents}{FNaktuell2.cbx}
\ProvidesFile{FNaktuell.cbx}[2017/07/12 v0.1f biblatex citation style]

\RequireCitationStyle{authortitle-dw}%
\ExecuteBibliographyOptions{%
%nopublisher=false,
namefont=italic,% Format für Nachnamen (biblatex-dw)
firstnamefont=italic,% Format für Vornamen (biblatex-dw)
edstringincitations=false,% Kein (Hrsg) im Fußnoten-Zitat (biblatex-dw)
}%
% Kein S. für die konkrete Fundstelle, dafür in Klammern:
\renewbibmacro*{cite:title}{%
  \iffieldundef{entrysubtype}%
    {\usedriver{}{cite:\thefield{entrytype}}}%
    {\usedriver{}{cite:\thefield{entrytype}:\thefield{entrysubtype}}}}
 
% Fußnotenformat für Festschriften:
\DeclareBibliographyDriver{cite:incollection}{%
  \usebibmacro{in:}%
   \printfield{number}   
   \iffieldundef{postnote}%   
     {\addcomma\space%
     \printfield{pages}}%
     {}%
}%

\endinput
\end{filecontents}

\documentclass[oneside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[citestyle=FNaktuell2, bibstyle=authortitle-dw]{biblatex}
\bibliography{Literatur2}

\DeclareFieldFormat[incollection]{pages}{\ifcitation{\mkfirstpage{#1}}{#1}} 
\renewcommand*{\postnotedelim}{\addspace} 

\DeclareFieldFormat{postnote}{\mkbibparens{\mkpageprefix[pagination]{#1}}}

\begin{document}

1\footnote{\cite[][30]{FringsGrundsicherung}.}
\printbibliography
\end{document}

von Gast » Mi 6. Jun 2018, 21:26

Ich dachte, das mit den Klammern hättest Du schon hinbekommen, da Du zwar oben davon geredet hattest, aber nicht mehr explizit danach gefragt hast.
Ich würde ja
\DeclareFieldFormat{postnote}{\mkbibparens{\mkpageprefix[pagination][\mknormrange]{#1}}}
probieren. Wenn Du eine veraltete Version von biblatex hast, musst Du eventuell das [\mknormrange] weglassen.

Welche Fehlermeldungen bekommst Du denn? Wie sieht Dein Versuch der Integration denn aus? Stichwort Minimalbeispiel

Was würde es denn heißen, dass es an \ifcitation liegt? Bei mir funktioniert der Code und auch bei einem Klick auf den Online-Editor bekomme ich die von mir erwartete Ausgabe ohne Fehlermeldungen.


Mit faken meine ich, dass ich lokal im Driver (also im Literaturverzeichnis) den Schalter blx@citation auf wahr stelle und damit dafür sorge, dass \ifcitation wahr ist, obwohl wir eigentlich in einem Kontext sind, in dem die beiden falsch sind.

von KJung » Mi 6. Jun 2018, 20:47

Hi, danke für deine Hilfe.
Wenn ich deine Änderungen für das Fußnotenformat ändere sieht die FN fast so aus wie ich mir das vorstelle.
"Bearbeiter, in: Titel der Incollection, Anfangsseite S. genaue Fundstelle"

Es muss also nur das S. durch () ersetzt werden.

Was meinst du genau mit faken?

Könnt ihr mir nochmal helfen?

Viele Grüße

KJung

von Gast » Mi 6. Jun 2018, 18:23

Das Problem ist hier, dass cite:incollection Seitenzahlen nicht immer anzeigt. Das habe ich geändert.

Für das "zitiert als" im richtigen Format, musst Du lokal \ifcitation faken.

Meine Änderungen sind mit XXXX HIER gekennzeichnet.
%\RequirePackage{filecontents}
\begin{filecontents*}{Literatur2.bib}  
@incollection{FringsGrundsicherung,
   Author = {Frings, Dorothee},
   Booktitle = {Arbeitsmarktintegration und Integrationspolitik -- zur notwendigen Verknüpfung zweier Politikfelder},
   gender ={sf},
   Date-Added = {2017-03-29 07:41:14 +0000},
   Date-Modified = {2017-10-17 14:02:51 +0000},
   Editor = {Knuth, Matthias},
   Number = {Arbeitsmarktintegration und Integrationspolitik},
   Pages = {23-41},
   Publisher = {Nomos},
   Title = {Grundsicherung für Arbeitsuchende und Migration: EInschlüsse und Ausschlüsse nach der Staatsangehörigkeit und dem Aufenthaltsstatus},
   Year = {2010}}
\end{filecontents*}
\begin{filecontents}{FNaktuell2.cbx}
\ProvidesFile{FNaktuell.cbx}[2017/07/12 v0.1f biblatex citation style]

\RequireCitationStyle{authortitle-dw}%
\ExecuteBibliographyOptions{%
%nopublisher=false,
namefont=italic,% Format für Nachnamen (biblatex-dw)
firstnamefont=italic,% Format für Vornamen (biblatex-dw)
edstringincitations=false,% Kein (Hrsg) im Fußnoten-Zitat (biblatex-dw)
}%
% Kein S. für die konkrete Fundstelle, dafür in Klammern:
\renewbibmacro*{cite:title}{%
  \iffieldundef{entrysubtype}%
    {\usedriver{}{cite:\thefield{entrytype}}}%
    {\usedriver{}{cite:\thefield{entrytype}:\thefield{entrysubtype}}}}
 
% Fußnotenformat für Festschriften:
\DeclareBibliographyDriver{cite:incollection}{%
  \usebibmacro{in:}%
  \printfield{number}%
  \setunit{\addcomma\space}%   XXXX HIER
  \printfield{pages}%                  XXXX HIER
}%

\endinput
\end{filecontents}

\documentclass[oneside]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[citestyle=FNaktuell2, bibstyle=authortitle-dw]{biblatex}
\bibliography{Literatur2}

\makeatletter
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{in:}%
%   \ifnamexref{labelname}%
%      {\global\bbx@xrefnoidemfalse}%
%      {\global\bbx@xrefnoidemtrue%
%       \global\cbx@xrefnoidemtrue}%
%    \iffieldundef{xref}%
     {% Code, wenn kein xref vorhanden
%      \ifbool{bbx@edbeforetitle}%
%          {\usebibmacro{editorincoll}%
%           \setunit{\labelnamepunct}\newblock}%
%          {}%
      \usebibmacro{editorincoll}
        \newunit
        \usebibmacro{maintitle+booktitle}%
        \newunit
        \printlist{language}%
        \newunit\newblock
      %  \usebibmacro{byeditor+others}%
      %  \newunit\newblock
        \printfield{edition}%
      %  \newunit
      \usebibmacro{volumes+volume+part}%
        \setunit{\addspace}%
      %  \newunit\newblock
        \usebibmacro{series+number}%
        \newunit\newblock%
        \printfield{note}%
        \newunit\newblock%
        \usebibmacro{publisher+location+date}%
        \newunit\newblock%
        \pno\ppspace\printfield{pages}%   <--- Seitenzahl mit S.
        \newunit\newblock%
        \usebibmacro{url+urldate}%
        \newunit\newblock%
        \printfield{addendum}}%
%      {\ifbool{bbx@edbeforetitle}
%         {\global\cbx@xrefebttrue}%
%         {\global\cbx@xrefebtfalse}%
%       \bbx@xref{\thefield{xref}}% xref
%       \ifbool{cbx@xref}%
%         {}%
%         {\iffieldundef{pages}%
%           {}%
%           {\addcomma%
%            \printfield{pages}}}}%
    \addcomma\addspace%            <-- 'zitiert als:' eingefügt und danach die Zitation
    \textit{zitiert}%              <-- mit shorttitle/title ausgegeben
    \addnbspace%                   <--
    \textit{als}%                  <--
    \begingroup%                    XXXX HIER
    \toggletrue{blx@citation}% XXXX HIER
    \addcolon%                     <--
    \addnbspace%                  <--
      \printnames{labelname}%         <--
    \addcomma%                  <--
    \addnbspace%
    in
    \addcolon%               <--
    \addspace%
    \printfield{number}
    \addcolon%
    \addspace%
    \printfield{pages}%
    \endgroup%                          XXXX HIER
     \usebibmacro{finentry}}%
\makeatother

\DeclareFieldFormat[incollection]{pages}{\ifcitation{\mkfirstpage{#1}}{#1}}
\renewcommand*{\postnotedelim}{\addspace}

\newbibmacro{editorincoll}{\printnames{editor}}

\begin{document}

1\footnote{\cite[][30]{FringsGrundsicherung}.}
\printbibliography
\end{document}
Bitte versuche in Zukunft, Deine Minimalbeispiel wirklich vollständig zu machen, indem Du alles in den einen Codeblock integrierst. Außerdem ist editorincoll nicht definiert. Daher habe ich eine Ersatzdefinition vorgenommen, damit es kompiliert.

Du solltest Du übrigens unbedingt Abschnitt 4.11.7 Using the Punctuation Tracker der [d]biblatex[/d]-Dokumentation durchlesen. Direkte \add...-Befehle ohne \setunit sind in Drivern und Bibmacros fast nie eine gute Idee.

Auch Konstrukte wie \pno\ppspace\printfield{pages} statt über \DeclareFieldFormat zu arbeiten sind kritisch zu sehen.

Warum nicht \footcite[][30]{Fringe} statt \footnote{\cite[][30]{FringsGrundsicherung}.}?

Ich habe so ein bisschen die Befürchtung, dass das hier ein riesiges Codemonster wird, das man nachher nur mit Mühe und Not verstehen kann, geschweige denn vernünftig warten kann, wenn es nicht mehr funktioniert.

von KJung » Mi 6. Jun 2018, 16:59

Jetzt habe ich diesbezüglich noch eine Frage:
Wenn ich nun nur die Seitenzahlen meiner Incollections genauso angezeigt bekommen will bei Zeitschriften(sprich alles andere sieht anders aus), wie bekomme ich das hin? Es soll also heißen:

Bearbeiter, in: Titel der Incollection, Anfangsseite (genaue Fundstelle)

Ich habe es mit
\DeclareFieldFormat[incollection]{pages}{\ifcitation{\mkfirstpage{#1}}{#1}}
\renewcommand*{\postnotedelim}{\addspace} 
versucht. Das hat aber nicht funktioniert.

Gleichzeitig soll im Literaturverzeichnis am Ende des Eintrages hinter zitiert als: "Bearbeiter, in:, Anfangsseite." stehen. Ich bekomme es jedoch nur hin, dass der gesamte Seitenabschnitt angezeigt wird und nicht nur die Anfangsseite.

Ich danke Euch für Eure Hilfe! Das Minimalbeispiel folgt in diesem Beitrag weiter unten!
Hier mein Code für das Literaturverzeichnis:
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{author}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{in:}%
%   \ifnamexref{labelname}%
% 	  {\global\bbx@xrefnoidemfalse}%
% 	  {\global\bbx@xrefnoidemtrue%
% 	   \global\cbx@xrefnoidemtrue}%
% 	\iffieldundef{xref}%
	  {% Code, wenn kein xref vorhanden
%      \ifbool{bbx@edbeforetitle}%
%		    {\usebibmacro{editorincoll}%
%		     \setunit{\labelnamepunct}\newblock}%
%		    {}%
		\usebibmacro{editorincoll}
		  \newunit
		  \usebibmacro{maintitle+booktitle}%
		  \newunit
		  \printlist{language}%
		  \newunit\newblock
		%  \usebibmacro{byeditor+others}%
		%  \newunit\newblock
		  \printfield{edition}%
		%  \newunit
      \usebibmacro{volumes+volume+part}%
		  \setunit{\addspace}%
		%  \newunit\newblock
		  \usebibmacro{series+number}%
		  \newunit\newblock%
		  \printfield{note}%
		  \newunit\newblock%
		  \usebibmacro{publisher+location+date}%
		  \newunit\newblock%
		  \pno\ppspace\printfield{pages}%	<--- Seitenzahl mit S.
		  \newunit\newblock%
		  \usebibmacro{url+urldate}%
		  \newunit\newblock%
		  \printfield{addendum}}%
% 	  {\ifbool{bbx@edbeforetitle}
% 	     {\global\cbx@xrefebttrue}%
% 	     {\global\cbx@xrefebtfalse}%
% 	   \bbx@xref{\thefield{xref}}% xref
% 	   \ifbool{cbx@xref}%
% 	     {}%
% 	     {\iffieldundef{pages}%
% 	       {}%
% 	       {\addcomma%
% 	        \printfield{pages}}}}%
    \addcomma\addspace%				<-- 'zitiert als:' eingefügt und danach die Zitation
    \textit{zitiert}%  				<-- mit shorttitle/title ausgegeben
    \addnbspace%       				<--
    \textit{als}%      				<--
    \addcolon%         				<--
    \addnbspace%      				<--
   	\printnames{labelname}%			<--
    \addcomma%						<--
    \addnbspace%
    in
    \addcolon%					<--
    \addspace%
    \printfield{number}
    \addcolon%
    \addspace%
    \printfield[citepages]{pages}%     <-- Muss hier der Code angepasst werden?
     \usebibmacro{finentry}}%

Anbei mein Minimalbeispiel:
\begin{filecontents*}{Literatur2.bib}  
@incollection{FringsGrundsicherung,
	Author = {Frings, Dorothee},
	Booktitle = {Arbeitsmarktintegration und Integrationspolitik -- zur notwendigen Verknüpfung zweier Politikfelder},
	gender ={sf},
	Date-Added = {2017-03-29 07:41:14 +0000},
	Date-Modified = {2017-10-17 14:02:51 +0000},
	Editor = {Knuth, Matthias},
	Number = {Arbeitsmarktintegration und Integrationspolitik},
	Pages = {23-41},
	Publisher = {Nomos},
	Title = {Grundsicherung für Arbeitsuchende und Migration: EInschlüsse und Ausschlüsse nach der Staatsangehörigkeit und dem Aufenthaltsstatus},
	Year = {2010}}
\end{filecontents*}
\begin{filecontents}{FNaktuell2.cbx}
\ProvidesFile{FNaktuell.cbx}[2017/07/12 v0.1f biblatex citation style]

\RequireCitationStyle{authortitle-dw}%
\ExecuteBibliographyOptions{%
%nopublisher=false,
namefont=italic,% Format für Nachnamen (biblatex-dw)
firstnamefont=italic,% Format für Vornamen (biblatex-dw)
edstringincitations=false,% Kein (Hrsg) im Fußnoten-Zitat (biblatex-dw)
}%
% Kein S. für die konkrete Fundstelle, dafür in Klammern:
\renewbibmacro*{cite:title}{%
  \iffieldundef{entrysubtype}%
    {\usedriver{}{cite:\thefield{entrytype}}}%
    {\usedriver{}{cite:\thefield{entrytype}:\thefield{entrysubtype}}}}
 
% Fußnotenformat für Festschriften:
\DeclareBibliographyDriver{cite:incollection}{%
  \usebibmacro{in:}%
	\printfield{number}	
	\iffieldundef{postnote}%	
     {\addcomma\space%
     \printfield{pages}}%
     {}%
}%

\endinput
\end{filecontents}

\documentclass[oneside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[citestyle=FNaktuell2, bibstyle=authortitle-dw]{biblatex}
\bibliography{Literatur2}
\begin{document}

1\footnote{\cite[][30]{FringsGrundsicherung}.}
\printbibliography
\end{document}

von KJung » Di 5. Jun 2018, 14:31

Danke für die schnelle Hilfe! Das hat geklappt. Ich persönlich würde es lieber auch anders machen, so sind nur leider die Vorgaben.

Viele Grüße

KJung

Nach oben