为了完成我的论文,我编写了一个读取参数文件的计算机程序。我想在论文中显示该参数文件,但不确定最佳做法是什么。
最后,我想用某种类似打字机的字体(比如 Courier)显示参数文件,并附带标题。我还想显示参数文件的行号。最好的方法是什么?
我知道如何设置行号和更改字体,但我不知道如何为一些不是真正图形的随机文本添加标题。
另外:参数文件应该显示为“图形”还是“表格”?
答案1
您可以轻松地将参数文件视为标准figure
或table
;在下面的第三个示例代码中我使用了这种方法。
\captionof
要在浮动环境之外添加字幕,您可以使用标题(或者捕获) 包;在下面的最后一个示例代码中我使用了这种方法。
为了获得自动数字线、等宽字体和列表般的感觉,一种选择是使用高度可定制的列表包;一个小例子:
\documentclass{article}
\usepackage{listings}
\lstset{% general command to set parameter(s)
basicstyle=\small\ttfamily,% print whole listing small and with monospaced font
numbers=left% number lines to the left
}
\begin{document}
\begin{lstlisting}[caption={Parameter file used elsewhere}]
column1a column2a column3a
column1b column2b column3b
\end{lstlisting}
\end{document}
另一个选择可能是幻想VRB包裹;
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[frame=lines,label={A parameter file used elsewhere},numbers=left,numbersep=10pt]
column1a column2a column3a
column1b column2b column3b
\end{Verbatim}
\end{document}
如果您想将参数文件视为表格(或图形),则可以将环境包装在(或)环境Verbatim
中;请注意,这意味着您现在正在处理浮动对象:table
figure
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{table}
\caption{A parameter file used elsewhere}
\begin{Verbatim}[numbers=left,numbersep=10pt]
column1a column2a column3a
column1b column2b column3b
\end{Verbatim}
\end{table}
\end{document}
使用\captionof
您可以为参数列表添加标题,例如用于figure
或table
环境的标题,但不使用浮动环境。一个小例子:
\documentclass{article}
\usepackage{caption}
\usepackage{fancyvrb}
\begin{document}
\begin{center}
\captionof{table}{A parameter file used elsewhere}
\begin{Verbatim}[numbers=left,numbersep=10pt]
column1a column2a column3a
column1b column2b column3b
\end{Verbatim}
\end{center}
\end{document}
或者
\documentclass{article}
\usepackage{caption}
\usepackage{fancyvrb}
\begin{document}
\noindent\begin{minipage}{\linewidth}
\captionof{table}{A parameter file used elsewhere}
\begin{Verbatim}[numbers=left,numbersep=10pt]
column1a column2a column3a
column1b column2b column3b
\end{Verbatim}
\end{minipage}
\end{document}
以防止环境内部出现分页符。
答案2
显示参数文件最简单的方法就是将所有内容放在逐字环境中。您将自动获得固定宽度的字体。
\begin{verbatim}
numbers and text
\end{verbatim}
图形和表格环境是通用的,实际上仅在标题的标题方式上有所不同,例如图 3.1 或表 3.1 以及在或中显示的内容,listoffigures
因此listoftables
,选择将代码片段放在何处应该基于此。
如果您想要自动编号行或其他功能,还有其他软件包(如 fancyvrb)可能更适合您的特定问题。
答案3
如果我正确理解了您的问题,您希望自动创建某些浮点数table
和figure
浮动值,这些浮点数(i)应自动以打字机(又名“等宽”)字体设置其内容,以及(ii)否则共享“常规”表格/图形环境的所有功能。
实现这一点的一种方法是定义两个新的环境,称为twtable
和twfigure
(typewriter-table 和 typewriter-figure 的缩写),如下所示:
\makeatletter
\newenvironment{twtable}%
{\renewcommand\familydefault\ttdefault \selectfont%
\@float{table}}
{\end@float}
\newenvironment{twfigure}%
{\renewcommand\familydefault\ttdefault \selectfont%
\@float{figure}}
{\end@float}
\makeatother
如果将此代码片段插入到文档的前言中,则所有twtable
和twfigure
浮点数都将以打字机字体排版,但除此之外与table
和figure
浮点数无法区分。