如何在同一行获取标题、作者和日期?

如何在同一行获取标题、作者和日期?

我想拥有

  • 标题左对齐
  • 作者向右对齐
  • 日期向右对齐

我如何在同一线路或共享线路上执行此操作?我希望实现以下目标:

标题 作者 日期 共享行

这是我使用 xelatex 得到的结果:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{titlesec, blindtext, color}
\definecolor{gray75}{gray}{0.75}
\newcommand{\hsp}{\hspace{20pt}}
\titleformat{\section}[hang]{\Huge\bfseries}{Woche\hspace{.3cm}\thesection\hsp\textcolor{gray75}{|}\hsp}{0pt}{\Huge\bfseries}

\usepackage{titling}
\pretitle{\begin{minipage}{0.4\textwidth}\begin{flushleft}\Huge}
\posttitle{\end{flushleft}\end{minipage}\hfill}
\predate{\hfill\begin{minipage}[t]{0.4\textwidth}\begin{flushright}\large}
\postdate{\end{flushright}\end{minipage}}

\title{Class Plan}

\begin{document}
\maketitle
\section{Less is More}
\blindtext
\end{document}

有一个问题。我需要这个在我的 .emacs 文件中工作。我希望 MACRO #+Title 和 #+Author 能够工作无需在我的 org-mode 文件中添加额外代码

答案1

关键是使用盒子,在本例中是\parboxes(允许在右侧根据需要换行)并将它们放在最左侧和最右侧之间\hfill

除此之外,如果不是绝对必要的话,我不会尝试修复\maketitle,而是从头开始创建标题。要访问\author和的值\title,我们可以使用titling包。

章节标题也可以通过快速修复来完成。

这是一个基本版本和一个更接近您的图像的版本:

\documentclass{article}

\usepackage{titling}
    \author{Author}
    \title{Class Plan}
    \date{\today}

\usepackage{xcolor}
    \definecolor{titlebg}{RGB}{186,48,39}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{blindtext}

\renewcommand{\thesection}{Week \arabic{section}\hspace{1em}|}

\begin{document}

Basic version: \bigskip

\noindent\parbox{\linewidth}{%
\parbox{.4\linewidth}{\fontsize{24}{28}\selectfont\thetitle}\hfill%
\parbox{.4\linewidth}{\fontsize{12}{14}\selectfont\raggedleft\today\\\theauthor%
}}

\bigskip Fancier version: \bigskip

\noindent\colorbox{titlebg}{%
\parbox{\dimexpr\linewidth-2\fboxsep}{\color{white}%
\parbox{.4\linewidth}{\fontsize{24}{28}\selectfont\sffamily\bfseries\thetitle}\hfill%
\parbox{.4\linewidth}{\fontsize{12}{14}\selectfont\raggedleft\thedate\\\theauthor%
}}}

\section{Less is More}
\blindtext
\end{document}

输出


编辑:

正如 egreg 所说,只需重新定义\maketitle整体并将其放入 .sty 文件中:

\renewcommand*{\maketitle}{\noindent\colorbox{titlebg}{%
\parbox{\dimexpr\linewidth-2\fboxsep}{\color{white}%
\parbox{.4\linewidth}{\fontsize{24}{28}\selectfont\sffamily\bfseries\thetitle}\hfill%
\parbox{.4\linewidth}{\fontsize{12}{14}\selectfont\raggedleft\today\\\theauthor%
}}}}

我对 emacs 一点都不熟悉,所以如果软件包解决方案不是您想要的,我帮不了您。在这种情况下,我可能会建议您单独问一个问题,说明您要做什么,因为它似乎与标题的样式无关(遵循我们的每个问题一个问题的指导方针)。

关于编写包(= .sty 文件)的一些资源:

相关内容