Kaydet (Commit) ff031cfd authored tarafından Fred Drake's avatar Fred Drake

Define abstract way to get the normal and smaller font sizes that work

even in the footnote context.
üst 8612a431
...@@ -134,6 +134,23 @@ ...@@ -134,6 +134,23 @@
% Use this to set the font family for headers and other decor: % Use this to set the font family for headers and other decor:
\newcommand{\py@HeaderFamily}{\sffamily} \newcommand{\py@HeaderFamily}{\sffamily}
% Set up abstract ways to get the normal and smaller font sizes that
% work even in footnote context.
\newif\ifpy@infootnote \py@infootnotefalse
\let\py@oldfootnotetext\@footnotetext
\def\@footnotetext#1{%
\bgroup%
\py@infootnotetrue
\py@oldfootnotetext{#1}%
\egroup%
}
\def\py@defaultsize{%
\ifpy@infootnote\footnotesize\else\normalsize\fi%
}
\def\py@smallsize{%
\ifpy@infootnote\scriptsize\else\small\fi%
}
% Redefine the 'normal' header/footer style when using "fancyhdr" package: % Redefine the 'normal' header/footer style when using "fancyhdr" package:
\@ifundefined{fancyhf}{}{ \@ifundefined{fancyhf}{}{
% Use \pagestyle{normal} as the primary pagestyle for text. % Use \pagestyle{normal} as the primary pagestyle for text.
...@@ -817,24 +834,19 @@ ...@@ -817,24 +834,19 @@
\newcommand{\csimplemacro}[1]{\code{#1}} \newcommand{\csimplemacro}[1]{\code{#1}}
\newcommand{\kbd}[1]{\code{#1}} \newcommand{\kbd}[1]{\code{#1}}
\newcommand{\samp}[1]{`\code{#1}'} \newcommand{\samp}[1]{`\code{#1}'}
% This weird definition of \var{} allows it to always appear in roman
% italics, and won't get funky in code fragments when we play around
% with fonts. This also works directly in math mode.
% XXX \normalsize is bad in footnotes, though; we need a way to
% determine when we're in a footnote.
\newcommand{\var}[1]{% \newcommand{\var}[1]{%
\ifmmode% \ifmmode%
\hbox{\normalsize\textrm{\textit{#1\/}}}% \hbox{\py@defaultsize\textrm{\textit{#1\/}}}%
\else% \else%
\normalsize\textrm{\textit{#1\/}}% \py@defaultsize\textrm{\textit{#1\/}}%
\fi% \fi%
} }
\renewcommand{\emph}[1]{{\em #1}} \renewcommand{\emph}[1]{{\em #1}}
\newcommand{\dfn}[1]{\emph{#1}} \newcommand{\dfn}[1]{\emph{#1}}
\newcommand{\strong}[1]{{\bf #1}} \newcommand{\strong}[1]{{\bf #1}}
% let's experiment with a new font: % let's experiment with a new font:
\newcommand{\file}[1]{`{\small\textsf{#1}}'} \newcommand{\file}[1]{`\filenq{#1}'}
\newcommand{\filenq}[1]{{\small\textsf{#1}}} \newcommand{\filenq}[1]{{\py@smallsize\textsf{#1}}}
% Use this def/redef approach for \url{} since hyperref defined this already, % Use this def/redef approach for \url{} since hyperref defined this already,
% but only if we actually used hyperref: % but only if we actually used hyperref:
...@@ -843,15 +855,15 @@ ...@@ -843,15 +855,15 @@
\noindent% \noindent%
\pdfstartlink attr{/Border [0 0 0]} user{/S /URI /URI (#1)}% \pdfstartlink attr{/Border [0 0 0]} user{/S /URI /URI (#1)}%
\py@LinkColor% color of the link text \py@LinkColor% color of the link text
\small\sf #1% \py@smallsize\sf #1%
\py@NormalColor% Turn it back off; these are declarative \py@NormalColor% Turn it back off; these are declarative
\pdfendlink}% and don't appear bound to the current \pdfendlink}% and don't appear bound to the current
}% formatting "box". }% formatting "box".
\else \else
\newcommand{\url}[1]{\mbox{\small\textsf{#1}}} \newcommand{\url}[1]{\mbox{\py@smallsize\textsf{#1}}}
\fi \fi
\newcommand{\email}[1]{{\small\textsf{#1}}} \newcommand{\email}[1]{{\py@smallsize\textsf{#1}}}
\newcommand{\newsgroup}[1]{{\small\textsf{#1}}} \newcommand{\newsgroup}[1]{{\py@smallsize\textsf{#1}}}
\newcommand{\py@varvars}[1]{{% \newcommand{\py@varvars}[1]{{%
{\let\unspecified=\py@unspecified% {\let\unspecified=\py@unspecified%
...@@ -887,12 +899,12 @@ ...@@ -887,12 +899,12 @@
\newcommand{\ctype}[1]{\texttt{#1}} % C struct or typedef name \newcommand{\ctype}[1]{\texttt{#1}} % C struct or typedef name
\newcommand{\cdata}[1]{\texttt{#1}} % C variable, typically global \newcommand{\cdata}[1]{\texttt{#1}} % C variable, typically global
\newcommand{\mailheader}[1]{{\small\textsf{#1:}}} \newcommand{\mailheader}[1]{{\py@smallsize\textsf{#1:}}}
\newcommand{\mimetype}[1]{{\small\textsf{#1}}} \newcommand{\mimetype}[1]{{\py@smallsize\textsf{#1}}}
% The \! is a "negative thin space" in math mode. % The \! is a "negative thin space" in math mode.
\newcommand{\regexp}[1]{% \newcommand{\regexp}[1]{%
{\tiny$^{^\lceil}\!\!$% {\tiny$^{^\lceil}\!\!$%
{\normalsize\code{#1}}% XXX should use \footnotesize in footnotes {\py@defaultsize\code{#1}}%
$\!\rfloor\!$% $\!\rfloor\!$%
}} }}
\newcommand{\envvar}[1]{% \newcommand{\envvar}[1]{%
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment