我想在 Verbatim 环境中应用小字体,例如
{\small
\begin{Verbatim}
1 double x, y;
2 double z, w;
3 main();
4 return 0;
\end{Verbatim}}
在命令之前\small
和结束括号之后的}
文本具有正常大小,这是很明显的,但是括号内的字体大小应该很小。
为什么此命令不适用于环境的内容?
答案1
您似乎正在使用fancyvrb
,它已经具有您想要的功能:
\documentclass{article}
\usepackage{fancyvrb}
\usepackage{lipsum} % just for the example
\begin{document}
\lipsum*[3]
\begin{Verbatim}[fontsize=\small]
1 double x, y;
2 double z, w;
3 main();
4 return 0;
\end{Verbatim}
\lipsum[3]
\end{document}
答案2
正如所提到的更改 verbatim 环境的字体中,使用的默认字体verbatim
为\ttfamily
,如 中设置的那样\verbatim@font
。您可以创建用户界面来调整此字体,方法如下:
\documentclass{article}
\usepackage{lipsum} % just for the example
\makeatletter
\newcommand{\verbatimfont}[1]{\renewcommand{\verbatim@font}{\ttfamily#1}}
\makeatother
\begin{document}
\lipsum*[3]
\verbatimfont{\small}%
\begin{verbatim}
1 double x, y;
2 double z, w;
3 main();
4 return 0;
\end{verbatim}
\lipsum[3]
\end{document}
答案3
包的宏verbatimbox
可以将诸如以下内容的内容\small
作为可选参数。在本例中,我选择了环境verbnobox
,但该包中的其他宏可能更适合您的需求。
\documentclass{article}
\usepackage{verbatimbox}
\begin{document}
\noindent Normal Size
\begin{verbnobox}[\small]
1 double x, y;
2 double z, w;
3 main();
4 return 0;
\end{verbnobox}
Normal Size
\end{document}
此外,您可以要求软件包为您编号行,而不是手动执行:
\documentclass{article}
\usepackage{verbatimbox}
\begin{document}
\noindent Normal Size
\begin{verbnobox}[\tiny\arabic{VerbboxLineNo}\small\hspace{3ex}]
double x, y;
double z, w;
main();
return 0;
\end{verbnobox}
Normal Size
\end{document}
答案4
我推荐listings
适合此目的的软件包。请参阅维基百科有关设置和我的 MWE 的简单说明如下:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\lstset{ %
language=C++, % choose the language of the code
numbers=left, % where to put the line-numbers
numberstyle=\tiny, % the size of the fonts that are used for the line-numbers
basicstyle=\footnotesize % the size of the fonts that are used for the line-numbers
}
\begin{document}
Lorem ipsum
{\footnotesize Lorem ipsum
\begin{lstlisting}
double x, y;
double z, w;
main();
return 0;
\end{lstlisting}
Lorem ipsum}
Lorem ipsum
\end{document}
为了强调不同的尺寸,我将其替换\small
为:\footnotesize