使用 philosophy-verbose 抑制第二个参考 \footcite 中的“cit.”

使用 philosophy-verbose 抑制第二个参考 \footcite 中的“cit.”

我正在撰写人文学科的硕士论文,我的导师对脚注引用非常挑剔。

我正在使用 philosophy-verbose 并将其设置为意大利语,并且使用 \footcite 获得了良好的效果。

我的问题是,当我有第二个参考文献(不严格链接到第一个参考文献,假设第二个参考文献在第一个参考文献下面几页)时,philosophy-verbose 会在作品标题后给我“cit.” ,而我不需要它被显示。

第一个引用很好。 在此处输入图片描述

但是,当我在下面的某些页面中插入相同的作品时,出现了以下信息: 在此处输入图片描述

“cit.”不应该在那里,我只需要我使用的作者标题页。我在这里添加了我目前正在处理的文本,以使用 MWE 测试不同的解决方案。请注意,我已经遇到了很多问题,无法找到如何以这种方式放置参考文献,我从其他人的答案中复制了许多代码段来尝试修复单个元素,因此可能会造成一些混淆。

我真的希望这只是一个小问题,我刚刚开始使用 XeLaTex(以及 LaTex),有时不能完全理解我正在复制粘贴到序言代码上的内容。

(如果这个问题已经有人问过了,我将非常感激能够在相关帖子中回复。)

作为一名绝望的学生,提前向大家表示感谢。

\documentclass[a4paper, 12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber,style=philosophy-verbose,latinemph,singletitle=true]{biblatex}
\usepackage[a4paper,top=1.5cm,bottom=1.5cm,left=1.5cm,right=1.5cm]{geometry}
\pretolerance=10000
\tolerance=2000 
\emergencystretch=10pt



%%%%

%%%%

\renewcommand{\baselinestretch}{1.5} %INTERLINEA

%%%%

\DeclareLanguageMapping{italian}{italian-philosophy} %MAPPING LINGUA





%%%%%

\usepackage{fontspec}

\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage{paralist}
\usepackage{verbatim}
\usepackage{caption}

\usepackage{tabularx}
\usepackage{multirow}

%%%%

\usepackage{polyglossia}
\newfontfamily\italianfont[Script=Latin]{Times New Roman}
\newfontfamily\greekfont[Script=Greek]{Gentium Plus}
\setmainlanguage{italian}
\setotherlanguages{greek}
\PolyglossiaSetup{italian}{indentfirst=false} %NO INDENT PRIMA RIGA DOPO CHAPTER O SECTION


%%%%



%%%%%%%

\usepackage{blindtext}   
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}


\makeatletter

\DeclareCiteCommand{\textcite}
  {\iffootnote{\usebibmacro{cite:init}}{}%
   \usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \iffootnote
     {\global\booltrue{cbx@mlafootnotes}%
      \renewcommand*{\newunitpunct}{\addcomma\space}%
      \usebibmacro{cite:mla:foot}}
     {\usebibmacro{cite:mla}}}
  {}
  {\usebibmacro{mla:foot:postnote}}

\makeatother


%%%%%%
\bibliography{contratti.bib}

%%%%%

\newcommand{\cmd}[1]{\texttt{\textbackslash #1}}

%%%%%

\setlength{\parindent}{24pt}    %INDENT PARAGRAFI


%%%%%%
%TOGLIE "" AI TITOLI DI TUTTE LE ENTRY
\DeclareFieldFormat*{title}{#1}




%%%%%%%

%TOGLIE PARENTESI A DATE
\renewbibmacro*{issue+date}{%
  \setunit{\addcomma\space}% NEW
%  \printtext[parens]{% DELETED
    \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
       \setunit*{\addspace}%
%       \usebibmacro{date}}}% DELETED
       \usebibmacro{date}}% NEW
  \newunit}

%%%%%%

%TOGLIE "P." ALLE PAGINE DI TUTTE LE ENTRY
\DeclareFieldFormat*{pages}{#1}

%%%%%%%



\begin{document}

    This is a citation\footcite[89.]{faraguna1992atene}.
    Now I cite another author\footcite{west1989public}, then the first author but in another work\footcite[89.]{faraguna2011legislazione} and the problematic citation is this\footcite[558.]{faraguna1992atene}


\end{document}

答案1

城市由 插入cite:title,可以通过重新定义此宏来删除\bibstring{opcit}

\documentclass[a4paper, 12pt]{book}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber,style=philosophy-verbose,latinemph,singletitle=true]{biblatex}

\DeclareLanguageMapping{italian}{italian-philosophy}

\usepackage{polyglossia}
\setmainlanguage{italian}
\setotherlanguages{greek}
\PolyglossiaSetup{italian}{indentfirst=false}

\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}

\renewbibmacro*{cite:title}{%
  \ifsingletitle{\usebibmacro{cite:opcit}}{%
    \printtext[bibhyperlink]{%
      \printfield[citetitle]{labeltitle}%
      \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
      {\setunit{\addspace\midsentence}}}}}

\DeclareFieldFormat*{title}{#1}

\renewbibmacro*{issue+date}{%
  \setunit{\addcomma\space}% NEW
%  \printtext[parens]{% DELETED
    \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
       \setunit*{\addspace}%
%       \usebibmacro{date}}}% DELETED
       \usebibmacro{date}}% NEW
  \newunit}

\DeclareFieldFormat*{pages}{#1}

\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{volcitepages}{\mknormrange{#1}}
\DeclareFieldFormat{multipostnote}{\mknormrange{#1}}

\addbibresource{biblatex-examples.bib}

\begin{document}
  This is a citation\footcite[89]{knuth:ct:a}.
  Now I cite another author\footcite{worman},
  then the first author but in another work\footcite[89]{knuth:ct:b}
  and the problematic citation is this\footcite[558]{knuth:ct:a}
\end{document}

Knuth,TeXbook,558。

请注意,biblatex会自动在脚注末尾添加句点,因此您只需说\footcite[89]{knuth:ct:a}而不是 即可\footcite[89.]{knuth:ct:a}。如果您想隐藏页面前缀“p。”,则应重新定义字段格式postnote(如 MWE 中所示,如果您因 而收到错误\mknormrange,则您的biblatex已过时,在这种情况下只需使用#1而不是 即可\mknormrange{#1})。

相关内容