将文本左右定位在同一行上

将文本左右定位在同一行上

我在定位文本时遇到了困难。特别是当我需要将元素“浮动”到不同侧时。目前,我试图显示一个带有“子标题”的标题,该“子标题”应位于标题的右侧。正好在右侧;不在标题下方,也不在标题上方。类似这样:

MAIN TITLE                                 SUB TITLE

And here goes all the text, over the full page width. 
The sub title should be exactly where the content box
ends, no matter what the size of the main title, nor 
what the size of the sub title. 

ANOTHER LONGER MAIN TITLE            ANOTHER SUBTITLE

This is another set of titles that shows just exactly
that the text subtitle should jump to the right of the
page, no matter the size.

我尝试了很多方法,但都无法解决这个问题。我最接近的解决办法是这样的:

\documentclass[11pt]{article}

\usepackage{parskip}
\usepackage{blindtext}

\begin{document}

\newcommand{\subtitle}[1]{\fbox{\vbox to 0pt{\hbox to 12.8cm{\hfill {#1}}}}}
\newcommand{\maintitle}[1]{\noindent\emph{#1 \vspace{0.01in}}}

\fboxsep0pt

\subtitle{Subtitle}
\maintitle{Title}

\blindtext

\subtitle{And a longer subtitle}
\maintitle{A longer title}

\blindtext

\end{document}

它看起来是这样的:

在此处输入图片描述

我的问题如下:

  • 为了防止框的位置受到标题的影响,我实际上需要将其放在标题之前(因此副标题在标题之前)。这在语义上感觉不对。
  • 无论我怎么做,都无法让它们在同一行对齐。无论我先放什么,都会将其他文本向下推,尽管只是一点点。
  • 如果我只想让这个框浮动到右侧,那么创建一个\hfillin an \hboxin an \vboxin an看起来太复杂了。这应该更容易,不是吗……?\fbox

解决这个问题的正确方法是什么?

答案1

要复制 ASCII 艺术并在其周围添加一个框,请执行以下操作:

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage{parskip}% http://ctan.org/pkg/parskip
\usepackage{blindtext}% http://ctan.org/pkg/blindtext
\begin{document}
\newcommand{\mytitles}[2]{% \mytitles{<main>}{<sub>}
  \noindent\framebox[\textwidth]{\uppercase{#1}\hfill\uppercase{#2}}%
}

\mytitles{Title}{Subtitle}

\blindtext

\mytitles{A longer title}{And a longer subtitle}

\blindtext

\end{document}

上面的 MWE 提供了\mytitles{<main>}{<sub>}设置<main><sub>标题的功能。它创建了一个大小为的框,但纠正了用于包围标题的\textwidth双倍\fboxsep和(使用而不是)。由于框具有特定的宽度,因此“知道”要拉伸多远,将标题推到与(框)边距齐平的位置。\fboxrule\framebox\makebox\hfill

我已经引入了\uppercase,但这不是必需的。当然,您也可以更改字体形状,如在 MWE 中一样:

\newcommand{\mytitles}[2]{% \mytitles{<main>}{<sub>}
  \noindent\makebox[\textwidth]{\textit{#1}\hfill#2}%
}

还可以添加更多标题宽度的自动检查(以避免重叠或鼓励换行)。

相关内容