是否可以使用 csquotes 和 biblatex 自动进行多次引用?

是否可以使用 csquotes 和 biblatex 自动进行多次引用?

我正在使用csquotes带有的包biblatex。有许多引用需要多个参考文献,可以使用命令\autocites--- 例如二手引用(“引用于“ ou “阿普德”)。

但是,\blockcquote[<pre>][<post>]{<Ref>}{<citation>}只接受单次引用。对吗?我遗漏了什么吗?

为了解决这个问题,我使用了一个简单的方法\blockquote{...\autocites[pre1][post1]{ref1}[pre2][post2]{ref2}\relax}\relax有时需要 [或换行符])。但这样,命令\autocite不尊重全局引用样式,导致引用更加简化。

顺便说一句,我正在研究这种verbose-trad3风格。

这是一个可编译的示例:

\documentclass{article}
\usepackage{filecontents}% To add the contents of the .bib file in the .tex file
    \begin{filecontents}{bibliography.bib}
        @book{test1,
            author = {John Doe},
            title = {Example book to be cited},
            address = {Nowhere},
            publisher = {Some Publisher},
            year = {1990},
        }
        @book{test2,
            author = {Jane Smith},
            title = {A book that cites the former},
            address = {Somewhere},
            publisher = {A Publishing House},
            year = {2010},
        }
            @book{test1a,
                author = {Jane Deo},
                title = {Title for a first test},
                address = {Location},
                publisher = {Publisher 1},
                year = {2010},
            }
            @book{test2a,
                author = {John Sthim},
                title = {Title for a first test to cite another one},
                address = {Address},
                publisher = {Publisher 2},
                year = {2010},
            }
    \end{filecontents}
\usepackage[style=verbose-trad3]{biblatex}
    \bibliography{bibliography}
\usepackage{csquotes}
    \SetCiteCommand{\autocite}
    \SetBlockEnvironment{quotation}
\newcommand{\loremipsum}{%  I did this because using the lipsum package, the reference appeared in a new line
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent dapibus ante at urna tempor iaculis. Donec et mi augue. Cras condimentum, orci non vehicula rutrum, purus diam fermentum est, ut pretium urna risus a mauris. Aliquam pretium, nunc quis mattis mattis, felis mauris euismod massa, a elementum massa felis sed metus. Nunc porttitor metus a lorem mollis nec ornare erat placerat. Aenean eget lacus libero. Vivamus hendrerit, ligula eget porta mollis, tortor velit dictum neque, ac sagittis enim quam gravida erat. Aenean eu leo quis erat aliquam volutpat id eget lorem. Integer eleifend mi eget magna dapibus commodo. Fusce id dui vel augue porta hendrerit eu vitae sapien. Nullam tellus nisi, elementum imperdiet vehicula sit amet, egestas in risus. Curabitur nec tortor et est feugiat convallis. Mauris sed rhoncus urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin mattis placerat dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris arcu nibh, adipiscing quis feugiat ut, mattis a velit.}
\begin{document}
A block quotation with the multiple citation --- note that the author name, for example, appears reduced to its surname (even in the first citation):
\blockquote{\loremipsum\autocites(Some global pre-note)(some global post-note)[some local pre-note][100]{test1a}[apud][200]{test2a}\relax}
A first block quotation, with a full citation of \texttt{test1} ref.:
\blockcquote[some pre-note][100]{test1}{\loremipsum}
A first block quotation, with a full citation of \texttt{test2} ref.:
\blockcquote[some pre-note][100]{test2}{\loremipsum}
A second block quotation, with a shortened citation of \texttt{test1} ref.:
\blockcquote[some pre-note][200]{test1}{\loremipsum}
A second block quotation, with a shortened citation of \texttt{test2} ref.:
\blockcquote[some pre-note][200]{test2}{\loremipsum}
A block quotation with the multiple citation --- note that the author name, for example, appears reduced to its surname:
\blockquote{\loremipsum\autocites(Some global pre-note)(some global post-note)[some local pre-note][100]{test1}[apud][200]{test2}\relax}
\end{document}

答案1

不要\autocites在引用的文本后粘贴,而要使用可选参数\blockquote。请注意,如果您的\autocites命令还包含可选参数,则必须将其包装在另一组花括号中。

顺便说一句,您的简单示例堪称典范。

\documentclass{article}
\usepackage{filecontents}% To add the contents of the .bib file in the .tex file
    \begin{filecontents}{bibliography.bib}
        @book{test1,
            author = {John Doe},
            title = {Example book to be cited},
            address = {Nowhere},
            publisher = {Some Publisher},
            year = {1990},
        }
        @book{test2,
            author = {Jane Smith},
            title = {A book that cites the former},
            address = {Somewhere},
            publisher = {A Publishing House},
            year = {2010},
        }
    \end{filecontents}
\usepackage[style=verbose-trad3]{biblatex}
    \addbibresource{bibliography.bib}
\usepackage{csquotes}
    \SetCiteCommand{\autocite}
    \SetBlockEnvironment{quotation}
    \renewcommand*{\mkcitation}[1]{#1}
\newcommand{\loremipsum}{%  I did this because using the lipsum package, the reference appeared in a new line
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent dapibus ante at urna tempor iaculis. Donec et mi augue. Cras condimentum, orci non vehicula rutrum, purus diam fermentum est, ut pretium urna risus a mauris. Aliquam pretium, nunc quis mattis mattis, felis mauris euismod massa, a elementum massa felis sed metus. Nunc porttitor metus a lorem mollis nec ornare erat placerat. Aenean eget lacus libero. Vivamus hendrerit, ligula eget porta mollis, tortor velit dictum neque, ac sagittis enim quam gravida erat. Aenean eu leo quis erat aliquam volutpat id eget lorem. Integer eleifend mi eget magna dapibus commodo. Fusce id dui vel augue porta hendrerit eu vitae sapien. Nullam tellus nisi, elementum imperdiet vehicula sit amet, egestas in risus. Curabitur nec tortor et est feugiat convallis. Mauris sed rhoncus urna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin mattis placerat dapibus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris arcu nibh, adipiscing quis feugiat ut, mattis a velit.}
\begin{document}
A block quotation with the multiple citation --- now the first citation also shows prenames:
\blockquote[{\autocites(Some global pre-note)(some global post-note)[some local pre-note][100]{test1}[apud][200]{test2}}][]{\loremipsum}
A first block quotation, with a full citation of \texttt{test1} ref.:
\blockcquote[some pre-note][100]{test1}{\loremipsum}
A first block quotation, with a full citation of \texttt{test2} ref.:
\blockcquote[some pre-note][100]{test2}{\loremipsum}
A second block quotation, with a shortened citation of \texttt{test1} ref.:
\blockcquote[some pre-note][200]{test1}{\loremipsum}
A second block quotation, with a shortened citation of \texttt{test2} ref.:
\blockcquote[some pre-note][200]{test2}{\loremipsum}
A block quotation with the multiple citation --- note that the author name, for example, appears reduced to its surname:
\blockquote[{\autocites(Some global pre-note)(some global post-note)[some local pre-note][100]{test1}[apud][200]{test2}}][]{\loremipsum}
\end{document}

编辑:添加\renewcommand*{\mkcitation}[1]{#1}并(以确保万无一失)向添加了空的第二个可选参数\blockquote

相关内容