我有 2 个并排的minipage
图片,我想在它们下面添加标题。有什么办法吗?
\noindent\begin{minipage}{0.5\textwidth}
\begin{lstlisting}[mathescape=true]
P -> if (x,y) in box(B,B,B,B)
then symbol(S,C)
else pebble
B -> 0 | 1 | 2 | 3 | 4 | 5 | 6
S -> ring(O,I,R,x,y)
O -> chicken | pig
I -> chicken | pig | pebble
R -> 1 | 2 | 3
C -> [red, green, blue][A2(A1)]
A1 -> x | y | x+y
A2 -> lambda z:0 | lambda z:1 |
lambda z:2 | lambda z:z%2 |
lambda z:z%2+1 |
lambda z:2*(z%2)
\end{lstlisting}
\end{minipage}%
\hfill
\begin{minipage}{0.6\textwidth}
\includegraphics[width=0.7\textwidth]{assets/task_grid.png}
\caption{HELLO}
\end{minipage}
== I'd like a caption here ==
答案1
环境lstlisting
提供了自己的字幕机制。
在您的示例代码中,minipages 的总宽度(至少)为 的 110% \textwidth
;这不会顺利进行。在下面的代码中,我使用了 的 0.6 和 0.35 的宽度\textwidth
。
\documentclass{article}
\usepackage[demo]{graphicx} % remove 'demo' option in real document
\usepackage{listings}
\begin{document}
\begin{minipage}{0.6\textwidth}
\begin{lstlisting}[mathescape=true,caption=HELLO,captionpos=b]
P -> if (x,y) in box(B,B,B,B)
then symbol(S,C)
else pebble
B -> 0 | 1 | 2 | 3 | 4 | 5 | 6
S -> ring(O,I,R,x,y)
O -> chicken | pig
I -> chicken | pig | pebble
R -> 1 | 2 | 3
C -> [red, green, blue][A2(A1)]
A1 -> x | y | x+y
A2 -> lambda z:0 | lambda z:1 |
lambda z:2 | lambda z:z%2 |
lambda z:z%2+1 |
lambda z:2*(z%2)
\end{lstlisting}
\end{minipage}%
\hfill
\begin{minipage}{0.35\textwidth}
\includegraphics[width=\textwidth]{assets/task_grid.png}
\end{minipage}
\end{document}