0

Since two users here were already a great help to my last question, here a new problem that came along. If I quote an incolletion or inbook the first time (verbose setting), it will print the pages of the .bib-file. But if you quote something, you usually have to give the exact page-number for that quote. So I'd like to leave the pages-field from the .bib-File empty, if I give the \cite my own page-number. I can't leave out the pages-field of the .bib-File, since the pages have to show up in the bibliography. So I've got this: enter image description here There's twice a page-reference now, once from the .bib-entry, once manually from the \footcite-command. So I'd like to leave the 2610-2613 away and print only the 15. I hope that's somehow doable, so here my MWE:

\documentclass[11pt, a4paper]{scrreprt} %Inhaltsverzeichnis andere Schrift.. bei report normal
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents}{test.bib}
    @inbook{Kline:Commune,
        author = {Kline, Michael and Nilsen, Micheline},
        title = {Paris Commune, 1871},
        editor = {Ness, Immanuel and Herz, Jonah},
        booktitle = {The International Encyclopedia of Revolution and Protest},
        booksubtitle = {1500 to the Present},
        volume = {5},
        pages = {2610--2613},
        date = {2009},
        location = {Chichester},
    }
\end{filecontents}

%=============BIBLIOGRAPHIE, ZITIERWEISE=================== %
\usepackage[babel,german=guillemets]{csquotes}
\usepackage[%
style=alphabetic,
style=verbose-ibid,
labeldate,
dashed=false, %bei mehreren Werken desselben Autors kein Strich
backend=bibtex8,
idemtracker=false,
ibidtracker=constrict,
]{biblatex}

\usepackage{xpatch}

%Hg. bzw Hgg. in Klammern hinter Herausgeber, statt davor und vor Titel
\renewbibmacro*{byeditor+others}{%
    \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
        \setunit{\addspace}%
        \usebibmacro{editor+othersstrg}%
        \clearname{editor}%
        \newunit}%
    \usebibmacro{byeditorx}%
    \usebibmacro{bytranslator+others}
    \setunit{\addcolon\space}
    \usebibmacro{booktitle}}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}

\DefineBibliographyStrings{german}{%
    andothers = {et\ al\adddot}, %et al. statt u.a.
    editor = {\mkbibparens{Hg\adddot}}, %Hg. statt Hrsg.
    editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
    byeditor = {\mkbibparens {Hg\adddot}}, 
}
\DeclareFieldFormat{postnote}{#1} %unterdrückt Präfix S.
\DeclareFieldFormat{multipostnote}{#1} %unterdrückt Präfix S.
\DeclareNameAlias{default}{last-first} %Autoren immer Nachname, Vorname sortieren
\renewbibmacro*{cite:short}{%
    \printnames{labelname}%
    \setunit*{\nameyeardelim}%
    \iffieldundef{labelyear}
    {}
    {\printtext[\addcolon]{\printtext[bibhyperlink]{%
                \printfield{labelyear}%
                \printfield{extrayear}}}}}
%\DeclareNameFormat{default}{%
%\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
%\usebibmacro{name:andothers}}
\renewcommand{\multinamedelim}{\addsemicolon\space} %Semikolon zum trennen der Autoren
\renewcommand{\finalnamedelim}{\addsemicolon\space}
\renewcommand{\labelnamepunct}{\addcolon\space} %Zwischen Autor und Titel Doppelpunkt, kein Punkt
\renewcommand{\postnotedelim}{\addcolon\space} %Zwischen Jahrzahl und Seitenzahl Doppelpunkt, kein Komma
\renewcommand{\nametitledelim}{\addspace}
\renewbibmacro*{publisher+location+date}{% %Zwischen Ort und Jahr kein Komma
    \printlist{location}%
    {\setunit*{\addspace}}
    \usebibmacro{date}%
    \newunit}

\renewbibmacro*{maintitle+booktitle}{%
    \iffieldundef{maintitle}
    {}
    {\usebibmacro{maintitle}%
        \newunit\newblock
        \iffieldundef{volume}
        {}
        {\printfield{volume}%
            \printfield{part}%
            \setunit{\addcolon\space}}}%
    %\usebibmacro{booktitle}%
    \newunit}

\xpatchbibdriver{inbook}{%
    \usebibmacro{maintitle+booktitle}%
    \newunit\newblock
    \usebibmacro{byeditor+others}%
}%
{%
    \usebibmacro{byeditor+others}%
    \setunit{\addcolon\space}\newblock
    \usebibmacro{maintitle+booktitle}%
}%
{}{}%

\xpatchbibdriver{inbook}{%
    \newunit\newblock
    \usebibmacro{chapter+pages}%
}%
{%
    \addcolon\space
    \usebibmacro{chapter+pages}%
}%
{}{}

\xpatchbibdriver{inbook}{%
    \newunit
    \iffieldundef{maintitle}
}%
{%
    \setunit{\addcomma\space}
    \iffieldundef{maintitle}
}%
{}{}

\xpatchbibdriver{incollection}{%
    \usebibmacro{maintitle+booktitle}%
    \newunit\newblock
    \usebibmacro{byeditor+others}%
}%
{%
    \usebibmacro{byeditor+others}%
    \setunit{\addcolon\space}\newblock
    \usebibmacro{maintitle+booktitle}%
}%
{}{}%

\xpatchbibdriver{incollection}{%
    \newunit\newblock
    \usebibmacro{chapter+pages}%
}%
{%
    \addcolon\space
    \usebibmacro{chapter+pages}%
}%
{}{}

\xpatchbibdriver{incollection}{%
    \newunit
    \iffieldundef{maintitle}
}%
{%
    \setunit{\addcomma\space}
    \iffieldundef{maintitle}
}%
{}{}

%Titel nicht in Anführungszeichen; S. vor Seitenangabe entfernen
\DeclareFieldFormat[inbook]{title}{#1}
\DeclareFieldFormat[inbook]{pages}{#1}
\DeclareFieldFormat[incollection]{title}{#1} 
\DeclareFieldFormat[incollection]{pages}{#1}
\DeclareFieldFormat[article]{title}{#1}
\DeclareFieldFormat[article]{pages}{#1}


%\renewcommand{\nametitledelim}{\space}

\bibliography{test} %name des .bib-Files

% Titel nicht schräg
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{citetitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat{maintitle}{#1}

% Journal Titel nicht schräg
\DeclareFieldFormat{journaltitle}{#1}

%=============ENDE BIBLIOGRAPHIE, ZITIERWEISE=================== %
\begin{document}
    Test\footcite[15]{Kline:Commune}

    \printbibliography
\end{document}
lockstep
  • 250,273
Julian
  • 157

1 Answers1

1

As @moewe said: citepages=omit will print the cited pages if needed and print the pages-entry from the .bib-File if left out.

Julian
  • 157
  • 2
    It would be more appropriate to give moewe the credit for this answer rather than taking it for yourself. When somebody offers an answer in comments, the usual practice is to ask that person to write an answer which you can then accept. That way, the person who helped you gets the credit for doing so. – cfr Nov 09 '14 at 21:29
  • 1
    oh, sorry, I didn't know that! I just askwed him to do that and will delete this one after. – Julian Nov 11 '14 at 12:47