LaTeX biblatex包最新APA样式名称及Overleaf APA引用问题咨询
解决LaTeX biblatex APA7格式及自定义姓氏加粗问题
最新APA样式名称
biblatex中对应APA第7版的样式名称是style=apa,旧版APA6对应的是style=apa6,目前官方维护的apa样式已完全适配APA7规范。
正确的包加载配置
注意:APA7样式推荐使用biber作为后端(而非bibtex),bibtex对复杂的APA7格式支持有限。配置代码如下:
\usepackage[ backend=biber, style=apa, url=true, doi=true, maxbibnames=99, sorting=ydnt, dashed=false, defernumbers=true ]{biblatex}
实现自定义姓氏加粗
要将目标姓氏在参考文献中加粗,可通过重新定义姓名格式实现,以下是通用示例(将Smith替换为你的实际姓氏):
\DeclareNameFormat{family-given}{ \ifgiveninits {\usebibmacro{name:family-given} {\bfseries\ifblank{#5}{#1}{\namepartfamilyi}} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}} {\usebibmacro{name:family-given} {\bfseries#1} {\namepartgiven} {\namepartprefix} {\namepartsuffix}}% \usebibmacro{name:andothers} } \DeclareNameAlias{sortname}{family-given} \DeclareNameAlias{default}{family-given}
如果需要仅加粗自己作为作者的条目,可添加姓名判断逻辑:
\DeclareNameFormat{family-given}{ \ifboolexpr{test {\ifme{#1}{#3}}} {\ifgiveninits {\usebibmacro{name:family-given} {\bfseries\ifblank{#5}{#1}{\namepartfamilyi}} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}} {\usebibmacro{name:family-given} {\bfseries#1} {\namepartgiven} {\namepartprefix} {\namepartsuffix}}} {\ifgiveninits {\usebibmacro{name:family-given} {\ifblank{#5}{#1}{\namepartfamilyi}} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}} {\usebibmacro{name:family-given} {#1} {\namepartgiven} {\namepartprefix} {\namepartsuffix}}}% \usebibmacro{name:andothers} } % 定义判断逻辑,替换为你的姓氏和名字 \newcommand*{\ifme}[2]{% \boolexpr{test {\ifstrequal{#1}{Smith}} and test {\ifstrequal{#2}{John}}}}
完整示例代码
\documentclass{article} \usepackage[ backend=biber, style=apa, url=true, doi=true, maxbibnames=99, sorting=ydnt, dashed=false, defernumbers=true ]{biblatex} % 设置姓氏加粗(替换为你的姓氏) \DeclareNameFormat{family-given}{ \ifgiveninits {\usebibmacro{name:family-given} {\bfseries\ifblank{#5}{#1}{\namepartfamilyi}} {\namepartgiveni} {\namepartprefix} {\namepartsuffix}} {\usebibmacro{name:family-given} {\bfseries#1} {\namepartgiven} {\namepartprefix} {\namepartsuffix}}% \usebibmacro{name:andothers} } \DeclareNameAlias{sortname}{family-given} \DeclareNameAlias{default}{family-given} % 导入你的参考文献文件 \addbibresource{your-bibliography.bib} \begin{document} % 引用示例(显示所有参考文献) \nocite{*} \printbibliography \end{document}
内容的提问来源于stack exchange,提问作者ryorlets
相关产品推荐
相关产品推荐

