Настроить эндоты часть 2

Настроить эндоты часть 2

Как упоминалось ранее (Настроить концевые сноски), документация дляконцевые сноскиpackage не рассказывает вам многого о том, как изменять и настраивать внешний вид концевых сносок. Поэтому я обращаюсь к сообществу за помощью.

Я бы хотел, чтобы мои примечания выглядели следующим образом:

  1. Маркер концевой сноски должен располагаться на левом поле.
  2. Текст концевой сноски должен иметь отступ по всему тексту (т. е. не только в первой строке каждой концевой сноски).
  3. \baselineskipМежду каждой нотой должна быть одна строка (т.е. ).
  4. Выравнивание текста отсутствует (т.е. \raggedright).
  5. Мне бы хотелось иметь возможность устанавливать размер текста концевой сноски (например \normalsize, ).

Я получаю отГонсало'sотвечатьчто я могу переопределить, \enoteformatчтобы достичь некоторых или всех (?) из этих целей, но игра с этим не продвинула меня ни на шаг:(

МВЭ:

\documentclass{article}
\usepackage{endnotes,lipsum}
    %\renewcommand\enoteformat{} % perhaps doing something here would do the trick?
\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}
\theendnotes
\end{document}

решение1

Стандартное определение \enoteformat:

\def\enoteformat{\rightskip\z@ \leftskip\z@ \parindent=1.8em
  \leavevmode\llap{\makeenmark}}

Взяв это за образец, вот что вам может понадобиться:

\documentclass{article}
\usepackage{endnotes}
\usepackage{lipsum}

\renewcommand{\enotesize}{\normalsize}
\renewcommand\enoteformat{%
  \raggedright
  \leftskip=1.8em
  \makebox[0pt][r]{\theenmark. \rule{0pt}{\dimexpr\ht\strutbox+\baselineskip}}%
}

\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}

\theendnotes
\end{document}

введите описание изображения здесь

То же самое, но, возможно, лучше и, безусловно, проще, с enotezпакетом:

\documentclass{article}
\usepackage{enotez}
\usepackage{lipsum}

\DeclareInstance{enotez-list}{sverre}{paragraph}
 {
  heading=\section*{#1},
  notes-sep=\baselineskip,
  format=\normalsize\normalfont\raggedright\leftskip1.8em,
  number=\makebox[0pt][r]{#1.\ }\ignorespaces,
 }

\begin{document}
\endnote{\lipsum[1]}\endnote{\lipsum[2]}

\printendnotes[sverre]
\end{document}

Если вы хотите, чтобы отступ был такой же ширины, как и родительский отступ, а числа располагались на левом поле, то сделайте так:

\documentclass{article}
\usepackage{showframe} % just for the example
\usepackage{enotez}
\usepackage{lipsum}

\newlength{\normalparindent}
\AtBeginDocument{\setlength{\normalparindent}{\parindent}}

\DeclareInstance{enotez-list}{sverre}{paragraph}
 {
  heading=\section*{#1},
  notes-sep=\baselineskip,
  format=\normalsize\normalfont\raggedright\leftskip\normalparindent,
  number=\makebox[0pt][r]{\makebox[\normalparindent][l]{#1.}}\ignorespaces,
 }

\begin{document}
Something\endnote{\lipsum[1]} to show the parindent\endnote{\lipsum[2]}

\printendnotes[sverre]
\end{document}

Я добавил showframe, чтобы убедиться, что спецификации соблюдены.

введите описание изображения здесь

Примечания
Параметр \leftskip— это расстояние от глобального левого поля до фактического левого поля текста. \raggedrightКоманда устанавливает его в ноль, поэтому мы переопределяем это позже, и устанавливает \rightskipрастягиваемое пространство; оно также устанавливается \parindentв ноль, поэтому я определил, \normalparindentчтобы запомнить его значение. Вы можете также попробовать \RaggedRightиз ragged2eпакета, который позволяет (редко) расставлять переносы, чтобы уменьшить неровность. С помощью трюка с двойным makebox мы устанавливаем блок нулевой ширины с его содержимым, прилипающим к его левой стороне, содержащим блок \normalparindentшириной, с содержимым, отодвинутым влево.

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