Criando uma figura composta por texto

Criando uma figura composta por texto

Estou escrevendo um relatório técnico relacionado ao processamento de texto e gostaria de usar uma figura para ilustrar algo como o mostrado na figura 1 abaixo.

Como eu acho que gostaria da minha figura

Então, basicamente, é apenas uma figura com texto. Como não quero manter a "aparência de látex" em todo o documento, prefiro não fazê-lo como fiz neste exemplo (por exemplo, usando o bloco de notas).

Lamento não fornecer um exemplo prático mínimo, mas não consegui descobrir o que procurar além de, por exemplo, "figuras de látex com texto". Isso resulta apenas em descrições sobre como criar legendas de figuras.

Então, basicamente, o que estou pedindo é orientação sobre como fazer isso ou o que procurar.

Além disso, se alguém souber se esta é uma maneira adequada de ilustrar o que estou tentando fazer (como você vê na figura de exemplo) quando se trata de relatórios acadêmicos, agradeceria sua opinião. Presumo que isso seria preferível em vez de apenas escrever as listas de strings e números inteiros (como neste exemplo) em texto bruto.

Responder1

A solução a seguir combina vários "truques":

Primeiro, todos os trechos de código estão dentro de um figureambiente. Isso permite que você use uma legenda. O último dirá algo:Figura 1. Conteúdo da legenda(Figuraporque a legenda foi definida em um... figureambiente!).

Depois, utilizamos subfigureambientes para colocar vários elementos lado a lado. Usar o pacote subcaptionpermite definir um \captiondentro de cada subfigureambiente e assim adicionar... uma sublegenda.

Por último, utiliza-se o listingspacote para exibir código em lstlistingambientes. Cuidado: como o código é impresso literalmente, você deve "redefinir" o recuo dentro lstlistingdos ambientes. Centralizar trechos de código não é trivial. Para isso fazemos um desvio, incluímos lstlistingdentro de one-cell tabular, conforme explicado emComo centralizar uma listagem?.


insira a descrição da imagem aqui

\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}

informação relacionada