我想拥有
- 标题左对齐
- 作者向右对齐
- 日期向右对齐
我如何在同一线路或共享线路上执行此操作?我希望实现以下目标:
这是我使用 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
关键是使用盒子,在本例中是\parbox
es(允许在右侧根据需要换行)并将它们放在最左侧和最右侧之间\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 文件)的一些资源:
- 制作自己的 .sty 文件(很好的包装模板!)
- 风格/课程教程
- 如何创建 LaTeX 包?