我正在尝试制作一个自定义脚注,它应该按如下方式打印脚注:
参见作者(标题)、年份、页码
到目前为止,我尝试使用以下方法实现此目的
\newcommand{\customfootcite}[2]{\footnote{cf. \citeauthor{#1} (\citetitle{#1}), \citeyear{#1}}}
现在我想将页面作为可选参数放入并显示缩写 p。如下所示:
\footcite[p.100]{Citationkey}
我认为我可以使用默认参数,这样我就不必实现一些对我来说似乎有点难以承受的(在乳胶中)的 if 逻辑......
\newcommand{\addcustompage}[1]{p. {#1}}
\newcommand{\customfootcite}[2][displaynothing??]{\footnote{cf. \citeauthor{#1} (\citetitle{#1}), \citeyear{#1} \addcustompage{#2}}}
梅威瑟:
\documentclass{article}
\usepackage[
backend=biber,
style=authortitle,
]{biblatex}
\DeclareFieldFormat*{citetitle}{#1}
\newcommand{\addcustompage}[1]{p. {#1}}
\newcommand{\customfootcite}[2]{\footnote{cf. \citeauthor{#1} (\citetitle{#1}), \citeyear{#1} \addcustompage{#2}}}
\addbibresource{sample.bib} %Imports bibliography file
\begin{document}
This is a custom foot cite.\customfootcite{latexcompanion}
\end{document}
我很感激任何帮助!
编辑:我接受了 moewe 的回答,因为使用 a 的方法\newcommand
有点目光短浅,而且会造成麻烦,正如他所解释的那样
答案1
一般来说,将几个命令合并为一个(或确实)biblatex
不是一个好主意:您必须手动处理前后注释,多个引用不会按预期出现,并且您可能会搞乱引用跟踪功能。\...cite
\newcommand
\NewDocumentCommand
\customfootcite
定义像with这样的命令更加符合习惯\DeclareCiteCommand
。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authortitle]{biblatex}
\DeclareFieldFormat*{citetitle}{#1}
\DeclareDelimFormat[customfootcite]{nametitledelim}{\addspace}
\newbibmacro*{customcite}{%
\DeclareFieldFormat*{citetitle}{\mkbibparens{##1}}%
\iffieldundef{shorthand}
{\printnames{labelname}%
\setunit*{\printdelim{nametitledelim}}%
\usebibmacro{cite:title}%
\setunit{\addcomma\space}%
\printdate}%
{\usebibmacro{cite:shorthand}}}
\DeclareCiteCommand{\customfootcite}[\mkbibfootnote]
{\iffieldundef{prenote}
{\bibstring{confer}%
\setunit{\addspace}}
{\usebibmacro{prenote}}}
{\usebibmacro{citeindex}%
\usebibmacro{customcite}}
{\multicitedelim}
{\usebibmacro{postnote}}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \customfootcite{companion}
ipsum \customfootcite[100]{companion}
ipsum \customfootcite[See][]{companion}
\printbibliography
\end{document}