顶部对齐 stackengine 堆栈

顶部对齐 stackengine 堆栈

如果我误解了这个问题,标题可能不正确。请随时修复。

Steven Segletes 热情地为我提供了一些乳胶这个答案它创建了一行,内容左对齐、居中对齐和右对齐。效果很好。

但是,我注意到,在某些情况下,当它位于文档顶部时,会出现间隙。这可能是也可能不是 stackengine 所特有的。

我想知道如何消除这个间隙,以便该行的顶部与文档的顶部完全齐平。

此示例与文档顶部不齐平(我启用了 showframe 并禁用了页眉/页脚、marginpar),我希望它是:

\documentclass{article}
\usepackage[
  letterpaper,
  showframe,
  vmargin=0.2in,
  hmargin=0.7in,
  noheadfoot,
  nomarginpar
  ]{geometry}
\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}

在此处输入图片描述

相比之下,此示例中的“测试”与文档顶部齐平:

\documentclass{article}
\usepackage[
  letterpaper,
  showframe,
  vmargin=0.2in,
  hmargin=0.7in,
  noheadfoot,
  nomarginpar
]{geometry}

\begin{document}
Test
\end{document}

在此处输入图片描述

答案1

只需将可选参数\belowbaselinefrom更改[0pt]为文本行的适当负高度,即[-\ht\strutbox]

\documentclass{article}
\usepackage[
  letterpaper,
  showframe,
  vmargin=0.2in,
  hmargin=0.7in,
  noheadfoot,
  nomarginpar
  ]{geometry}
\usepackage[usestackEOL]{stackengine}
\newcommand{\topline}[3]{%
    \noindent%
    \belowbaseline[-\ht\strutbox]{\makebox[0pt][l]{\Longunderstack[l]{#1}}}\hfill%
    \belowbaseline[-\ht\strutbox]{\Longunderstack[c]{#2}}\hfill%
    \belowbaseline[-\ht\strutbox]{\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}

在此处输入图片描述

相关内容