当我引用某个程序时,如何抑制 apacite 中的“In”?

当我引用某个程序时,如何抑制 apacite 中的“In”?

我正在使用apacite,但我想将参考文献列表中所有带有“在:会议录...”的项目更改为仅“会议录...”。

我在用:

\usepackage[nodoi]{apacite}
\bibliographystyle{apacite}

该选项\renewbibmacro{in:}{}不适apacite用于bibtex

答案1

biblatex-apa使用 比使用 更容易apacite。使用apacite虽然您可以更改In字符串,但您无法轻松地仅针对某些条目类型更改它,因为类型inproceedings是类型的别名incollection。假设您仍然需要类型In的字符串incollection,那么这里有一个使用 的解决方案biblatex-apa

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}

@incollection{incollection,
    Author = {AuthorOne, First and AuthorTwo, Second and AuthorThree, Third and AuthorFour, Fourth},
    Booktitle = {Edited Book on Important Stuff},
    Editor = {EditorOne, Ed and EditorTwo, Ed},
    Title = {Article Title},
    Year = {2017}}

@inproceedings{inproceedings,
    Author = {AuthorOne, First and AuthorTwo, Second and AuthorThree, Third and AuthorFour, Fourth},
    Booktitle = {Proceedings of the Conference on Important Stuff},
    Title = {Article Title},
    Year = {2016}}
\end{filecontents*}

\usepackage[american]{babel}
\usepackage[style=apa,doi=false]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}
\renewbibmacro{in}{%
  \ifbool{bbx:in}%
    {}%
    {\global\booltrue{bbx:in}%
     \ifentrytype{inproceedings}{}{\bibcpstring{in}\setunit{\space}}}}
\begin{document}

First mention shows full names: \textcite{inproceedings}

First mention shows full names: \textcite{incollection}

Subsequent citations use et al: \textcite{inproceedings}
\printbibliography

\end{document}

代码输出

相关内容