Функция выравнивания элементов по горизонтали

Функция выравнивания элементов по горизонтали

Я нашел этошаблон резюмена 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: Быстро, потому что это занимает меньше всего времени. Грязно, потому что вам придется подгонять ширину мини-страницы в соответствии с содержимым, это не лучший способ выравнивания содержимого, и он сломается, если вы решите использовать другие параметры (например, параметр, чтобы поместить изображение слева).

Связанный контент