PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nur im Zitierstil cite den Autor kursiv



wuffet
20-10-2014, 14:37
Hallo Latex-Freunde,

ich hänge bei folgender Latex-Zitierproblem. Nur wenn mit parencite zitiert wird, sollte der Autor kursiv erscheinen:
\parencite{chicago-82} . In allen anderen Zitierstilen, wie z.B. textcite soll der Autor nicht kursiv sein.
\textcite{chicago-82}
Ich hab's bisher leider nur hingebracht, dass ich der Autor immer kursiv erscheint. Hat jemand eine Idee ?
Vielen Dank und schöne Grüße.

Anbei der Komplette Demo-Code:



\documentclass{article}
\usepackage[a4paper, left=4cm, right=2.5cm, top=2cm, bottom=2 cm]{geometry}
% Neue Deutsche Rechtschreibung
\usepackage[ngerman]{babel}
% UTF-8 zur Darstellung von Umlauten
\usepackage[utf8]{inputenc}
% Deutsch Schritfarten
\usepackage[T1]{fontenc}
% Deutsche Zitierweise
% ----
\usepackage[babel,german=quotes]{csquotes}

\usepackage[
style=authoryear,
backend=bibtex
]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{testt.bib}
@Book{chicago-82,
Title = {The {C}hicago Manual of Style},
Author = {`Chicago'},
Publisher = {University of Chicago Press},
Year = {1982},
Edition = {13th}
}
\end{filecontents}

\addbibresource{testt.bib}

\renewcommand{\mkbibnamelast}[1]{\mkbibemph{#1}}
% Revert formatting of the last name for bibliography
\AtBeginBibliography{\renewcommand{\mkbibnamelast}[1]{#1}}

%\bibliography{zitiere}

\begin{document}
parencite Autor soll nicht kursiv sein: \parencite{chicago-82}

textcite: Autor soll kursiv sein\textcite{chicago-82}

\end{document}

Legion
27-10-2014, 21:09
Schnellschuss ins Blaue: textcite umdefinieren. Ist zwar mehr Code als Deine drei Zeilen, sollte aber funktionieren. Da Du Dir selbst widersprichst habe ich mich an den Text im Dokument gehalten.


\renewbibmacro*{textcite}{%
\ifnameundef{labelname}
{\iffieldundef{shorthand}
{\usebibmacro{cite:label}%
\setunit{%
\global\booltrue{cbx:parens}%
\addspace\bibopenparen}%
\ifnumequal{\value{citecount}}{1}
{\usebibmacro{prenote}}
{}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}
{\mkbibemph{\printnames{labelname}}% hier kursiv
\setunit{%
\global\booltrue{cbx:parens}%
\addspace\bibopenparen}%
\ifnumequal{\value{citecount}}{1}
{\usebibmacro{prenote}}
{}%
\usebibmacro{citeyear}}}

Gruß

\edit:
Wenn parencite kursiv sein soll, dann könntest Du cite an sich umdefinieren, da textcite dieses bibmakro nicht aufruft.


\renewbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldund ef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\mkbibemph{\printnames{labelname}}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}

Das Ding ist, dass footcite auch auf cite zurückgreift. Wenn Du damit leben kannst, dann sollte es so gehen. Wenn nicht, dann würde ich ein zweites cite-bibmakro definieren und dann parencite anweisen, dieses statt des normalen cite zu verwenden. So etwa:


\newbibmacro*{citek}{%
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldund ef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\addspace}}
{\mkbibemph{\printnames{labelname}}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}

\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{citek}}
{\multicitedelim}
{\usebibmacro{postnote}}

Gibt sicher elegantere Lösungen, aber ich werde selber erst warm mit Biblatex :D