背景是,我不想手动选择换行符,而是目测文本的长度,并可能指定文本应占用的行数或水平宽度。我对各种对齐类型感兴趣(左对齐、居中对齐、可能为右对齐)。
我意识到这是一个有点复杂的问题,因为我真的不确定在不同的换行方式下什么看起来最好。以左对齐和以下句子为例:敏捷的棕色狐狸跳过了懒狗。以下是几种可能性:
1:
敏捷的棕色狐狸
跳过了
懒狗。
2:
敏捷的
棕色狐狸跳过了
懒狗。
3:
敏捷的
棕色狐狸
跳过了懒狗。
4:
敏捷的
棕色狐狸跳过
了懒狗。
对于左对齐,我个人认为“河内塔”堆叠看起来最好(例如#4),但我不确定它对于中心对齐是否有意义。
其他考虑因素可能是文本中的标点符号。
这个问题的一个可接受的答案很可能是:这是一个坏主意或非常困难。或者,我可以看到它是用外部脚本语言完成的(我还没有真正接触过)。我真的很好奇是否有现成的方法可以做到这一点,因为目前对我来说这不是必需的。
以下是处理作者地址和标题的更精确的示例:
\documentclass[letterpaper]{article}
\usepackage[affil-it]{authblk}
\usepackage[english]{babel}
\usepackage{blindtext}
\title{An efficient method for exploiting midichlorians in weak life-forms}
\author[1,2]{Darth Vader}%
\author[2,3]{Darth Sidious%
\thanks{Electronic address: \texttt{[email protected]}; Corresponding author}}
\affil[1]{Office of the Supreme Commander of the Imperial Foces, The Galactic Empire, The Bridge, Executor}
\affil[2]{Order of the Sith Lords, LiMerge Power Building, The Works, Coruscant}
\affil[3]{Office of the Emperor of the Galaxy, The Galactic Empire, 1000 Imperial Palace, 2 Main St. Coruscant}
\date{\today}
\begin{document}
\maketitle
I ran out of creative energy here ... \blindtext
\end{document}
结果如下:
标题本身有点不平衡,第二作者单位在第二行只有一个词。
答案1
您的问题不太清楚,而且缺少示例文档,但此示例显示了 ragged2e 包中的四种不同文本设置:标准对齐、不对齐、右对齐和右对齐。由于文本太短,无法很好地显示差异,因此我使用较长的段落重复设置,并重复文本。它仍然无法真正显示差异,主要差异是允许的连字符数量,但这些是短的不可连字符的单词。
除非你正在设置诗歌,其中换行的选择是作品构成的一部分,并且你想手动控制这一点,否则在使用 TeX 时手动换行文本应该很少见。因此,你的问题的开头行看起来很奇怪,没有额外的上下文来解释为什么需要手动换行。
\documentclass{article}
\newcommand\qbf{The quick brown fox jumps over the lazy dog. }
\newcommand\qbff{\qbf\qbf\qbf\qbf}
\usepackage{ragged2e}
\begin{document}
\begin{minipage}[t]{3cm}\qbf\end{minipage}
\quad
\begin{minipage}[t]{3cm}\sloppy\qbf\end{minipage}
\bigskip
\begin{minipage}[t]{3cm}\raggedright\qbf\end{minipage}
\quad
\begin{minipage}[t]{3cm}\RaggedRight\qbf\end{minipage}
\bigskip\hrule\bigskip
\begin{minipage}[t]{3cm}\qbff\end{minipage}
\quad
\begin{minipage}[t]{3cm}\sloppy\qbff\end{minipage}
\bigskip
\begin{minipage}[t]{3cm}\raggedright\qbff\end{minipage}
\quad
\begin{minipage}[t]{3cm}\RaggedRight\qbff\end{minipage}
\end{document}
\documentclass{article}
\newcommand\qbf{The quick brown fox jumps over the lazy dog. }
\newcommand\qbff{\qbf\qbf\qbf\qbf}
\usepackage{ragged2e}
\begin{document}
\begin{minipage}[t]{3cm}\qbf\end{minipage}
\quad
\begin{minipage}[t]{3cm}\sloppy\qbf\end{minipage}
\bigskip
\begin{minipage}[t]{3cm}\raggedright\qbf\end{minipage}
\quad
\begin{minipage}[t]{3cm}\RaggedRight\qbf\end{minipage}
\bigskip\hrule\bigskip
\begin{minipage}[t]{3cm}\qbff\end{minipage}
\quad
\begin{minipage}[t]{3cm}\sloppy\qbff\end{minipage}
\bigskip
\begin{minipage}[t]{3cm}\raggedright\qbff\end{minipage}
\quad
\begin{minipage}[t]{3cm}\RaggedRight\qbff\end{minipage}
\end{document}
使用现在提供的 MWE,您可以根据设置段落参数的方式获得各种效果。您使用的(非常旧:-)包没有提供该接口,但基本上它只是将 article 包使用的 tabular 重新定义\maketitle
为center
,因此通过重新定义,center
您可以使各种文本移动,例如:
\documentclass[letterpaper]{article}
\usepackage[affil-it]{authblk}
\usepackage{ragged2e}
\makeatletter
\def\maketitle
{{\@flushglue=.25\textwidth minus.25\textwidth\z@skip
\hyphenpenalty\@M
\let\old@date\@date
\def\@date{\mbox{}\hskip\@flushglue\old@date\hskip\@flushglue\mbox{}\par}%hmm
\renewenvironment{tabular}[2][]{\par}
{\par}%
\AB@maketitle}}
\makeatother
\usepackage[english]{babel}
\usepackage{blindtext}
\title{An efficient method for exploiting midichlorians in weak life-forms}
\author[1,2]{Darth Vader}%
\author[2,3]{Darth Sidious%
\thanks{Electronic address: \texttt{[email protected]}; Corresponding author}}
\affil[1]{Office of the Supreme Commander of the Imperial Foces, The Galactic Empire, The Bridge, Executor}
\affil[2]{Order of the Sith Lords, LiMerge Power Building, The Works, Coruscant}
\affil[3]{Office of the Emperor of the Galaxy, The Galactic Empire, 1000 Imperial Palace, 2 Main St. Coruscant}
\date{\today}
\begin{document}
\maketitle
\noindent X\dotfill X
I ran out of creative energy here ... \blindtext
\end{document}
话虽如此,地址就像我最初对诗歌的评论一样,确实是一个特殊情况,其中有许多关于换行的社会惯例。您最终必须在地址中手动指定换行符,这并非不可能。