
biblatex와 함께 명령을 사용할 때 \footcite
텍스트에서 구분 쉼표를 처리하는 방법이 명확하지 않습니다. 예를 들어, \footcite{key1},\footcite{key2}
두 지수를 구분하는 일반적인 쉼표로 인해 텍스트에서 문제가 될 수 있습니다. 대신에 \footcite{key1}\textsuperscript{,}\footcite{key2}
선호되어야 하지만 문제가 있어 보입니다. 예상되는 결과를 달성하는 올바른 방법은 무엇입니까?
답변1
그만큼fnpct
이를 위해 패키지를 사용할 수 있습니다.주요 목적은 다른 목적이지만또한 의 알려진 명령 에 추가 \footcite
된 여러 명령을 처리할 수도 있습니다. 아래 예는 뻔뻔하게도 다음에서 빌려온 것입니다.\footcite
fnpct
마르코 다니엘의 답변. 아래 코드는 fnpct 버전 1.0(2021년 1월 출시)용입니다.
\documentclass{article}
\usepackage[style=authortitle,dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{fnpct}
\AdaptNote\footcite{oo+m}[footnote]{%
\setfnpct{dont-mess-around}%
\IfNoValueTF{#1}
{#NOTE{#3}}
{\IfNoValueTF{#2}
{#NOTE[#1]{#3}}
{#NOTE[#1][#2]{#3}}}}
\begin{document}
Text\footcite{knuth:ct:a}
Text\footcite{knuth:ct:b}\footcite{ctan}
Text\footcite{knuth:ct:c}\footcite{companion}\footcite{knuth:ct:d}
Text\footcite{knuth:ct:a}\footcite{knuth:ct:b}\footcite{knuth:ct:c}\footcite{knuth:ct:d}\footcite{companion}
\printbibliography
\end{document}
답변2
사용 방법은 모르지만 biblatex
자체 정의된 명령을 제안할 수 있습니다.
\documentclass{article}
\usepackage[style=authortitle,dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage{xparse}
\ExplSyntaxOn
\clist_new:N \l__pluton_input_clist
\NewDocumentCommand \myfootcite { m }
{
\int_compare:nNnTF
{ \clist_count:n { #1 } } > { 1 }
{ \__pluton_myfootcites:n { #1 } }
{ \footcite { #1 } }
}
\cs_set:Npn \__pluton_myfootcites:n #1
{
\clist_set:Nx \l__pluton_input_clist { #1 }
\int_case:nnn { \clist_count:N \l__pluton_input_clist }
{
{ 0 } { \footnote{\bfseries empty~argument} }
{ 1 } { \footcite{ \clist_item:Nn \l__pluton_input_clist { 1 } } }
{ 2 } { \footcite{ \clist_item:Nn \l__pluton_input_clist { 1 } }
\textsuperscript{,}
\footcite{ \clist_item:Nn \l__pluton_input_clist { 2 } } }
}
{
\footcite{ \clist_item:Nn \l__pluton_input_clist { 1 } }
\textsuperscript{,}
\clist_pop:NN \l__pluton_input_clist \l_tmpa_tl
\__pluton_myfootcites:n { \l__pluton_input_clist }
}
}
\ExplSyntaxOff
\begin{document}
Text\myfootcite{knuth:ct:a}
Text\myfootcite{knuth:ct:b,ctan}
Text\myfootcite{knuth:ct:c,companion,knuth:ct:d}
Text\myfootcite{knuth:ct:a,knuth:ct:b,knuth:ct:c,knuth:ct:d,companion}
\printbibliography
\end{document}
답변3
각주에서 별도의 줄에 참조를 배치하려면 \multicitedelim
인용 명령이 각주를 생성하는 경우에만 줄 바꿈을 추가하도록 재정의하는 것이 좋습니다.
\documentclass{article}
\usepackage[style=authortitle]{biblatex}
\renewcommand*{\multicitedelim}{\iffootnote{\newline}{\addsemicolon\space}}
\renewcommand{\bibfootnotewrapper}[1]{\bibsentence #1}
\usepackage{scrextend}
\deffootnote{1.7em}{1em}{\textsuperscript{\thefootnotemark}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
@misc{B02,
author = {Buthor, B.},
year = {2002},
title = {Bravo},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill% just for the example
Some text \parencite{A01,B02}.
Some text.\footcite{A01,B02}
\printbibliography
\end{document}