biblatex - diverse Anpassungen

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


pauabaer
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 63
Registriert: Sa 19. Sep 2015, 00:17

Beitrag von pauabaer »

Guten Abend nochmal.

Eine Frage ist mir noch gekommen, weil mir aufgefallen ist, dass wenn ich im Text zitiere und im Befehl
\footcite[vgl.][9]{Bohrs.1967}
statt
\footcite[vgl.][9\psq]{Bohrs.1967}
angebe, sprich keine Folgeseiten mit angebe, dann gibt mir biblatex ein Punkt hinter der Seitenangabe aus.
Kann man diesen entfernen? Sodass das Ergebnis dann wie folgt aussehen würde?
vgl. Böhrs (1967), S.9
Dabei ist mir aufgefallen, dass ein gewisser Abstand zwischen dem "S." und der Ziffer steht. Ließe sich der auch anpassen?

Gruß
pauabaer

Gast

Beitrag von Gast »

Du bekommst bei von biblatex automatisch erzeugten Fußnoten immer einen abschließenden Punkt, wenn der weg soll, dann brauchst Du
\renewcommand{\bibfootnotewrapper}[1]{%
  \bibsentence#1}
Zwischen dem "S." und der Seitenzahl ist ein Abstand und der gehört da eigentlich auch hin, "S.9" ohne Leerraum wird gemeinhin als falsch betrachtet. Du kannst den PLatz mit dem Befehl \ppspace verändern, wenn Du beispielsweise ein dünneres Leerzeichen möchtest, kannst Du
\renewcommand*{\ppspace}{\addnbthinspace}
Den Leerraum vor dem "f."/"ff." kontrollierst Du analog mit \sqspace.

pauabaer
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 63
Registriert: Sa 19. Sep 2015, 00:17

Beitrag von pauabaer »

Besten Dank! Genau wie ich mir das vorgestellt habe.

pauabaer
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 63
Registriert: Sa 19. Sep 2015, 00:17

Beitrag von pauabaer »

Guten Abend.

Ich muss meinen alten Thread nocheinmal ausgraben.

Habe zu diesem Beispiel drei Fragen:
\begin{filecontents}{\jobname.bib} 
@book{Bohrs.1967, 
	keywords = {Bucher},	
   author = {B{\"o}hrs, Hermann}, 
   year = {1967}, 
   title = {Arbeitsstudien in der Betriebswirtschaft}, 
   address = {Wiesbaden, s.l.}, 
   publisher = {{Gabler Verlag}} 
} 

@book{Bohrs.1970, 
	keywords = {Bucher},	
	author = {B{\"o}hrs, Hermann}, 
	year = {1970}
	title = {Was soll man machen?}, 
	address = {Wiesbaden, s.l.}, 
	publisher = {{Gabler Verlag}} 
} 

@article{Drees.1980, 
	keywords = {Artikel},
	author = {Drees, Gerhard and Sommer, Hans and Eckert, Gerhard}, 
	year = {1980}, 
	title = {Zweckm{\"a}{\ss}iger Einsatz von Turmdrehkranen auf Hochbaustellen}, 
	pages = {822--843}, 
	number = {12}, 
	journal = {Baumaschine + Bautechnik} 
	}
\end{filecontents} 


\documentclass[ 
%   paper=A4,      Voreinstellung 
   pagesize=auto, 
   twoside=false,             
%   fontsize=11pt, Voreinstellung 
   BCOR=12mm,             
   headsepline,               
   headings=normal,             
   parskip=half,               
   captions=tableheading,         
]{scrbook} 
\usepackage[ngerman]{babel}           
\usepackage[utf8]{inputenc}       
\usepackage[T1]{fontenc}           
\usepackage{lmodern, textcomp}             
\addtokomafont{disposition}{\rmfamily}   
\usepackage{microtype}               
\usepackage{setspace}             
\onehalfspacing             
\usepackage{blindtext} 

\usepackage[autostyle]{csquotes} % geändert 
\usepackage[ 
   isbn=false, 
%    natbib=true, % Brauchst Du das wirklich? 
   style=authoryear-icomp, % geändert 
   backend=bibtex, 
   firstinits=true, 
   ibidpage=true, 
]{biblatex} 

\addbibresource{\jobname.bib} 

%%% Anpassung des Layouts des Literaturverzeichnis  %%% 
%Komma nach Autor entfernen 
\renewcommand*{\nameyeardelim}{\addspace}   
%Komma statt Punkt   
\renewcommand*{\newunitpunct}{\addcomma\space}   
%Doppelpunkt statt Komma hinter Autoren 
%\renewcommand{\labelnamepunct}{\addcolon\space}     
% Jahr in Zitaten in Klammern 
\renewbibmacro*{cite:labelyear+extrayear}{% 
   \iffieldundef{labelyear} 
   {} 
   {\printtext[bibhyperref]{% 
         \mkbibparens{% <-- NEU 
            \printfield{labelyear}% 
            \printfield{extrayear}}}}} 
%Komma vor Verlagssblock
\renewbibmacro*{publisher+location+date}{% 
	\printlist{location}% 
	\setunit*{\addcomma\space}% 
	\printlist{publisher}% 
	\setunit*{\addcomma\space}% 
	\usebibmacro{date}% 
	\newunit}
%Fettdruck der Autoren (inkl. Jahr und Doppelpunkt)
\usepackage{xpatch} 
\xpretobibmacro{author}{\mkbibbold\bgroup}{}{} 
\xapptobibmacro{author}{\egroup}{}{} 
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}
% Trennung der Autoren mittels ";" ohne "und"
\renewcommand*{\multinamedelim}{\addsemicolon\space} 
\renewcommand*{\finalnamedelim}{\multinamedelim}
% Sortierung der Autoren Namen: Nachname - Vorname
\DeclareNameFormat{sortname}{% 
	\ifnum\value{listcount}=1\relax 
	\iffirstinits 
	{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} 
	{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% 
	\ifblank{#3#5} 
	{} 
	{\usebibmacro{name:revsdelim}}% 
	\else 
	\iffirstinits 
	{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} 
	{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% 
	\fi 
	\usebibmacro{name:andothers}}

\begin{document} 

An dieser Stelle wird {\huge \cite{Drees.1980}} aufgeführt.\newline
Der Test geht weiter mit {\huge \cite{Drees.1980}}. Und ein weiteres Mal wird auf {\huge \cite{Drees.1980}} verwiesen.

An dieser Stelle sollen zwei Werke eines Autors in das Literaturverzeichnis aufgenommen werden: Nummer eins als \cite{Bohrs.1967} und Nummer zwei als \cite{Bohrs.1970}


%\setlength{\bibitemsep}{1em} 
%\printbibliography   
\setlength{\bibitemsep}{1em} 
\printbibheading[title=Quellenverzeichnis]
\printbibliography[keyword=Bucher,heading=subbibliography,title={Monographien, Sammelwerke}]
\printbibliography[keyword=Artikel,heading=subbibliography,title={Artikel in Fachzeitschrift}]  
\end{document}
1. Kann ich mehrere Autoren innerhalb des Fließtextes mit einem "und" und bei mehreren Autoren mit Komma trennen, im Lit.verzeichnis aber weiterhin mit Semikolon und "und"?
2. Wie kann ich es vermeiden, dass im Fließtext die Quellenangabe durch ein ebd. erfolgt?
3. Ist es möglich den Namen eines Autors auch bei seinem zweiten Werk im Verzeichnis auszuschreiben?

Vielen Dank für eure Hilfe.

Gruß
pauabaer

Gast

Beitrag von Gast »

Dein Beispiel läuft bei mir mit einer aktuellen biblatex-Version (v3.4) nicht mehr. Ersetze den \DeclareNameFormat{sortname}-Block durch die Zeile
\DeclareNameAlias{sortname}{family-given}
das Ergebnis sollte dasselbe sein, aber es ist kürzer und funktioniert mit allen Versionen >= v3.3.
Beachte auch, dass in Bohrs.1970 ein Komma fehlte.
Die Option firstinits heißt seit Version 3.3 giveninits.
Ich habe mir die Freiheit genommen, cite:labelyear+extrayear ein bisschen anzupassen (\printtext[parens] statt \mkbibparens). Wenn Du auf diese Art und Weise Klammern in Deine Zitate einführst, bekommst Du aber doppelte Klammern bei \textcite. Vielleicht hättest Du einfach ohne Modifikationen \textcite statt \cite nutzen wollen.

Ad 1: Mit
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
  \renewcommand*{\finalnamedelim}{\multinamedelim}%
}
statt
\renewcommand*{\multinamedelim}{\addsemicolon\space}
\renewcommand*{\finalnamedelim}{\multinamedelim}
bekommst Du Kommas und "und" in den Zitaten und Semikolons im Literaturverzeichnis.
Wenn Du nur
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
}
nutzt, bekommst Du Semikolons und "und" im Literaturverzeichnis.
(Vorher wolltest Du doch explizit kein "und", oder?)

Ad 2: Nutze den Stil authoryear-comp statt authoryear-icomp, dann musst Du die Option ibidpage löschen, die ist dann nämlich nicht mehr definiert. (Das i in der Bezeichnung des Stils steht für ibid das ist die englische/lateinische Version von "ebd.".)

Ad 3: Die Option dashed=false sollte das können.
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Bohrs.1967,
  keywords  = {Bucher},  
  author    = {B{\"o}hrs, Hermann},
  year      = {1967},
  title     = {Arbeitsstudien in der Betriebswirtschaft},
  address   = {Wiesbaden},
  publisher = {Gabler Verlag},
}

@book{Bohrs.1970,
  keywords  = {Bucher},  
  author    = {B{\"o}hrs, Hermann},
  year      = {1970},
  title     = {Was soll man machen?},
  address   = {Wiesbaden},
  publisher = {Gabler Verlag},
}

@article{Drees.1980,
  keywords = {Artikel},
  author   = {Drees, Gerhard and Sommer, Hans and Eckert, Gerhard},
  year     = {1980},
  title    = {Zweckm{\"a}{\ss}iger Einsatz von Turmdrehkranen auf Hochbaustellen},
  pages    = {822--843},
  number   = {12},
  journal  = {Baumaschine + Bautechnik},
}
\end{filecontents}


\documentclass{article}
\usepackage[ngerman]{babel}          
\usepackage[utf8]{inputenc}      
\usepackage[T1]{fontenc}          
\usepackage{lmodern}            

\usepackage[autostyle]{csquotes} 
\usepackage[
   isbn=false,
   style=authoryear-comp,% ad 2
   backend=bibtex,
   giveninits=true,
   dashed=false, % ad 3
]{biblatex}


\addbibresource{\jobname.bib}

\renewcommand*{\nameyeardelim}{\addspace}  
\renewcommand*{\newunitpunct}{\addcomma\space}  

\renewbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
  {}
  {\printtext[bibhyperref]{%
     \printtext[parens]{%
       \printfield{labelyear}%
       \printfield{extrayear}}}}}

\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

\usepackage{xpatch}
\xpretobibmacro{author}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{author}{\egroup}{}{}
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}

% ad 1
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
  \renewcommand*{\finalnamedelim}{\multinamedelim}%
}

\DeclareNameAlias{sortname}{family-given}

\begin{document}
\cite{Drees.1980} und \cite{Drees.1980} und \cite{Drees.1980}

\cite{Bohrs.1967} \cite{Bohrs.1970}

\printbibheading[title=Quellenverzeichnis]
\printbibliography[keyword=Bucher,heading=subbibliography,title={Monographien, Sammelwerke}]
\printbibliography[keyword=Artikel,heading=subbibliography,title={Artikel in Fachzeitschrift}]  
\end{document}

pauabaer
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 63
Registriert: Sa 19. Sep 2015, 00:17

Beitrag von pauabaer »

Guten Abend,

vielen Dank für die Anpassungen!!
Bis auf Punkt 2 soweit alles wie ich mir das Wünsche. Danke!

Bei Punkt 2 habe ich mich gestern nicht eindeutig ausgedrückt.

In meiner Arbeit gebe ich Quellen mit \footcite an. Hierfür würde ich gerne das ebd. anzeigen lassen. Nur nicht wenn ich mal im Fließtext eine Quelle angebe. Hier sollen die Autoren immer, egal ob die Quelle bereits vorher in einer Fußnote aufgeführt wurde, ausgeschrieben (wie von dir angepasst) werden.
Mit den derzeitigen Anpassungen verschwinden leider auch die ebd.-Verweise in den Fußnoten.

Gibt es hierfür eine Möglichkeit?

Gruß
pauabaer

Gast

Beitrag von Gast »

Gut, dann musst Du den Stil wieder zurück zu authoryear-icomp ändern.

Die Billiglösung ist dann
% ad 2
\makeatletter
\AtEveryCitekey{\global\undef\blx@lastkey@text}
\makeatother
Du kannst aber auch die etwas komplexere, aber vielleicht konzeptionell schönere Lösung von ibidem only in the footnotes and not in the running text nehmen.
In etwas abgewandelter Form:
\makeatletter
\def\blx@opt@ibidtracker@foot{%
  \let\blx@imc@ifciteibid\blx@ifciteibid@foot
  \let\blx@ibidtracker\blx@ibidtracker@context
  \let\blx@ibidreset\blx@ibidreset@context
  \booltrue{citetracker}}

\def\blx@ifciteibid@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\blx@imc@iffieldequals{entrykey}\blx@lastkey@foot}
       {\@secondoftwo}}
    {\@secondoftwo}}
\makeatother
und dann
ibidtracker=foot,% ad 2
als biblatex-Ladeoption
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Bohrs.1967,
  keywords  = {Bucher},  
  author    = {B{\"o}hrs, Hermann},
  year      = {1967},
  title     = {Arbeitsstudien in der Betriebswirtschaft},
  address   = {Wiesbaden},
  publisher = {Gabler Verlag},
}

@book{Bohrs.1970,
  keywords  = {Bucher},  
  author    = {B{\"o}hrs, Hermann},
  year      = {1970},
  title     = {Was soll man machen?},
  address   = {Wiesbaden},
  publisher = {Gabler Verlag},
}

@article{Drees.1980,
  keywords = {Artikel},
  author   = {Drees, Gerhard and Sommer, Hans and Eckert, Gerhard},
  year     = {1980},
  title    = {Zweckm{\"a}{\ss}iger Einsatz von Turmdrehkranen auf Hochbaustellen},
  pages    = {822--843},
  number   = {12},
  journal  = {Baumaschine + Bautechnik},
}
\end{filecontents}


\documentclass{article}
\usepackage[ngerman]{babel}          
\usepackage[utf8]{inputenc}      
\usepackage[T1]{fontenc}          
\usepackage{lmodern}            

\usepackage[autostyle]{csquotes}


% ad 2
\makeatletter
\def\blx@opt@ibidtracker@foot{%
  \let\blx@imc@ifciteibid\blx@ifciteibid@foot
  \let\blx@ibidtracker\blx@ibidtracker@context
  \let\blx@ibidreset\blx@ibidreset@context
  \booltrue{citetracker}}

\def\blx@ifciteibid@foot{%
  \ifbool{citetracker}
    {\iftoggle{blx@footnote}
       {\blx@imc@iffieldequals{entrykey}\blx@lastkey@foot}
       {\@secondoftwo}}
    {\@secondoftwo}}
\makeatother

\usepackage[
  isbn=false,
  style=authoryear-icomp,
  backend=bibtex,
  giveninits=true,
  dashed=false, % ad 3
  ibidtracker=foot,% ad 2
]{biblatex}


\addbibresource{\jobname.bib}

\renewcommand*{\nameyeardelim}{\addspace}  
\renewcommand*{\newunitpunct}{\addcomma\space}  

\renewbibmacro*{cite:labelyear+extrayear}{%
  \iffieldundef{labelyear}
  {}
  {\printtext[bibhyperref]{%
     \printtext[parens]{%
       \printfield{labelyear}%
       \printfield{extrayear}}}}}

\renewbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

\usepackage{xpatch}
\xpretobibmacro{author}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{author}{\egroup}{}{}
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}

% ad 1
\AtBeginBibliography{%
  \renewcommand*{\multinamedelim}{\addsemicolon\space}%
  \renewcommand*{\finalnamedelim}{\multinamedelim}%
}

\DeclareNameAlias{sortname}{family-given}


\begin{document}
\cite{Drees.1980} und \cite{Drees.1980} und \cite{Drees.1980}

\cite{Bohrs.1967} \cite{Bohrs.1970}

Lorem\footcite{Bohrs.1967} ipsum\footcite{Bohrs.1970} dolor\footcite{Bohrs.1970}

\cite{Bohrs.1967} \cite{Bohrs.1970}

\printbibheading[title=Quellenverzeichnis]
\printbibliography[keyword=Bucher,heading=subbibliography,title={Monographien, Sammelwerke}]
\printbibliography[keyword=Artikel,heading=subbibliography,title={Artikel in Fachzeitschrift}]  
\end{document}

pauabaer
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 63
Registriert: Sa 19. Sep 2015, 00:17

Beitrag von pauabaer »

Wahnsinn. Vielen Dank für deine Hilfe!

Gruß
pauabaer

Antworten