垂直对齐左中右线至顶部

垂直对齐左中右线至顶部

我发现这个答案它显示了如何使文本左对齐、居中对齐和右对齐。实际上,我想要的是两行,或者每个组件内都有一个换行符。

这很好,只是第一行的中间部分是大文本,这会导致奇怪的垂直对齐,所以我想知道是否可以以及如何将所有内容垂直对齐到顶部,以便所有内容在顶部齐平,在这种情况下,这意味着中心组件比左右组件下降得更远。我主要想了解更多关于乳胶的信息,也想看看它看起来会是什么样子,也许当前的排版看起来最好(我愿意听取意见)。

要清楚的是,我想要这样的东西,其中所有内容都在顶部对齐:

预期的

我意识到\makebox不允许换行,因此我通过创建两个来实现这一点\toplines

\documentclass{article}

\newcommand{\topline}[3]{%
    \noindent%
    \makebox[0pt][l]{#1}%
    \makebox[\textwidth][c]{#2}%
    \makebox[0pt][r]{#3}}

\begin{document}

\topline{123 Main Street}%
    {\LARGE {FIRST MIDDLE LAST}}%
    {\textnormal{(555) 123 -- 4567}}
\topline{Los Angeles, CA}%
    {[email protected]}%
    {somesite.com}

\end{document}

制作盒子

我发现\parbox有垂直对齐参数,并且看到了最佳答案使用它\parbox,所以我尝试使用它,但我误解了一些东西,因为我无法让东西垂直对齐到顶部。结果似乎类似:

\documentclass{article}

\newcommand{\topline}[3]{%
    \parbox[t]{.333\textwidth}{\raggedright#1}%
    \parbox[t]{.333\textwidth}{\centering#2}%
    \parbox[t]{.333\textwidth}{\raggedleft#3}}

\begin{document}

\topline{123 Main Street \\ Los Angeles, CA}%
    {{\LARGE {FIRST MIDDLE LAST}} \\ [email protected]}%
    {\textnormal{(555) 123 -- 4567} \\ somesite.com}

\end{document}

帕尔博

我了解了 ,\raisebox我认为它能让我实现我想要的,但我使用它的方式感觉非常临时。例如,我只是猜测要增加的单位是1ex,我不确定是否一切都完全齐平。在我看来,它是。我很想知道 是否1ex真的是完美/精确的单位,如果是,为什么,或者更确切地说,任何高于某个单位的东西都会在顶部齐平,不会再往前走了。

如果这是最好的方法,那我没意见,但感觉很不规范和武断。

\documentclass{article}

\newcommand{\topline}[3]{%
    \noindent%
    \raisebox{1ex}{\parbox[t]{.333\textwidth}{\raggedright#1}}%
    \parbox[t]{.333\textwidth}{\centering#2}%
    \raisebox{1ex}{\parbox[t]{.333\textwidth}{\raggedleft#3}}}

\begin{document}

\topline{123 Main Street \\ Los Angeles, CA}%
    {{\LARGE {FIRST MIDDLE LAST}} \\ [email protected]}%
    {\textnormal{(555) 123 -- 4567} \\ somesite.com}

\end{document}

饲养箱

我意识到我可能完全做错了,所以任何帮助我都会很感激!也许我应该使用完全不同的命令或环境,或者这种事情根本不可能实现。

我知道fancyhdr并且我打算尝试使用它,但我所做的似乎足够简单,可以避免引入完全独立的包并弄清楚它是如何工作的并确保它与我现有的文档配合良好,但如果它确实是最好的方法,那么我会很乐意研究它。

答案1

如果你想让中间部分位于外部项目之间

\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\newcommand{\topline}[3]{%
    \noindent%
    \belowbaseline[0pt]{\Longunderstack[l]{#1}}\hfill%
    \belowbaseline[0pt]{\Longunderstack[c]{#2}}\hfill%
    \belowbaseline[0pt]{\Longunderstack[r]{#3}}}

\begin{document}

\topline{123 Main Street\\Los Angeles, CA}%
    {\LARGE FIRST MIDDLE LAST\\[email protected]}%
    {(555) 123 -- 4567\\somesite.com}

\end{document}

在此处输入图片描述

如果您希望边距居中居左/居右:

\documentclass{article}
\usepackage[usestackEOL]{stackengine}
\newcommand{\topline}[3]{%
    \noindent%
    \belowbaseline[0pt]{\makebox[0pt][l]{\Longunderstack[l]{#1}}}\hfill%
    \belowbaseline[0pt]{\Longunderstack[c]{#2}}\hfill%
    \belowbaseline[0pt]{\makebox[0pt][r]{\Longunderstack[r]{#3}}}}

\begin{document}

\topline{123 Main Street\\Los Angeles, CA}%
    {\LARGE FIRST MIDDLE LAST\\[email protected]}%
    {(555)123--4567\\somesite.com}

\end{document}

在此处输入图片描述

\normalsize如果您预计第二行以外的内容,那么您可能需要将受影响的更改\Longunderstack\Shortunderstack

相关内容