假设给出了一个项目列表:
Item 1:
Item 2:
Item 3:
Item 4:
我希望将此列表分成两列,每列两侧对齐图像。非常像居中的条形图(如果有办法使用包来实现这一点,那也可以)。
Image Item1 Item3 Image
Image Item2 Item4 Image
我该如何创建两列以使其与列的中心对齐?
答案1
有多种方法可以实现您想要的输出,尽管这可能在很大程度上取决于您的列表的实际样子,以及您希望如何管理(比如说)一长串的项目。
下面我使用以下结构输出tabularx
因此它填充了整个\linewidth
。第 1 列和第 4 列中的图像被v
垂直地align
添加到它们的t
操作中(这要归功于adjustbox
),确保第 2 列和第 3 列中的大内容在视觉上保持一致。
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage[export]{adjustbox}
\usepackage[nopar]{lipsum}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\linewidth}{ @{}
l % Left column image
>{\raggedleft}X % Left column item
>{\raggedright\arraybackslash}X % Right column item
r % Right column image
@{} }
\includegraphics[width=.2\textwidth,valign=t]{example-image-a} &
Item 1 &
Item 3 &
\includegraphics[width=.2\textwidth,valign=t]{example-image-c} \\
\includegraphics[width=.2\textwidth,valign=t]{example-image-b} &
Item 2 &
Item 4 &
\includegraphics[width=.2\textwidth,valign=t]{example-image}
\end{tabularx}
\clearpage
\noindent
\begin{tabularx}{\linewidth}{ @{}
l % Left column image
>{\raggedleft}X % Left column item
>{\raggedright\arraybackslash}X % Right column item
r % Right column image
@{} }
\includegraphics[width=.1\textwidth,valign=t]{example-image-a} &
\lipsum[1] &
\lipsum[3] &
\includegraphics[width=.1\textwidth,valign=t]{example-image-c} \\
\includegraphics[width=.1\textwidth,valign=t]{example-image-b} &
\lipsum[2] &
\lipsum[4] &
\includegraphics[width=.1\textwidth,valign=t]{example-image}
\end{tabularx}
\end{document}
这种类似列表的结构是手动维护的,并且不会跨越页面边界。