如何更改字体并使小页面居中对齐?

如何更改字体并使小页面居中对齐?

我正在使用 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)加载包。

  • 要使minipages 在列中水平居中,您可以将它们的宽度设置为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}

在此处输入图片描述

相关内容