AndreyAkinshin / Russian-Phd-LaTeX-Dissertation-Template

LaTeX-template for russian Phd thesis
Creative Commons Attribution 4.0 International
1.33k stars 670 forks source link

Библиография пропадает из содержания диссертации при выводе работ автора отдельным списком #490

Open Den4S opened 1 year ago

Den4S commented 1 year ago

При попытке выводить отдельным списком статьи автора из содержания почему-то пропадает раздел "Библиография".

Действовал в соответствии с readme, где говорилось о следующих изменениях в Dissertation/references.tex:

Чтобы настроить вывод работ автора, необходимо закомментировать команду \insertbibliofull, раскомментировать \insertbiblioexternal и одну из двух команд, подключающих работы автора. Например, для вывода группированных работ автора настройка выглядит так

После компиляции все срабатывает, однако соотвествующий раздел из содержания пропадает.

LSinev commented 1 year ago

Сам список-то литературы норм выводится? Может заголовок прописан в опции вывода списка по-умолчанию, а у других не прописан. Только с содержанием в начале диссертации проблема (кстати, может там перегенерировать надо лишний раз, чтобы все связи пересчитались)

Den4S commented 1 year ago

Сам список выводится хорошо. Заголовки тоже есть, но в содержании их нет.

Lenchik commented 1 year ago

Подскажите, пожалуйста, что и где закомментировать или раскомментировать в версии шаблона из актуальной ветки master этого репозитория, чтобы увидеть описываемую тут проблему? Процитированный кусок неоднозначен.

Den4S commented 1 year ago
Den4S commented 1 year ago

Проблема внезапно решилась после того, как я последовал инструкции из issue#473 для выравнивания заголовка раздела с библиографией по центру. Без выравнивания заголовков по центру проблему не исследовал.

  1. Добавил в biblio/biblatex.texпосле
    \defbibheading{pubgroup}{\section*{#1}}

    следующую строчку (как советовал @matsievskiysv два года назад):

    \defbibheading{fullheading}{\chapter*{\centerline{#1}}\addcontentsline{toc}{chapter}{#1}}
  2. Внутри \newcommand*{\insertbiblioauthor}{...} заменил строчку на
    \printbibliography[heading=fullheading,keyword=biblioauthor,section=0,title=\bibtitleauthor]
  3. Внутри \newcommand*{\insertbiblioexternal}{...} заменил строчку на
    \printbibliography[heading=fullheading,keyword=biblioexternal,section=0,title=\bibtitlefull]
Lenchik commented 1 year ago

https://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template/issues/490#issuecomment-1508742144 проблема воспроизводится

Если ограничиваться минимумом правок, то можно pubgroup заголовки библиографии задать так:

\defbibheading{pubgroup}{\section*{#1}\addcontentsline{toc}{chapter}{#1}} % обычный стиль, заголовок-секция

Это отразится в оглавлении добавлением как самого списка литературы, так и списка публикаций автора. Но нумерация у них будет единая. изображение изображение

При таком решении уровень заголовков в диссертации будет section, а не chapter, что может сказаться на оформлении заголовков в тексте. Скорее всего, для такого, не типового или не гостированного, насколько я знаю, случая придётся, всё-таки уйти от использования \insertbiblioauthor и \insertbiblioexternal или прописывать проверки разных условий работы в рамках сборки автореферата, диссертации, презентации и т. д.

Если кто-то с пониманием работы *latex и memoir имеет насмотренность годных для учёных советов решений по такому разделению публикаций и готов их тут воплотить не ломая остальную работоспособность, PR welcome.

kuynzereb commented 1 year ago

Решение из https://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template/issues/490#issuecomment-1509175115 работает, но при использовании раздельных списков литературы отваливается ещё и автоматический подсчет размера общего списка, который выводится в разделе «Объем и структура работы».

Фиксится заменой

\newcommand*{\insertbiblioexternal}{
    \printbibliography[heading=fullheading,keyword=biblioexternal,section=0,title=\bibtitlefull]
}

на

\newcommand*{\insertbiblioexternal}{
    \printbibliography[heading=fullheading,keyword=biblioexternal,section=0,title=\bibtitlefull]
    \ifnumequal{\value{draft}}{0}{
      \printbibliography[heading=nobibheading,env=counter,keyword=bibliofull,section=0]
    }{}
}

в файле biblio/biblatex.tex.