使用 LaTeX 将图像与三列布局中的项目符号点对齐

问题描述 投票:0回答:1

我之前在 LaTeX Stack Exchange 上发布了此查询,但不幸的是,我没有收到任何回复。因此,我将我的问题带到这里,希望找到解决我的问题的方法。

我正在使用 LaTeX 创建一个具有三列结构的文档。在我的布局中,第一列用于主题,第二列包含项目符号列表,第三列包含不同大小的图像。此外,我想在每个图像的右下角添加一个链接图标,以表明它是一个可点击的链接。

我的LaTeX代码如下:

\documentclass[11pt,ngerman]{moderncv}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\usepackage[UKenglish]{babel}
\geometry{verbose,tmargin=1cm,bmargin=1cm,lmargin=2.5cm,rmargin=2.5cm}
\setcounter{secnumdepth}{2}
\setcounter{tocdepth}{2}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{graphicx}
\usepackage{fontawesome5}
\usepackage{verbatim}
\newcommand{\cmmnt}[1]{}

\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
\providecommand{\tabularnewline}{\\}
\usepackage[super]{nth}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\moderncvtheme[blue]{classic}
\usepackage{lastpage}
\firstname{firstName}
\familyname{lastName}
\title{topic}

\address{}

\usepackage{graphicx}
\newcommand{\Csharp}{%
    {\settoheight{\dimen0}{C}C\kern-.05em \resizebox{!}{\dimen0}{\raisebox{\depth}{\#}}}}

\makeatother
\usepackage{babel}
\usepackage{xpatch}

%\usepackage[absolute,overlay]{textpos}
\usepackage{textpos}
\usepackage{wrapfig}

\xpatchcmd{\cventry}{.\strut}{\strut}{}{}
\begin{document}
    \maketitle  
\vspace{-0.9cm}


\vspace{-0.3cm}
\section{Section}
\vspace{0.2cm}

\cventry{Topic}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize} 
            \item {\normalfont Point1}
            \item {\normalfont Point2}
            \item {\normalfont Point3}
        \end{itemize}
    \end{minipage}%
    \hspace{-5cm}
    \begin{minipage}[t]{0.3\textwidth}
        \raggedleft 
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.5cm]{example-image-a}}
        }
    \end{minipage}
}{}{}{}{}{}



\cventry{Topic}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize} 
            \item {\normalfont Point1}
            \item {\normalfont Point2}
        \end{itemize}
    \end{minipage}%
    \hspace{-4.855cm}
    \begin{minipage}[t]{0.3\textwidth}
        \raggedleft 
        \raisebox{-0.5\height}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.6cm, width=1.8cm]{example-image-a}}
        }
    \end{minipage}
}{}{}{}{}{}


\cventry{Topic}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize} 
            \item {\normalfont Point1}
            \item {\normalfont Point2}
            \item {\normalfont Point3}
        \end{itemize}
    \end{minipage}%
    \hspace{-3.05cm}
    \begin{minipage}[t]{0.3\textwidth}
        \raggedleft 
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.5cm]{example-image-a}}
        }
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.5cm]{example-image-b}}
        }
    \end{minipage}
}{}{}{}{}{}

\cventry{Topic}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize} 
            \item {\normalfont Point1}
            \item {\normalfont Point2}
        \end{itemize}
    \end{minipage}%
    \hspace{-3.05cm}
    \begin{minipage}[t]{0.3\textwidth}
        \raggedleft 
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.5cm]{example-image-a}}
        }
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.6cm, width=1.8cm]{example-image-b}}
        }
        \raisebox{-0.5\height - 0.3cm}{ 
            \href{https://www.google.com/}{\includegraphics[height=1.5cm]{example-image-c}}
        }
    \end{minipage}
}{}{}{}{}{}

\end{document}

我面临的挑战是将第三列中的图像与第二列中的要点对齐。具体来说,我想实现三件事:

  1. 确保一行中的所有图像相对于项目符号点垂直居中。
  2. 对齐图像,使每行中的第一个图像直接位于前一行中的第一个图像的下方,第二个图像位于第二个图像的下方,依此类推。
  3. 在每个图像的右下角添加一个链接图标,以直观地表示该图像是超链接。

