.png)
С использованиемscrbook, я хотел бы создать несколько библиографий сбибуниты. Каждый раз я хотел бы вручную контролировать, создавать новый раздел или нет, создавать ли заголовок и т. д. Другими словами, я хотел бы запретить команде putbib создавать какой-либо заголовок вообще.
До сих пор мне это удалось (на самом деле даже не имея понятия, что я здесь делаю) только с помощьюetoolbox:
После каждого
\begin{bibunit}
я добавить
\makeatletter
\patchcmd{\thebibliography}{\bib@heading}{}{}{}
\makeatother
что, кажется, срабатывает (но, опять же, я понятия не имею, что делаю).
Мои вопросы: Этот код достаточно разумен? Или у него будут ужасные побочные эффекты, о которых я не знаю? Есть ли лучший способ создать библиографию без заголовка?
(Иногда люди, кажется, устанавливают заголовок \vspace-2ex или как-то так, но это не предотвратит разрыв страницы в случаях, когда команда \section*, вызванная библиографией, создает его)
решение1
(Извините, если это дурной тон - "отвечать" на свой собственный вопрос, тем более, что это довольнополевой отчет biblatexчем ответ. Но может быть, это окажется полезным для кого-то в похожей ситуации.)
- Похоже, что раствор, который я использовал, оказался хорошим и не имел никаких других ужасных побочных эффектов.
Однако в итоге я перешел на biblatex/biber, как и рекомендовал @jon. Я изначально не хотел этого делать, так как мне было ясно, что я потеряю день или два только на переход (что и оказалось правдой).
Для полноты картины, в конце концов, я смог переключиться, вообще не меняя файлы bib, но мне пришлось использовать параметры maxbibnames=6 (чтобы избежать слишком многого и т. д.), backend=biber (по каким-то причинам bibtex работал не очень хорошо) и, что самое важное, safeinputenc (чтобы избежать странных проблем с utf8 inputenc; соответственно, biber вызывается с параметром --output_safecharsset=full).
Как только вам удастся заставить все работать, вы получите явно превосходную систему, которая позволяет легко вносить дополнения, что было бы ужасным кошмаром, если не невозможным, с моей старой установкой bibunits/bibtex, например:
- пропустить все заголовки, используя \printbibliography[heading=none]
- списки «обратного отсчета» для cv, с defbibenvironment, использующим etaremune и \newrefcontext[sorting=ydnt]
- Добавьте несколько тегов для одной и той же записи файла bib, используя поле IDS
- Выбрать только те записи нагрудных номеров, которые содержат определенное ключевое слово
Итак, подведем итог: если у вас есть какие-либо нестандартные потребности в библиографии (и контроль над тем, как обрабатывается библиография, что обычно не так, когда вы отправляете статью в журнал), я бы теперь также настоятельно рекомендовал использовать biblatex/biber (но вы должны знать, что вам может потребоваться целый день, чтобы осуществить переход; вы не ожидаете, что проблемы, такие как safeinputenc, настигнут вас)