
Я пишу технический отчет, связанный с обработкой текста, и хотел бы использовать рисунок для иллюстрации чего-то вроде того, что показано на рисунке 1 ниже.
Так что по сути это просто рисунок с текстом. Поскольку я не хочу сохранять "латексный вид" во всем документе, я бы предпочел не делать этого так, как я сделал в этом примере (например, используя блокнот).
Извините, что не предоставил минимальный рабочий пример, но я не смог понять, что искать, кроме как, например, "латексные фигуры с текстом". Это приводит только к описаниям того, как создавать подписи к рисункам.
Так что по сути я прошу дать мне руководство о том, как это сделать или что искать.
Также, если кто-то знает, является ли это правильным способом иллюстрации того, что я пытаюсь сделать (как вы видите на рисунке-примере), когда дело касается академических отчетов, я был бы признателен за ваш вклад. Я предполагаю, что это было бы предпочтительнее, чем просто выписывать списки строк и целых чисел (как в этом примере) в сыром тексте.
решение1
Следующее решение объединяет несколько «трюков»:
Во-первых, все фрагменты кодов находятся внутри figure
окружения. Это позволяет использовать заголовок. Последний скажет что-то:Рисунок 1. Содержание заголовка(Фигурапоскольку подпись была определена в... figure
среде!).
Затем мы используем subfigure
окружения, чтобы разместить несколько элементов рядом. Использование пакета subcaption
позволяет вам определить \caption
внутри каждого subfigure
окружения и таким образом добавить... подзаголовок.
Наконец, используйте listings
пакет для отображения кода внутри lstlisting
окружений. Будьте осторожны: поскольку код печатается дословно, вам следует «сбросить» отступы внутри lstlisting
окружений. Центрирование фрагментов кода не является тривиальной задачей. Для этого мы делаем крюк, включаем lstlisting
внутри одной ячейки 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}