我正在使用列表包,在列表中设置字体大小的命令是:
\lstset{basicstyle = \small}
Run Code Online (Sandbox Code Playgroud)
我想修改它以使用介于 \small 和 \normalsize 之间的字体大小。像这样的东西不起作用:
\lstset{basicstyle = 0.5\small+0.5\normalsize}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以根据需要设置字体大小吗?
这取决于您的文档类设置。例如,\small一个10pt文件下的类选项是9pt和\normalsize是10pt(当然,因为类选项)。请参阅什么点(pt)字体大小\Large等?对于基于\documentclass. 在此基础上,设定basicstyle到9.5pt(与适当的中途基线跳过)通过手动\fontsize{9.5}{11.5}\selectfont或通过使用下面的计算自动化\smalltonormalsize作为字体开关:
\documentclass{article}
\usepackage{listings,xfp}
\usepackage{anyfontsize}
\makeatletter
{\small % Capture font definitions of \small
\xdef\f@size@small{\f@size}
\xdef\f@baselineskip@small{\f@baselineskip}
\normalsize % Capture font definitions for \normalsize
\xdef\f@size@normalsize{\f@size}
\xdef\f@baselineskip@normalsize{\f@baselineskip}
}
% Define new \smalltonormalsize font size
\newcommand{\smalltonormalsize}{%
\fontsize
{\fpeval{(\f@size@small+\f@size@normalsize)/2}}
{\fpeval{(\f@baselineskip@small+\f@baselineskip@normalsize)/2}}%
\selectfont
}
\makeatother
\begin{document}
\begin{lstlisting}[basicstyle = \ttfamily\small]
Hello world A
\end{lstlisting}
\begin{lstlisting}[basicstyle = \ttfamily\smalltonormalsize]
Hello world B
\end{lstlisting}
\begin{lstlisting}[basicstyle = \ttfamily\normalsize]
Hello world C
\end{lstlisting}
\end{document}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2788 次 |
| 最近记录: |