是否可以将两个图形环境均匀地并排放置在相同的水平高度,并且在它们之间放置一些文本?
在这对于我的问题,已经有人为我提供了部分解决方案,即提供一个命令,拍摄两张照片并将它们均匀放置(水平放置),并在它们之间添加一些文字。
对于那些不想点击链接的人来说,这是它的代码(那里还有图片!):
\documentclass{article}
\usepackage[demo]{graphicx}
\begin{document}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text
\begin{center}
\raisebox{\dimexpr-.5\height+.5\ht\strutbox}%
{\includegraphics[width=1in,height=1in]{black_square}}%
\hspace{.5in}%
and%
\hspace{.5in}%
\raisebox{\dimexpr-.5\height+.5\ht\strutbox}%
{\includegraphics[width=1in,height=1in]{black_square}}
\par\end{center}
Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text
\end{document}
我想要做的是在每张图片下方添加一些文字,例如“图:”,就好像两个图形环境并排放置一样,以便可以引用图形的编号。
答案1
无需任何特殊包,您可以使用 1 figure
float 和 3 minipages
。如果您想模拟两个不同的图形,只需在图像的缩略图中添加两个标题(参见 MWE)。如果您希望将图像编号为子图,请查看和subfig
包subcaption
。
\documentclass[a4paper]{article}
\usepackage{graphicx}
\usepackage[margin=2cm]{geometry}
\usepackage{kantlipsum} % for dummy text
\begin{document}
\kant[1] %dummy text
\begin{figure}[htb]
\begin{minipage}{.25\linewidth}
\includegraphics[width=\linewidth]{example-image-9x16}
\caption{One nice left figure.}
\end{minipage}\hfill%
\begin{minipage}{.35\linewidth}
\kant[2]
\end{minipage}\hfill%
\begin{minipage}{.25\linewidth}
\includegraphics[width=\linewidth]{example-image-9x16}
\caption{Another nice on the right.}
\end{minipage}
\end{figure}
\kant[3] % dummy text
\end{document}
答案2
尝试这个
\documentclass[draft]{article}
\usepackage{graphicx,caption}
\usepackage[latin]{babel}
\def\lorem{\raggedright Fusce adipiscing justo. Nullam in enim.
Pellentesque felis orci. }
\begin{document}
\begingroup
\parindent0pt
\fboxsep1pt\fboxrule0.4pt
\hsize=3cm\footnotesize
\hfil\fbox{\vbox to 5cm{\vfill
\includegraphics[width=\hsize]{./images/amato}
\vfill
}}
\hfil\fbox{\vbox to 5cm{\vfill\lorem\lorem\lorem\par\vfill}}%
\hfil\fbox{\vbox to 5cm{\vfill\includegraphics[width=\hsize]{./images/amato}\vfill}}\hfill
\endgroup
\captionof{figure}{Output to demonstrate the use of vboxes.}
\end{document}
您可以通过测量箱子的高度并在宏中编程所有内容来自动完成此操作。这是一个快速而粗略的解决方案。
\hfil
使用或调整居中\hfill
(参见下面的第二个示例)
\documentclass[draft]{article}
\usepackage{graphicx,caption}
\usepackage[latin]{babel}
\def\lorem{\raggedright Fusce adipiscing justo. Nullam in enim.
Pellentesque felis orci. }
\begin{document}
\begingroup
\parindent0pt
\fboxsep1pt\fboxrule0.4pt
\hsize=3cm\footnotesize
\fbox{\vbox to 5cm{\vfill
\includegraphics[width=\hsize]{./images/amato}
\vfill
}}
\hfill\fbox{\vbox to 5cm{\vfill\lorem\lorem\lorem\par\vfill}}%
\hfill\fbox{\vbox to 5cm{\vfill\includegraphics[width=\hsize]{./images/amato}\vfill}}
\endgroup
\captionof{figure}{Output to demonstrate the use of vboxes.}
\lorem\lorem\lorem\lorem\lorem\lorem
\end{document}
答案3
你只需要一个浮动环境来管理构建。除此之外,你几乎可以使用任何东西来构建内部部件。我用过tabularx
使它tabular
适合文本块宽度:
\documentclass{article}
\usepackage{lipsum,tabularx,capt-of}
\usepackage[export]{adjustbox}
\usepackage[margin=2cm]{geometry}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\lipsum[1]
\begin{figure}[htb]
\begin{tabularx}{\linewidth}{
@{\hspace{0pt}}% Space between left margin and left figure
L% Alignment of left figure
@{\hspace{\tabcolsep}}% Space between left figure and middle text
C% Alignment of middle text
@{\hspace{\tabcolsep}}% Space between middle text and right figure
R% Alignment of middle text
@{\hspace{0pt}}}% Space between right figure and right margin
\includegraphics[width=\linewidth,valign=t]{example-image-9x16}
\captionof{figure}{One nice left figure.}
&
\lipsum[2]
&
\includegraphics[width=\linewidth,valign=t]{example-image-9x16}
\captionof{figure}{Another nice on the right.}
\end{tabularx}
\end{figure}
\lipsum[3]
\end{document}
可以对三个单元格的对齐方式(垂直和/或水平)进行调整。我将它们放在类型为 和 的列中,L
当前为eft ( )、entre ( ) 和ight ( ) 对齐。C
R
L
\raggedright
C
\centering
R
\raggedleft
列之间的空间和边距也可以通过上述设置进行调整(明确标明)。