我正在排版一份文档,其中我想包含一些代码示例。对于每个代码示例,我希望有一些介绍文字,有时在示例后面还有注释。
为了实现这一点,我使用了,\begin{figure}
并且其中我有一个或多个\begin{lstlisting}
。
我遇到的问题是,在 之前lstlisting
有很多空白。在完整文档中,这导致很难将其视为与内容分开的简洁的文档块。在 之后,lstlisting
空间量还可以。
我希望可以\lstset{}
在序言中添加一些内容来解决这个问题。
以下是屏幕截图:
\documentclass[letterpaper,twocolumn,10pt]{article}
\usepackage{fontspec,listings,graphicx,usenix,epsfig,textcomp,xcolor}
\makeatletter
\lstset{
basicstyle=\footnotesize\ttfamily,
language=html,
frame=single,
tabsize=2,
title=\lstname,
escapechar=�,
inputencoding=utf8,
extendedchars=true,
upquote=true,
breaklines=true,
rulecolor=\color{black!30},
backgroundcolor=\color{gray!10},
identifierstyle=\color{magenta!50!black},
stringstyle=\color{blue},
breaklines=true,
breakatwhitespace=true,
framextopmargin=2pt,
framexbottommargin=2pt,
}
\begin{document}
\begin{figure}
\textit{\emph{\footnotesize{Code Example for }}}\texttt{\textit{\emph{\footnotesize{example.com:}}}}
\begin{lstlisting}[basicstyle={\scriptsize\ttfamily},language=HTML]
<div id="div1">foo</div>
\end{lstlisting}
\textit{\emph{\footnotesize{Another code example}}}{\footnotesize \par}
\begin{lstlisting}[basicstyle={\scriptsize\ttfamily},language=HTML]
<div id="div2">bar</div>
\end{lstlisting}
\caption{Cation Title Goes Here \label{fig:caption-example} }
\end{figure}
\end{document}
如果有必要的话,我会使用 XeLaTeX。如果在 Lyx 中管理起来不会很麻烦,我也愿意采用其他方式来安排。
答案1
\lstname
未定义,并且可能listings
视为空/空白,不为列表标题设置任何内容。但是,这仍然占用每个顶部的整整一行lstlisting
。因此,title=\lstname
在您的中删除\lstset
:
\documentclass{article}
\usepackage{listings,xcolor,textcomp}
\makeatletter
\lstset{
basicstyle=\footnotesize\ttfamily,
language=html,
frame=single,
tabsize=2,
escapechar=�,
inputencoding=utf8,
extendedchars=true,
upquote=true,
breaklines=true,
rulecolor=\color{black!30},
backgroundcolor=\color{gray!10},
identifierstyle=\color{magenta!50!black},
stringstyle=\color{blue},
breaklines=true,
breakatwhitespace=true,
framextopmargin=2pt,
framexbottommargin=2pt,
}
\begin{document}
\begin{figure}
\textit{\emph{\footnotesize{Code Example for }}}\texttt{\textit{\emph{\footnotesize{example.com:}}}}
\begin{lstlisting}[basicstyle={\scriptsize\ttfamily},language=HTML]
<div id="div1">foo</div>
\end{lstlisting}
\textit{\emph{\footnotesize{Another code example}}}
\begin{lstlisting}[basicstyle={\scriptsize\ttfamily},language=HTML]
<div id="div2">bar</div>
\end{lstlisting}
\caption{Cation Title Goes Here \label{fig:caption-example} }
\end{figure}
\end{document}