
Где это нужно? Подготовка диссертации.
Чего я хочу добиться? Нужно два отдельных списка ссылок/публикаций. У меня есть mine.bib
файл для моих собственных публикаций, main.bib
который используется для цитирования ссылок в диссертации.
Какпоказано здесьмои публикации должны быть представлены без ссылочного номера, и все элементы mine.bib
должны быть перечислены.
main.bib
Однако в списке литературы необходимо указывать только цитируемые источники .
МВЭ (отсюда):
\documentclass{article}
\usepackage[backend=biber,
natbib=true,
style=ieee,
citestyle=numeric-comp,
sorting=none,
doi=false,
isbn=false,
url=true,
]{biblatex}
\DeclareRobustCommand\nocite[1]{%
{\def\cite##1{\ignorespaces}#1}}
\newcommand\nocitecaption[1]{\caption[\nocite{#1}]{#1}}
\begin{filecontents}{mine.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
date = {1980},
}
\end{filecontents}
\addbibresource{mine.bib}
\begin{document}
\begin{refsection}[mine.bib] % also tried [mine]
\nocite{*}
\printbibliography[title={List of Publications}]
\end{refsection}
\end{document}
Но он печатает только *
в формате PDF и выдает предупреждение:Empty bibliography on input line 123
Почему \DeclareRobustCommand
? Последующиеэтот чтобы не печатать дважды.
решение1
Ваш код
\DeclareRobustCommand\nocite[1]{%
{\def\cite##1{\ignorespaces}#1}}
переопределяет \nocite
. Это не очень хорошая идея, особенно если вы позже захотите использовать \nocite
его с обычным определением.
Выберите другое имя. Поскольку \DeclareRobustCommand
нет проблем с перезаписью существующих имен, я добавил, казалось бы, ненужное, \newcommand
чтобы убедиться, что имя, которое я использую, уже не занято.
\documentclass{article}
\usepackage[backend=biber,
natbib=true,
style=ieee,
citestyle=numeric-comp,
sorting=none,
doi=false,
isbn=false,
url=true,
]{biblatex}
\newcommand*{\suppresscite}{}
\DeclareRobustCommand\suppresscite[1]{%
{\def\cite##1{\ignorespaces}#1}}
\newcommand\nocitecaption[1]{\caption[\suppresscite{#1}]{#1}}
\begin{filecontents}{mine.bib}
@book{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
date = {1980},
}
\end{filecontents}
\addbibresource{mine.bib}
\begin{document}
\begin{refsection}[mine.bib] % also tried [mine]
\nocite{*}
\printbibliography[title={List of Publications}]
\end{refsection}
\end{document}