当我使用来自 https://tex.stackexchange.com/questions/379901/biblatex-how-to-match-the-journal-of-finance-bibliographic-style 的 biblatex 模板时,我有两个问题。
- 例如,当我想引用一篇有两位作者的文章时,有时会显示不正确的结果
P. Jain 和 S. Jain (2019)。
正确的结果应该是
耆那教与耆那教 (2019)。
但是这种情况很少发生,所以我不确定触发机制。
- 我的引用 (
/parencite
) 中年份没有括号。
(夏普,1964 年)。
我希望正确的结果是
(夏普,(1964))。
我如何更改我的 biblatex 设置?
\usepackage{csquotes}
\usepackage[style=authoryear,
backend=biber,
giveninits=true,
uniquelist = false,
uniquename=init,
isbn=false,
maxcitenames=3,
dashed=false,
maxbibnames=999,
doi=false,
url=false]{biblatex}
\addbibresource{Auto Rebalance_ref.bib} %Imports bibliography file
\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\labelnamepunct}{\addspace}
\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{#1}
\DeclareFieldFormat{titlecase}{\MakeSentenceCase*{#1}}
\renewbibmacro*{in:}{%
\ifentrytype{article}
{\setunit{\addcomma\space}}
{\printtext{\bibstring{in}\intitlepunct}}}
\DeclareFieldFormat{journaltitlecase}{#1}
\renewbibmacro*{journal}{%
\ifboolexpr{
test {\iffieldundef{journaltitle}}
and
test {\iffieldundef{journalsubtitle}}
}
{}
{\printtext[journaltitle]{%
\printfield[journaltitlecase]{journaltitle}%
\setunit{\subtitlepunct}%
\printfield[journaltitlecase]{journalsubtitle}}}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article,periodical]{volume}{\mkbibbold{#1}}% volume of a journal
\DeclareFieldFormat{pages}{#1}
@article{jain2019can,
title = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}? The {{Need}} to {{Account}} for {{Covariance Misspecification}}},
shorttitle = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}?},
author = {Jain, Prayut and Jain, Shashi},
date = {2019-09},
journaltitle = {Risks},
volume = {7},
number = {3},
pages = {74},
publisher = {{Multidisciplinary Digital Publishing Institute}},
urldate = {2021-09-28},
issue = {3},
langid = {english}
}
@article{dai2002efficient,
title = {Efficient, Exact Algorithms for Asian Options with Multiresolution Lattices},
author = {Dai, Tian-Shyr and Lyuu, Yuh-Dauh},
date = {2002-05-01},
journaltitle = {Review of Derivatives Research},
shortjournal = {Review of Derivatives Research},
volume = {5},
number = {2},
pages = {181--203},
urldate = {2021-10-13},
langid = {english}
}
答案1
使用
uniquename=false
防止在标签中排版作者唯一姓名的首字母giveninits=true
允许在参考书目中使用给定的首字母\DeclareInnerCiteDelims{cite}{\bibopenparen}{\bibcloseparen}
全年定制括号
平均能量损失
\begin{filecontents*}{Auto Rebalance_ref.bib}
@article{jain2019can,
title = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}? The {{Need}} to {{Account}} for {{Covariance Misspecification}}},
shorttitle = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}?},
author = {Jain, Prayut and Jain, Shashi},
date = {2019-09},
journaltitle = {Risks},
volume = {7},
number = {3},
pages = {74},
publisher = {{Multidisciplinary Digital Publishing Institute}},
urldate = {2021-09-28},
issue = {3},
langid = {english}
}
\end{filecontents*}
\documentclass{book}
\usepackage{csquotes}
\usepackage[style=ext-authoryear,uniquename=false,giveninits=true]{biblatex}
\addbibresource{Auto Rebalance_ref.bib}
\DeclareInnerCiteDelims{cite}{\bibopenparen}{\bibcloseparen}
\begin{document}
\cite{jain2019can}
\printbibliography[heading=subbibliography]
\end{document}
编辑
为了允许自定义括号\parencite
,您可能需要按如下方式重新定义它
\DeclareInnerCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
parentracker
选项(true
默认情况下)会跟踪嵌套的括号和方括号,并在检测到类似类型的嵌套括号和方括号时自动更改它们。这种默认行为是可取的,因为引用变得更具可读性。但是,如果您仍希望标签和年份的括号仍然嵌套,则需要parentheses=false
在加载时设置biblatex
\begin{filecontents*}{Auto Rebalance_ref.bib}
@article{jain2019can,
title = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}? The {{Need}} to {{Account}} for {{Covariance Misspecification}}},
shorttitle = {Can {{Machine Learning}}-{{Based Portfolios Outperform Traditional Risk}}-{{Based Portfolios}}?},
author = {Jain, Prayut and Jain, Shashi},
date = {2019-09},
journaltitle = {Risks},
volume = {7},
number = {3},
pages = {74},
publisher = {{Multidisciplinary Digital Publishing Institute}},
urldate = {2021-09-28},
issue = {3},
langid = {english}
}
\end{filecontents*}
\documentclass{book}
\usepackage{nicematrix}
\usepackage{csquotes}
\usepackage[
style=ext-authoryear,uniquename=false,giveninits=true,
parentracker=false]{biblatex}
\addbibresource{Auto Rebalance_ref.bib}
\DeclareInnerCiteDelims{cite}{\bibopenparen}{\bibcloseparen}
\DeclareOuterCiteDelims{cite}{\bibopenbracket}{\bibclosebracket}
\DeclareInnerCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
\DeclareOuterCiteDelims{parencite}{\bibopenparen}{\bibcloseparen}
\begin{document}
\begin{NiceTabular}{c l}
\cite{jain2019can} & with \verb|\cite|
\\
\parencite{jain2019can} & with \verb|\parencite|
\\
\end{NiceTabular}
\printbibliography[heading=subbibliography]
\end{document}