创建由文本组成的图形

创建由文本组成的图形

我正在写一份与文本处理相关的技术报告,想用一张图来说明如下图 1 所示的内容。

我认为我会喜欢我的身材

所以基本上,它只是一个带文本的图形。因为我不想在整个文档中保留“乳胶外观”,所以我宁愿不这样做,就像我在这个例子中所做的那样(例如使用记事本)。

很抱歉没有提供最小的工作示例,但我不知道除了“带文本的乳胶图”之外还要搜索什么。这只会产生有关如何创建图标题的描述。

所以基本上我所要求的是关于如何做到这一点或搜索什么的指导。

此外,如果有人知道这是否是说明我在学术报告中试图做的事情的正确方法(如您在示例图中看到的那样),我将不胜感激您的意见。我认为这比仅仅用原始文本写出字符串和整数列表(如本例所示)更可取。

答案1

以下解决方案结合了几个“技巧”:

首先,所有代码片段都在一个figure环境中。这使您可以使用标题。后者会说一些话:图 1. 字幕内容数字因为标题已在...figure环境中定义!)。

然后,我们使用subfigure环境将多个元素并排放置。使用包subcaption可以定义\caption每个环境内部subfigure,从而添加...子标题。

最后,可以使用该listings包在环境中显示代码lstlisting。注意:由于代码是逐字打印的,因此您应该在lstlisting环境中“重置”缩进。居中代码片段并不是一件容易的事。为此,我们绕道而行,lstlisting在 one-cell 中包含tabular,如中所述如何使列表居中?


在此处输入图片描述

\documentclass{article}
    \usepackage{subcaption}
    \usepackage{listings}
        \lstset{basicstyle=\ttfamily}
    \usepackage{lipsum}

\begin{document}
    \lipsum[1]
    \begin{figure}[htb]
        \centering
        \begin{subfigure}[t]{.5\linewidth}
            \centering
            \begin{tabular}{c}
% Don't indent the lstlisting environment!          
\begin{lstlisting}
[
  'foo',
  'bar',
  'baz',
]
\end{lstlisting}
             \end{tabular}
             \caption{Simply words}
        \end{subfigure}%
        \begin{subfigure}[t]{.5\linewidth}
            \centering
            \begin{tabular}{c}
\begin{lstlisting}
[
  3,
  2,
  1,
]
\end{lstlisting}
            \end{tabular}
            \caption{And numbers here}
        \end{subfigure}
        \caption{Very code. Much geek. Wow!}
    \end{figure}
    \lipsum[2]
\end{document}

相关内容