[Tex/LaTex] How to change the font size globally for the \texttt environment

fontsizegroupingtypewriter

How do you change the font size globally for the \texttt environment?

I can do it for the verbatim environment with the following pair of commands

\newcommand{\verbatimfont}[1]{\renewcommand{\verbatim@font}{\ttfamily#1}}
\verbatimfont{\small}

How do I accomplish the same thing for the \texttt environment?

Best Answer

You can use the fancyvrb package that offers many other customizations (you can also check the fvextra package that adds many features).

\documentclass{article}
\usepackage{fancyvrb}

\RecustomVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\footnotesize}

\begin{document}

This is inline \verb|verbatim|, the size doesn't change.
But it can be changed when we are in a \verb|verbatim|
enviroment
\begin{verbatim}
This is inline \verb|verbatim|, the size doesn't change.
But it can be changed when we are in a \verb|Verbatim|
enviroment
\end{verbatim}
Isn't it nice?

\end{document}

enter image description here

In order to change the size of the monospaced font, there is a “nasty” trick. Modify the value in the definition of \ttscale to suit your need.

\documentclass{article}

\newcommand{\ttscale}{s*[0.9]}
\DeclareFontFamily{OT1}{cmtt}{\hyphenchar\font -1 }
\DeclareFontShape{OT1}{cmtt}{m}{n}{
        <-9>   \ttscale cmtt8
        <9-10> \ttscale cmtt9
        <10-12>\ttscale cmtt10
        <12->  \ttscale cmtt12
      }{}
\DeclareFontShape{OT1}{cmtt}{m}{it}{
        <->    \ttscale cmitt10
      }{}
\DeclareFontShape{OT1}{cmtt}{m}{sl}{
        <->    \ttscale cmsltt10
      }{}
\DeclareFontShape{OT1}{cmtt}{m}{sc}{
        <->    \ttscale cmtcsc10
      }{}
\DeclareFontShape{OT1}{cmtt}{m}{ui}
       {<->ssub*cmtt/m/it}{}
\DeclareFontShape{OT1}{cmtt}{bx}{n}
       {<->ssub*cmtt/m/n}{}
\DeclareFontShape{OT1}{cmtt}{bx}{it}
       {<->ssub*cmtt/m/it}{}
\DeclareFontShape{OT1}{cmtt}{bx}{ui}
       {<->ssub*cmtt/m/it}{}

\begin{document}

ABC \texttt{ABC} 

\Large ABC \texttt{ABC}

\end{document}

enter image description here

Compare with the original:

enter image description here