
Как упоминалось ранее (Настроить концевые сноски), документация дляконцевые сноскиpackage не рассказывает вам многого о том, как изменять и настраивать внешний вид концевых сносок. Поэтому я обращаюсь к сообществу за помощью.
Я бы хотел, чтобы мои примечания выглядели следующим образом:
- Маркер концевой сноски должен располагаться на левом поле.
- Текст концевой сноски должен иметь отступ по всему тексту (т. е. не только в первой строке каждой концевой сноски).
\baselineskip
Между каждой нотой должна быть одна строка (т.е. ).- Выравнивание текста отсутствует (т.е.
\raggedright
). - Мне бы хотелось иметь возможность устанавливать размер текста концевой сноски (например
\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
шириной, с содержимым, отодвинутым влево.