我面临着图像对齐和链接图标添加的挑战。图像未按预期与项目符号点对齐,我不确定如何有效地添加链接图标。

最终,预期的结果应该是这样的:

调整图片之间距离的能力并不是关键因素。另外,在每张图片上显示图标符号并不是特别重要。更重要的是确保图片通过其中心相对于彼此水平和垂直对齐。此外,图片必须在项目符号列表中居中,保持平衡和对称的布局。

我不知道这是否可以用 LaTeX 来实现。我之前就我的疑问向 ChatGPT 4 寻求帮助,但不幸的是,我没有收到合适的解决方案。因此,我将非常感谢有关如何完成这些对齐以及添加链接图标的任何指导或建议。我们将非常感谢您的帮助!

致以最诚挚的问候,
丹尼尔

image latex
1个回答
0
投票

经过彻底调查,我开发了文档中图像布局和定位的解决方案。

该解决方案的关键方面是:

  1. 水平居中:所有图片将相对于其中心点水平居中。每张图像的中心与要点列表几乎完美对齐。

  2. 垂直对齐:位于彼此下方的图片也将居中。每幅图像的中间点直接在彼此下方对齐,形成一条视觉上连贯的垂直线。

  3. 可调间距:图片之间的距离可以单独调整。这种灵活性可以精确控制间距,从而实现量身定制且美观的布局。

这是乳胶代码:

\section{Section}

\newlength{\tabularcolumnwidth}
\setlength{\tabularcolumnwidth}{7cm}

\newlength{\minipagewidth}
\setlength{\minipagewidth}{2cm}

\newlength{\midoffset}
\setlength{\midoffset}{-0.25cm}


\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic1}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize}
            \item {\normalfont Point1}
            \item {\normalfont Point2}
        \end{itemize}
    \end{minipage}
}{}{}{}
&
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1.5cm, width=1.5cm]{example-image-a}}}
    \end{minipage}
\end{tabular}

\vspace{1.5cm}

\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic2}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize}
            \item {\normalfont Point1}
            \item {\normalfont Point2}
            \item {\normalfont Point3}
        \end{itemize}
    \end{minipage}
}{}{}{}
&
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1cm, width=2cm]{example-image-a}}}
    \end{minipage} 
& 
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=2cm, width=1cm]{example-image-b}}}
    \end{minipage}
\end{tabular}

\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic3}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize}
            \item {\normalfont Point1}
            \item {\normalfont Point2}
            \item {\normalfont Point3}
            \item {\normalfont Point4}
            \item {\normalfont Point5}
        \end{itemize}
    \end{minipage}
}{}{}{}
&
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1.5cm, width=1.3cm]{example-image-a}}}
    \end{minipage} 
& 
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1cm, width=2cm]{example-image-b}}}
    \end{minipage}
& 
    \hspace{1cm}
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=3cm, width=1.8cm]{example-image-c}}}
    \end{minipage}
\end{tabular}

\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic4}{
    \begin{minipage}[t]{0.6\textwidth}
        \begin{itemize}
            \item {\normalfont Point1}
            \item {\normalfont Point2}
            \item {\normalfont Point3}
        \end{itemize}
    \end{minipage}
}{}{}{}
&
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1.8cm, width=1.8cm]{example-image-a}}}
    \end{minipage} 
& 
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \hspace{2cm}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1.8cm, width=1.8cm]{example-image-b}}}
    \end{minipage}
& 
    \hspace{1cm}
    \begin{minipage}{\minipagewidth}
        \centering
        \vspace{\midoffset}
        \raisebox{-.5\height}{\href{https://www.google.com/}{\includegraphics[height=1.8cm, width=1.8cm]{example-image-c}}}
    \end{minipage}
\end{tabular}

当然,这段代码可以改进,但这是一个坚实的开始。

© www.soinside.com 2019 - 2024. All rights reserved.