Ссылка на запись BibLaTeX установлена ​​как отдельная ссылка

Ссылка на запись BibLaTeX установлена ​​как отдельная ссылка

BibLaTeX позволяет создаватьнаборы для входакоторый состоит из ряда ссылок, например

@set{set1,
    entryset = {member1, member2}
}

Однако при цитировании с использованием \cite{set1}все ссылки отображаются как один элемент в окончательной библиографии. Есть ли возможность показать каждого члена набора как отдельный элемент? По сути, я хочу добиться того же эффекта, что и \cite{member1,member2}, но ссылаясь на имя набора вместо отдельных членов.

решение1

Из комментариев следует, что наборы записей не являются релевантной концепцией, и вы просто ищете сокращение для перечисления нескольких ссылок. Для этого достаточно простых макросов LaTeX. Просто определите

\newcommand{\myreflist}{key1,key2,...}

и затем вы можете использовать \cite{\myreflist}и т. д., как вам удобно, чтобы ссылаться на эти записи.

Вот пример, демонстрирующий, что такие функции, как сортировка по цитированию, все еще работают.

Пример вывода

\documentclass{article}

\usepackage[sortcites=true]{biblatex}
\addbibresource{biblatex-examples.bib}

\newcommand{\myreflist}{westfahl:space,glashow,baez/article}

\begin{document}

Here some citations \cite{\myreflist}.

\printbibliography

\end{document}

решение2

Вы можете использоватьusebibпакет по@egregдля этой цели. В документации пакета есть практически все необходимые пояснения, а именно следующие шаги, которые следует добавить в преамбулу в последовательности:

  1. включить \usepackage{usebib}(после загрузки hyperref);
  2. включите entrysetклавишу с помощью \newbibfield{entryset};
  3. укажите ему файл bib, используя \bibinput{filename}без .bibрасширения;
  4. то вы можете получить доступ к значению ключа, entrysetиспользуя \usebibentry{cite_key}{entryset}.

В целом, вы получаете то, что хотите через \cite{\usebibentry{set1}{entryset}. Конечно, если хотите, вы также можете определить простую команду newcommand, которая сокращает это, например

\newcommand{\citeset}[1]{\cite{\usebibentry{#1}{entryset}}}

то вы можете просто использовать \citeset{set1}. Ниже приведен минимальный рабочий пример.


тест.bib

@misc{foo1,
    author = {Foo, F. and Bar, B.},
    year = {2021},
    title = {Foo 1},
}
@misc{foo2,
    author = {Foo, F. and Bar, B.},
    year = {2021},
    title = {Foo 2},
}
@set{foo,
    entryset = {foo1, foo2}
}

тест.текс

\documentclass{article}

\usepackage{biblatex}
\addbibresource{test.bib}

\usepackage{usebib}
\newbibfield{entryset}
\bibinput{test}

\begin{document}

This is the entryset key: \usebibentry{foo}{entryset}

Here we cite foo as individual references.\autocite{\usebibentry{foo}{entryset}}

\printbibliography
\end{document}

Результат

Ссылка на набор в качестве отдельных ссылок

Связанный контент