我正在使用 ACM 会议模板撰写一篇文章,并且我在两栏文章中添加了小页面。但小页面的字体更大且不同。我需要使其与文章相似并将其居中对齐。非常感谢您的帮助。谢谢
\documentclass[sigconf,natbib=false]{acmart}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{zlmtt}
\usepackage{fancyvrb}
\begin{document}
\noindent
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=left,label=Original Code,framesep=3mm]
class C {
public X x = new X();
public void f() {
...
}
}
\end{Verbatim}
\end{minipage}\hfill
\par\vspace{3ex}
\noindent
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=left,label=After Extract Local,framesep=3mm]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\end{minipage}
\par\vspace{3ex}
\noindent
\begin{minipage}{0.49\linewidth}
\begin{Verbatim}[frame=topline,numbers=left,label=After Extract Local,framesep=3mm]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\end{minipage}
\end{document}
答案1
两个建议:
减小字体大小
Verbatim
,您可以xlmtt
使用选项scaled=0.9
(或其他小于的因子1
)加载包。要使
minipage
s 在列中水平居中,您可以将它们的宽度设置为0.5\columnwidth
并将它们包裹在center
环境中。
\documentclass[sigconf,natbib=false,twocolumn]{acmart}
%%\usepackage[utf8]{inputenc} % that's the default nowadays
\usepackage[T1]{fontenc}
\usepackage[scale=0.9]{zlmtt}
\usepackage{fancyvrb,lipsum}
\begin{document}
\begin{center}
\begin{minipage}{0.5\columnwidth}
\begin{Verbatim}[frame=topline,numbers=left,framesep=3mm, label=Original Code]
class C {
public X x = new X();
public void f() {
...
}
}
\end{Verbatim}
\end{minipage}
\vspace{1\baselineskip}
\begin{minipage}{0.5\columnwidth}
\begin{Verbatim}[frame=topline,numbers=left,framesep=3mm, label=After Extract Local]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\end{minipage}
\vspace{1\baselineskip}
\begin{minipage}{0.5\columnwidth}
\begin{Verbatim}[frame=topline,numbers=left,framesep=3mm, label=After Extract Local]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\end{minipage}
\end{center}
\lipsum
\end{document}
答案2
您不需要minipage
,使用Verbatim
就足够了。如果您的目的是避免行号在边距中突出,请使用xleftmargin
。
为了使逐字文本更小,请加载zlmtt
合适的scale
选项,如下例所示。
最好使用\fvsetup
而不是每次都重复设置,否则可能会忘记一些设置。15pt 是由于文本和行号之间的间隔为 12pt;我猜是额外的 3pt,但它似乎在上下文中表现良好。
\documentclass[twocolumn,sigconf,natbib=false]{acmart}
%\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scale=0.85]{zlmtt}
\usepackage{fancyvrb}
\usepackage{lipsum} % for context
\fvset{
frame=topline,
numbers=left,
framesep=3mm,
xleftmargin=16pt,
}
\begin{document}
\lipsum[1]
\begin{Verbatim}[label=Original Code]
class C {
public X x = new X();
public void f() {
...
}
}
\end{Verbatim}
\begin{Verbatim}[label=After Extract Local]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\begin{Verbatim}[label=After Extract Local]
class c {
public X x = new X();
public void f(){
...
}
}
\end{Verbatim}
\lipsum
\end{document}