Как я мог сделать пробел после номера в моих сносках? В общем, для ВСЕХ сносок!LaTeX blank после номера и перед текстом
Пример:
хорошо: Hello World
плохо: Hello World
Как я мог сделать пробел после номера в моих сносках? В общем, для ВСЕХ сносок!LaTeX blank после номера и перед текстом
Пример:
хорошо: Hello World
плохо: Hello World
EDIT: Хорошо, переработан. Уродливый хак, но эй, не LaTeX просто целая куча этих?
Поместите следующий в вашу преамбулу:
\let\myfootnote\footnote
\renewcommand{\footnote}[1]{\myfootnote{~#1}}
Это просто префикс текста сноски автомагический с неразрывным пробелом, создавая тем самым пространство после знака сноски в нижней части страницы. И он не будет касаться знака сноски в середине текста, поэтому он по-прежнему правильно работает непосредственно перед пунктуацией.
Вы можете попробовать ~ в неразрывного пространство
\hspace
всегда может располагать горизонтальное расстояние.
\footnote{\ insert footnote here}
\footnote{~insert footnote here}
Работайте, но я не знаю, является ли это официальным способом сделать это. «~» официально используется в тех случаях, как:
Mr.~Smith
Чтобы обеспечить обычный пробел после аббревиатуры «» «\» Я не знаю, я просто случилось видеть его использование некоторых раз назад, случайно положив его в предложение.
'' 'неразрывное пространство. '\' - простое старое пространство. –
Правильный ответ не, чтобы переопределить \thefootnote
, поскольку это добавляет место везде, где указана сноска; например:
\documentclass{article} \renewcommand{\thefootnote}{\arabic{footnote}~} \begin{document} hello\footnote{test\label{foo}} but don't forget about fn.\,\ref{foo}. \end{document}
Обратите внимание на дополнительное пространство при упоминании номера сноски!
сама сноска (включая число) помещается в макрос \@makefntext
, которого по умолчанию определение
\parindent 1em\noindent \[email protected]@ 1.8em{\hss \@makefnmark }#1
Вот пример замены, который добавляет пробел после номера сноски:
\documentclass{article} \makeatletter \long\def\@makefntext#1{% \parindent 1em\noindent\[email protected]@ 1.8em{\hss\@makefnmark}~#1% } \makeatother \begin{document} hello\footnote{test\label{foo}} but don't forget about fn.\,\ref{foo}. \end{document}
Возможно, вы также захотите уменьшить отступ слева, например.
Могу ли я спросить, как вы это нашли? Я искал источники LaTeX (не то, что я могу хорошо читать TeX, но я думал, что могу * найти его) и не нашел подходящего определения, которое мог бы использовать. Кстати, я обновил свой ответ с помощью рабочего и протестированного решения. – Joey
Я делал это раньше, поэтому знал, что искать ':)'. Раздел 62.2 в source2e.pdf является достаточно поучительным (для стандартов этого документа). –
Я сделал себе учетную запись, но теперь я не мог комментировать ответы, поэтому я поставил свое решение. Я попробовал версию Уилла, но у меня проблемы, если сноска длинная и нужна новая линия.
Так на основе своей работы я нахожу это:
\makeatletter
\renewcommand{\@makefntext}[1]{%
\setlength{\parindent}{0pt}
\begin{list}{}{%
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
\setlength{\labelwidth}{1em} % Space from number to border
\setlength{\labelsep}{0.3em} % Space from number to text
\setlength{\leftmargin}{\labelwidth}
\addtolength{\leftmargin}{\labelsep}
\footnotesize}\item[{\makebox[\labelwidth][r]{\@makefnmark}}]#1%
\end{list}
}
\makeatother
Спасибо за всю вашу помощь, теперь она выглядит очень приятно, и я счет убежища;).
Не должен ли быть надстрочный, поэтому он выглядел бы более правильным без пространства? – Dave
Да, по умолчанию 1 является индексом. Я не знаю, почему он использует обычный, я подумал, может быть, он не мог набрать индекс. Однако официальные правила стиля приведут к числу индексов. Что хорошо выглядит без интервала. Но для ответа на вопрос я поставил ответ ниже. – bastijn
Я узнаю, теперь с надписью;). – lony