将缩放后的图像与列居中的文本对齐

将缩放后的图像与列居中的文本对齐

假设给出了一个项目列表:

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}

这种类似列表的结构是手动维护的,并且不会跨越页面边界。

相关内容