描いた絵の下にキャプションを入れる

描いた絵の下にキャプションを入れる

矢印の付いた 3x3 グリッドを生成する次のコードがあります。グリッド セルの一部には # が含まれています。

\begin{picture}(185,90)
\put(0,0){\framebox(30,30)}
\put(30,0){\framebox(30,30)}
\put(60,0){\framebox(30,30)}
\put(0,30){\framebox(30,30)}
\put(30,30){\framebox(30,30)}
\put(60,30){\framebox(30,30){\Large{\#}}}
\put(0,60){\framebox(30,30){\Large{\#}}}
\put(30,60){\framebox(30,30){\Large{\#}}}
\put(60,60){\framebox(30,30){\Large{\#}}}
\put(15,45){\vector(1,0){30}}
\end{picture}

pdflatexで結果を生成する

描いた絵の下にキャプションを入れたいのですが、どうすればいいでしょうか?キャプションは絵の中に入れられないと思います。\begin{画像}私はそれを包むことも試みました\begin{図}成功しませんでした。

答え1

pictureを の中に入れますminipage。これにより、 を環境に含めることができるようになりfigure、 が許可されるようになります\caption

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[ht]
\centering
\begin{minipage}{1.3in}
\begin{picture}(185,90)
\put(0,0){\framebox(30,30)}
\put(30,0){\framebox(30,30)}
\put(60,0){\framebox(30,30)}
\put(0,30){\framebox(30,30)}
\put(30,30){\framebox(30,30)}
\put(60,30){\framebox(30,30){\Large{\#}}}
\put(0,60){\framebox(30,30){\Large{\#}}}
\put(30,60){\framebox(30,30){\Large{\#}}}
\put(60,60){\framebox(30,30){\Large{\#}}}
\put(15,45){\vector(1,0){30}}
\end{picture}
\end{minipage}
\caption{Here is my caption.}
\end{figure}
\lipsum[2]
\end{document}

ここに画像の説明を入力してください

OP のコメントに続いて、1 行に複数の画像を表示するには、minipageを超えない限り、隣接する を同じ行に配置できます\linewidth

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{figure}[ht]
\centering
\begin{minipage}{1.3in}
\begin{picture}(185,90)
\put(0,0){\framebox(30,30)}
\put(30,0){\framebox(30,30)}
\put(60,0){\framebox(30,30)}
\put(0,30){\framebox(30,30)}
\put(30,30){\framebox(30,30)}
\put(60,30){\framebox(30,30){\Large{\#}}}
\put(0,60){\framebox(30,30){\Large{\#}}}
\put(30,60){\framebox(30,30){\Large{\#}}}
\put(60,60){\framebox(30,30){\Large{\#}}}
\put(15,45){\vector(1,0){30}}
\end{picture}
\end{minipage}
\begin{minipage}{1.3in}
\begin{picture}(185,90)
\put(0,0){\framebox(30,30)}
\put(30,0){\framebox(30,30)}
\put(60,0){\framebox(30,30)}
\put(0,30){\framebox(30,30)}
\put(30,30){\framebox(30,30)}
\put(60,30){\framebox(30,30){\Large{\#}}}
\put(0,60){\framebox(30,30){\Large{\#}}}
\put(30,60){\framebox(30,30){\Large{\#}}}
\put(60,60){\framebox(30,30){\Large{\#}}}
\put(15,45){\vector(1,0){30}}
\end{picture}
\end{minipage}
\caption{Here is my caption.}
\end{figure}
\lipsum[2]
\end{document}

ここに画像の説明を入力してください

答え2

あなたは、画像に対して大きすぎる境界ボックスを指定しています。さらに、空のボックスの空の引数を忘れています。\Large しない議論する。

\documentclass{article}
\usepackage{pict2e}

\begin{document}

\begin{figure}
\centering

\begin{picture}(90,90)
\put(0,0){\framebox(30,30){}}
\put(30,0){\framebox(30,30){}}
\put(60,0){\framebox(30,30){}}
\put(0,30){\framebox(30,30){}}
\put(30,30){\framebox(30,30){}}
\put(60,30){\framebox(30,30){\Large\#}}
\put(0,60){\framebox(30,30){\Large\#}}
\put(30,60){\framebox(30,30){\Large\#}}
\put(60,60){\framebox(30,30){\Large\#}}
\put(15,45){\vector(1,0){30}}
\end{picture}

\caption{A picture}

\end{figure}

\end{document}

ここに画像の説明を入力してください

複数の写真があっても問題ありません。

\documentclass{article}
\usepackage{pict2e}

\begin{document}

\begin{figure}
\centering

\begin{picture}(90,90)
\put(0,0){\framebox(30,30){}}
\put(30,0){\framebox(30,30){}}
\put(60,0){\framebox(30,30){}}
\put(0,30){\framebox(30,30){}}
\put(30,30){\framebox(30,30){}}
\put(60,30){\framebox(30,30){\Large\#}}
\put(0,60){\framebox(30,30){\Large\#}}
\put(30,60){\framebox(30,30){\Large\#}}
\put(60,60){\framebox(30,30){\Large\#}}
\put(15,45){\vector(1,0){30}}
\end{picture}\qquad
\begin{picture}(90,90)
\put(0,0){\framebox(30,30){}}
\put(30,0){\framebox(30,30){}}
\put(60,0){\framebox(30,30){}}
\put(0,30){\framebox(30,30){}}
\put(30,30){\framebox(30,30){}}
\put(60,30){\framebox(30,30){\Large\#}}
\put(0,60){\framebox(30,30){\Large\#}}
\put(30,60){\framebox(30,30){\Large\#}}
\put(60,60){\framebox(30,30){\Large\#}}
\put(15,45){\vector(1,0){30}}
\end{picture}

\caption{A picture}

\end{figure}

\end{document}

ここに画像の説明を入力してください


図を描くより良い方法は、ボックスの代わりに線を使用することです。これにより、内側の線が「重複」するのを回避できます。

\documentclass{article}
\usepackage{pict2e}

\begin{document}

\begin{figure}
\centering

\begin{picture}(90,90)
\polygon(0,0)(90,0)(90,90)(0,90)
\put(30,0){\line(0,1){90}}
\put(60,0){\line(0,1){90}}
\put(0,30){\line(1,0){90}}
\put(0,60){\line(1,0){90}}
\put(15,75){\makebox(0,0){\Large\#}}
\put(45,75){\makebox(0,0){\Large\#}}
\put(75,75){\makebox(0,0){\Large\#}}
\put(75,45){\makebox(0,0){\Large\#}}
\put(15,45){\vector(1,0){30}}
\end{picture}

\caption{A picture}

\end{figure}

\end{document}

境界線がどのように描かれているかに注意してください\polygon

ここに画像の説明を入力してください

答え3

この質問はかなり古いものですが、私は次のことの力と簡単さを示したかったのですtikz:

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{figure}
\centering
\begin{tikzpicture}

\foreach \x in {0,1,2,3}
\draw (\x,0)--(\x,3)  (0,\x)--(3,\x);

\foreach \x/\y in {0.5/2.5,1.5/2.5,2.5/2.5,2.5/1.5}
\node at (\x,\y) {\Large{\#}};

\draw[-latex] (.5,1.5)--(1.5,1.5);

\end{tikzpicture}
\caption{A picture}
\end{figure}

\end{document}

ここに画像の説明を入力してください

関連情報