Используйте в сносках размер шрифта меньше, чем "\footnotesize"

Используйте в сносках размер шрифта меньше, чем "\footnotesize"

Я хочу изменить \footnotesizeтак, чтобы все сноски были размером \scriptsize. Я мог бы сделать это с помощью

\renewcommand{\footnotesize}{\scriptsize}

Но я также хочу использовать его \footnotesizeв его первоначальном значении для всех подписей (и других частей) моего документа. В данный момент я использую

\usepackage[font=footnotesize,labelfont=bf]{caption}

Например, есть ли способ скопировать команду, например, в \captionsizeи затем изменить исходную команду, не изменяя копию? Это должно все равно масштабироваться, если я изменю свой документ с 11pt на 12pt или что-то еще.

И нет,

\newcommand{\captionsize}{\footnotesize}
\renewcommand{\footnotesize}{\scriptsize}

не работает.

решение1

Я думаю, что можно уменьшить заголовки и текст в рисунках и таблицах, команда называется \small. Сноски устанавливаются в \footnotesize, как уже следует из названия. \scriptsizeслишком мал, это размер, предназначенный для нижних и верхних индексов. Если никто не должен читать сноски, то гораздо проще и безопаснее удалить сноски.

Тем не менее, команды размера можно переопределить. Немного меньшие, чем исходные версии, могут быть приемлемым компромиссом.

Размер \smallподписей можно задать с помощью пакета caption:

\usepackage[font=small]{caption}

Команды размера обычно определяются в size10.clo, size11.clo, size12.cloкоторые загружаются стандартными классами для параметра размера документа ( 10pt, 11pt, 12pt, default: 10pt).

Пример для size10.clo. Он определяет меньшие размеры шрифта:

\newcommand\small{%
   \@setfontsize\small\@ixpt{11}%
   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus2\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\newcommand\footnotesize{%
   \@setfontsize\footnotesize\@viiipt{9.5}%
   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus\p@
   \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 3\p@ \@plus\p@ \@minus\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\newcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt}
\newcommand\tiny{\@setfontsize\tiny\@vpt\@vipt}

Переопределение может повторять определения с \renewcommandвместо \newcommand. Вместо криптических макросов ( \@vipt) могут быть заданы обычные спецификации размера ( 6pt).

\makeatletter
\renewcommand\small{%
   \@setfontsize\small{8.5}{10.5}%
   \setlength{\abovedisplayskip}{8.5pt plus 3pt minus 4pt}%
   \setlength{\abovedisplayshortskip}{0pt plus 2pt}%
   \setlength{\belowdisplayshortskip}{4pt plus 2pt minus 2pt}%
   \def\@listi{\leftmargin\leftmargini
               \topsep 4\p@ \@plus2\p@ \@minus2\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \setlength{\belowdisplayskip}{\abovedisplayskip}%
}
\renewcommand\footnotesize{%
   \@setfontsize\footnotesize{7.5}{9}%
   \setlength{\abovedisplayskip}{6pt plus 2pt minus 4pt}%
   \setlength{\abovedisplayshortskip}{0pt plus 1pt}%
   \setlength{\belowdisplayshortskip}{3pt plus 1pt minus 2pt}%
   \def\@listi{\leftmargin\leftmargini
               \topsep 3\p@ \@plus\p@ \@minus\p@
               \parsep 2\p@ \@plus\p@ \@minus\p@
               \itemsep \parsep}%
   \setlength}{belowdisplayskip}{\abovedisplayskip}%
}
\renewcommand\scriptsize{\@setfontsize\scriptsize{6.5}{7.5}}%
\renewcommand\tiny{\@setfontsize\tiny{5}{6}}
\makeatother

В примере уменьшены размеры шрифта и пропуски базовой линии для \small, \footnotesizeи \scriptsizeна \@setfontsizeполпункта каждый.

решение2

В зависимости от класса вашего документа может потребоваться изменение патча.

\documentclass{article}
\usepackage{etoolbox}

\makeatletter
\patchcmd{\@footnotetext}{\footnotesize}{\scriptsize}{}{}
\makeatother

\setlength{\textheight}{3cm} % just to keep the image small

\begin{document}

Some text with a footnote\footnote{This will be in scriptsize}

{\footnotesize This text is in footnotesize\par}

{\scriptsize This text is in scriptsize for comparison\par}

\end{document}

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

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