![Функция выравнивания элементов по горизонтали](https://rvso.com/image/420765/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F%20%D0%B2%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2%20%D0%BF%D0%BE%20%D0%B3%D0%BE%D1%80%D0%B8%D0%B7%D0%BE%D0%BD%D1%82%D0%B0%D0%BB%D0%B8.png)
Я нашел этошаблон резюмена Overleaf, и я хотел бы внести некоторые изменения в то, как позиционируется информация в заголовке. Первоначально заголовок резюме выглядел так:
Исходная makecvheader
функция выглядит так:
\newcommand{\makecvheader}{%
\begingroup
\altacv@left@photos\hfill%
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
\raggedright%
{\namefont\color{name}\MakeUppercase{\@name}\par}
\medskip
{\taglinefont\color{tagline}\@tagline\par}
\medskip
{\personalinfofont\@personalinfo\par}
\end{minipage}\hfill%
\altacv@right@photos\par%
\endgroup\medskip
}
Но я хочу, чтобы вся личная информация, размещенная в строках под слоганом, была сложена справа. Поэтому я подумал, что если я создам второй minipage
внутри группы, этого будет достаточно. Но вот что у меня есть:
И вот какие изменения я внес:
\newcommand{\makecvheader}{%
\begingroup
\altacv@left@photos%
\begin{minipage}{\dimexpr\linewidth-\altacv@photos@width}%
\raggedright%
{\namefont\color{name}\MakeUppercase{\@name}\par}
\medskip
{\taglinefont\color{tagline}\MakeUppercase{\@tagline}}
\medskip
\end{minipage}%
\begin{minipage}{\dimexpr\altacv@photos@width}%
\raggedleft%
{\personalinfofont\@personalinfo\par}
\end{minipage}
\endgroup\medskip
}
И вот как я хотел, чтобы это выглядело:
Так какой же лучший способ этого добиться? Надеюсь, кто-нибудь из вас сможет мне помочь. Спасибо заранее.
решение1
Причина, по которой он обрезается, заключается в том, что ширина первой мини-страницы ( \dimexpr\linewidth-\altacv@photos@width
) охватывает всю ширину строки за вычетом ширины изображения.
Вот быстрое и простое решение.
\newcommand{\makecvheader}{%
\begingroup
\altacv@left@photos%
\begin{minipage}[t]{0.5\linewidth}%
{\namefont\color{name}\MakeUppercase{\@name}\par}
\medskip
{\taglinefont\color{tagline}\@tagline\par}
\end{minipage}\hfill%
\begin{minipage}[t]{3cm}%
\raggedright%
{\personalinfofont\@personalinfo\par}%
\end{minipage}\hfill%
\begin{minipage}[t]{\altacv@photos@width}
\strut\vspace*{-\baselineskip}\newline\altacv@right@photos\par%
\end{minipage}
\endgroup\medskip
}
Вам также не придется изменять файл cls, используя renewcommand
и заключая приведенный выше код между \makeatletter
и \makeatother
.
PS: Быстро, потому что это занимает меньше всего времени. Грязно, потому что вам придется подгонять ширину мини-страницы в соответствии с содержимым, это не лучший способ выравнивания содержимого, и он сломается, если вы решите использовать другие параметры (например, параметр, чтобы поместить изображение слева).