我知道这与很多观点背道而驰,但我想尝试不同的字体,看看我更喜欢哪种。如果可能的话,我似乎找不到任何关于如何做到这一点的参考资料。
编辑:
我最终使用了以下方法。这种方法更好,但还没有达到我想要的效果
\RequirePackage[T1]{fontenc}
\RequirePackage[scaled]{beramono}
我遇到的最大问题是,我发现等宽字体间距太大,导致文本占用了行中的更多空间。如果有人有其他建议,那就太好了。
答案1
lstlisting
在来自包的环境的情况下listings
,您可以使用basicstyle
键来控制代码中普通文本的字体属性;一些示例:
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[basicstyle=\sffamily]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\itshape]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\small\ttfamily]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\Large\normalfont]
Some text here
\end{lstlisting}
\end{document}
当然,这些修改最好\lstset
在序言中全局进行:
\lstset{
basicstyle=\small\sffamily}
您还可以使用columns
键来控制间距;示例显示了四个可用值:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[scaled]{beramono}
\usepackage{listings}
\lstset{columns=fullflexible}
\begin{document}
\begin{lstlisting}[basicstyle=\sffamily,columns=fixed]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\sffamily,columns=flexible]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\sffamily,columns=fullflexible]
Some text here
\end{lstlisting}
\begin{lstlisting}[basicstyle=\sffamily,columns=spaceflexible]
Some text here
\end{lstlisting}
\end{document}
再次强调,最好采用全局设置;例如:
\lstset{
basicstyle=\small\sffamily,
columns=fullflexible
}
答案2
是的,这是可能的。例如
\documentclass{article}
\begin{document}
\begin{verbatim}
I know it runs contrary to a lot of the point,
but I'd like to experiment with different fonts to see
which I like better.
I can't seem to find any reference to a way to do this,
if it's at all possible.
\end{verbatim}
\makeatletter
%\def\verbatim@font{\normalfont\ttfamily}
\def\verbatim@font{\normalfont\itshape}
\makeatother
\begin{verbatim}
I know it runs contrary to a lot of the point,
but I'd like to experiment with different fonts to see
which I like better.
I can't seem to find any reference to a way to do this,
if it's at all possible.
\end{verbatim}
\end{document}
答案3
LaTeX 定义
\def\verbatim@font{\normalfont\ttfamily}
所以
\makeatletter
\def\verbatim@font{\normalfont\sffamily}
\makeatother
会使其使用 sans。请注意,如果您使用的是 OT1 编码,那么大多数非 tt 字体都没有 ascii 字符的预期字形,<
因此您可能希望使用 T1 编码(无论如何,这是一个好主意)。
答案4
虽然这需要再设置几个步骤,但它搭载在 verbatimbox 包上(通常将 verbatim 设置在盒子中),为您提供了一个方便的调用机制,作为环境的可选参数。
\documentclass{article}
\usepackage{verbatimbox}
\makeatletter
\newenvironment{verblist}{%
\setcounter{VerbboxLineNo}{-1}%
\let\my@par\par%
\def\verbatim@processline{%
{\addtocounter{VerbboxLineNo}{1}%
\@tmp\setbox0=\hbox{\@tmp\the\verbatim@line}%
\hsize=\wd0 \the\verbatim@line\my@par}}%
\verbatim\verbbox@inner%
}
{\endverbatim\global\def\@tmp{}}
\makeatother
\begin{document}
\begin{verblist}[\sffamily]
this is a test
of the verblist environment
in a sans serif font
\end{verblist}
\begin{verblist}[\rmfamily\itshape]
this is a test
of the verblist environment
in a roman italic font
\end{verblist}
\end{document}