Центрировать текст непосредственно под заголовком, выровненным по правому краю.

Центрировать текст непосредственно под заголовком, выровненным по правому краю.

Как с помощью LaTeX центрировать текст прямо под заголовком, выровненным по правому краю? Может быть, лучше объяснить с помощью моей попытки на данный момент:

\documentclass{article}
\usepackage[ hmargin = 1in, vmargin = 1in ]{geometry}
\setlength{\parindent}{0pt}
\usepackage{showframe}
\begin{document}

\begin{minipage}{.6\linewidth}\huge Some Heading\end{minipage}
\hfill
\begin{minipage}{.33\linewidth}
    \raggedleft {\huge Another Heading} \\
    \centering  \today
\end{minipage}

\end{document}

Проблема в том, что для этого minipageтребуется аргумент ширины, поэтому единственный способ сделать вторую строку идеально центрированной — это угадать (заранее) точную ширину заголовка после его отображения. Есть ли способ получше?

решение1

\documentclass{article}
\usepackage[ hmargin = 1in, vmargin = 1in ]{geometry}
\setlength{\parindent}{0pt}
\usepackage{showframe}
\begin{document}

\begin{minipage}[t]{.6\linewidth}\huge Some Heading\end{minipage}
\hfill
\begin{tabular}[t]{@{}c@{}}
\huge Another Heading \\
\today
\end{tabular}

\end{document}

решение2

Решение Дэвида tabularработает отлично, но я часто прибегаю к использованию \makeboxдля создания поля нужной ширины и выравнивания текста внутри этого "поля". Ниже я показываю, как cвводить, rвыпрямлять и lвыпрямлять текст внутри поля, ширина которого равна \widthof{\huge Another Heading}:

введите описание изображения здесь

Примечания:

Код:

\documentclass{article}
\usepackage[ hmargin = 1in, vmargin = 1in ]{geometry}
\setlength{\parindent}{0pt}
\usepackage{showframe}
\usepackage{calc}

\begin{document}

\begin{minipage}{.3\linewidth}\huge Some Heading\end{minipage}
\hfill
\begin{minipage}{.4\linewidth}
    \raggedleft {\huge Another Heading} \\
    \makebox[\widthof{\huge Another Heading}][c]{\today} \\
    \makebox[\widthof{\huge Another Heading}][r]{\today} \\
    \makebox[\widthof{\huge Another Heading}][l]{\today}
\end{minipage}

\end{document}

решение3

Складывайте это.

\documentclass{article}
\usepackage[ hmargin = 1in, vmargin = 1in ]{geometry}
\setlength{\parindent}{0pt}
\usepackage{showframe}
\usepackage{stackengine}
\begin{document}
{\huge Some Heading}
\hfill
\stackunder[2pt]{\huge Another Heading}{\today}
\end{document}

введите описание изображения здесь

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