Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Оформление списка литературы #19

Closed
IRus opened this issue Jun 6, 2014 · 5 comments
Closed

Оформление списка литературы #19

IRus opened this issue Jun 6, 2014 · 5 comments

Comments

@IRus
Copy link
Contributor

IRus commented Jun 6, 2014

Тоже самое как в #18. И хотя на списки я нашел хак, на литературу не смог найти.

@MrHant
Copy link
Contributor

MrHant commented Jun 13, 2014

Вкомиченного решения пока нет, но есть кусок кода рабочий
Первая строка с цифрой уходит с абзаца вправо (\fivecharsapprox), строки переноса становяться без абзаца (-4ex) по левому краю.

Вставлять в preamble под строками

\usepackage[square,numbers,sort&compress]{natbib}
\setlength{\bibsep}{0em}

Код:

\setlength\bibindent{-4ex}

\makeatletter
\renewcommand\NAT@bibsetnum[1]{\settowidth\labelwidth{\@biblabel{#1}}%
   \setlength{\leftmargin}{\bibindent}\addtolength{\leftmargin}{\dimexpr\labelwidth+\labelsep\relax}%
   \setlength{\itemindent}{-\bibindent+\fivecharsapprox}%
   \setlength{\listparindent}{\itemindent}
\setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}%
   \ifNAT@openbib
     \addtolength{\leftmargin}{\bibindent}%
     \setlength{\itemindent}{-\bibindent}%
     \setlength{\listparindent}{\itemindent}%
     \setlength{\parsep}{0pt}%
   \fi
}

@IRus
Copy link
Contributor Author

IRus commented Jun 13, 2014

А я вот так пока решил проблему:

% Добавляем левый отступ для библиографии
% https://tex.stackexchange.com/questions/133253/leftmargin-problem-at-the-bibliography
\makeatletter
\renewenvironment{thebibliography}[1]
     {\sectioncentered*{Cписок использованных источников}
      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \setlength{\itemindent}{\dimexpr\labelwidth+\labelsep+1em}
            \leftmargin\z@
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\makeatother

@shurph
Copy link
Contributor

shurph commented Jun 20, 2015

До этого момента в bsuir-diploma-latex использовался вариант от @IRus. Но этот вариант обладал двумя недостатками:

  1. неправильный абзацный отступ у списка литературы
  2. огромные вертикальные отступы между item'ами в списке

В варианте от @MrHant отсутствует 2-й недостаток, но абзацный отступ сделан тоже не очень ровно.

Я взял за основу вариант от @MrHant и немного поигрался с числовыми значениями. Получилось более-менее ровно.

См картинку:
stp-literature

Эти изменения в #37

@shurph
Copy link
Contributor

shurph commented Jun 20, 2015

Если у @IRus и @MrHant нет возражений, то предлагаю @mstyura закрыть данный issue.

@IRus
Copy link
Contributor Author

IRus commented Jun 20, 2015

@sir-shurph Отлично

@mstyura mstyura closed this as completed Jul 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants