Я работаю с 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
После тщательного исследования я разработал решение по компоновке и расположению изображений в документе.
Ключевые аспекты этого решения:
Горизонтальное центрирование: Все изображения будут горизонтально центрированы относительно их центральной точки. Центр каждого изображения почти идеально совпадает с перечнем пунктов списка.
Вертикальное выравнивание: Изображения, которые расположены друг под другом, также будут центрированы. Средние точки каждого изображения выравниваются прямо друг под другом, создавая визуально связную вертикальную линию.
Регулируемый интервал: расстояние между картинками можно регулировать индивидуально. Эта гибкость позволяет точно контролировать интервал, что позволяет создать индивидуальный и эстетически приятный макет.
Это код латекса:
\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.5\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.5\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.5\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.5\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}
Чтобы вставить значок ссылки в правый нижний угол изображения в таблице, используйте следующие фрагменты кода.
\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic1}{
\begin{minipage}[t]{0.5\textwidth}
\begin{itemize}
\item {\normalfont Point1}
\item {\normalfont Point2}
\end{itemize}
\end{minipage}
}{}{}{}
&
\begin{minipage}{\minipagewidth}
\centering
\vspace{\midoffset}
\href{https://www.google.com/}{
\begin{overpic}[width=1.5cm, height=1.5cm]{example-image-a}
\put(1.5cm-0.5cm,0.0cm){\href{https://www.google.com/}{\includegraphics[height=0.5cm, width=0.5cm]{icon_symbol.png}}}
\end{overpic}
}
\end{minipage}
\end{tabular}
Конечно, этот код можно улучшить, но это хорошее начало.
Вот полный код:
\documentclass[11pt,ngerman]{moderncv}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[T1]{fontenc}
\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{tikz}
\usepackage[percent]{overpic}
\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
\section{Section}
\vspace{0.2cm}
\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.5\textwidth}
\begin{itemize}
\item {\normalfont Point1}
\item {\normalfont Point2}
\end{itemize}
\end{minipage}
}{}{}{}
&
\begin{minipage}{\minipagewidth}
\centering
\vspace{\midoffset}
\href{https://www.google.com/}{
\begin{overpic}[width=1.5cm, height=1.5cm]{example-image-a}
\put(1.5cm-0.5cm,0.0cm){\href{https://www.google.com/}{\includegraphics[height=0.5cm, width=0.5cm]{example-image}}}% icon_symbol.png replaced to make the example work everywhere
\end{overpic}
}
\end{minipage}
\end{tabular}
\begin{tabular}{p{\tabularcolumnwidth}ccc}
\cventry{Topic2}{
\begin{minipage}[t]{0.5\textwidth}
\begin{itemize}
\item {\normalfont Point1}
\item {\normalfont Point2}
\item {\normalfont Point3}
\end{itemize}
\end{minipage}
}{}{}{}
&
\begin{minipage}{\minipagewidth}
\centering
\vspace{\midoffset}
\begin{overpic}[height=1cm, width=2cm]{example-image-a}
\put(2cm-0.5cm,0.0cm){\href{https://www.google.com/}{\includegraphics[height=0.5cm, width=0.5cm]{example-image}}}% icon_symbol.png replaced to make the example work everywhere
\end{overpic}
\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.5\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.5\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}
\end{document}