迷你页面环境,除​​最后一行外,其余内容都是左右对齐的

迷你页面环境,除​​最后一行外,其余内容都是左右对齐的

考虑一下代码

\documentclass{book}

\begin{document}
\thispagestyle{empty}
\Large

\begin{center}
\begin{minipage}{5.75in}\leftskip\fill\rightskip-\leftskip\parfillskip\stretch{2}% 
\textbf{``The Bitterness of Poor Quality Remains Long After the Sweetness of Low Price is Forgotten.'' \emph{---Benjamin Franklin}}
\end{minipage}

\vspace{25pt}

\begin{minipage}{5.75in}\leftskip\fill\rightskip-\leftskip\parfillskip\stretch{2}% 
\textbf{``The Bitterness of Poor Quality Remains Long After the Sweetness of Low Price is Forgotten.'' \\[3pt] \hfill \emph{---Benjamin Franklin}}
\end{minipage}
\end{center}
\end{document}

产生输出

在此处输入图片描述

使用这一系列命令\leftskip\fill\rightskip-\leftskip\parfillskip\stretch{2}%可以使小页面内容左右对齐,但最后一行保持居中---如第一个小页面输出中显示的那样。

我希望小页面中的所有行都发生这种情况,除了最后一行,其中包含一个人的名字---我希望这能发生。

我尝试使用\\[3pt]后跟\hfill,但正如您在第二个 minipage 输出中看到的那样,这不仅没有产生目标,而且还失去了紧接着之前的行的居中。

评论:使用\vspace{3pt}\vspace*{3pt}都会产生相同的不良结果。但是,使用弃用的\vskip 3pt至少会使倒数第二行居中,而不是使其左对齐 --- 虽然它不会强制将 ---Benjamin Franklin 移到右侧。

这可能并不重要,但是我用编译了 MWE 代码lualatex,但我希望也能够使用用编译的代码来做这样的事情pdflatex

问题:如何修改上述代码,以便我可以显示由 生成的主要内容,\leftskip\fill\rightskip-\leftskip\parfillskip\stretch{2}%但最后一行,即“---PERSON'S NAME”显示在最右边?

谢谢。

答案1

您需要两个段落,最后一行居中,另一行左侧不齐:

在此处输入图片描述

\documentclass{book}

\begin{document}
\thispagestyle{empty}
\Large

\begin{center}
\begin{minipage}{5.75in}
\bfseries

\leftskip\fill\rightskip-\leftskip\parfillskip\stretch{2}% 
``The Bitterness of Poor Quality Remains Long After the Sweetness of
Low Price is Forgotten.''

\raggedleft
 \emph{---Benjamin Franklin}
\end{minipage}

\end{center}
\end{document}

答案2

首先,您要避免必须明确输入所有这些命令;将来您可能不再喜欢这种渲染方式,并且……

简单的想法是将作者姓名排版在单独的段落中,右侧对齐。

\NewDocumentCommand{\nicequote}{sO{5.75in}O{c}+mm}{%
  \IfBooleanF{#1}{\begin{center}}%
  \begin{minipage}{#2}[#3]
  \bfseries
  #4\par
  \raggedright---\mbox{\itshape #5}
  \end{minipage}
  \IfBooleanF{#1}{\end{center}}%
}

这样,\nicequote*就可以避免center并允许您将两个引号放在一起。

例子。

\documentclass{article}
\usepackage{geometry}

\NewDocumentCommand{\nicequote}{sO{5.75in}O{c}+mm}{%
  \IfBooleanF{#1}{\begin{center}}%
  \begin{minipage}[#3]{#2}
  \bfseries
  #4\par
  \raggedleft\mbox{---\itshape #5}
  \end{minipage}
  \IfBooleanF{#1}{\end{center}}%
}

\begin{document}

\nicequote{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}

\nicequote[4in]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}

\begin{center}
\nicequote*[3in]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}\qquad
\nicequote*[2in]{
  ``The buck stops here''
}{Harry S Truman}
\end{center}

\begin{center}
\nicequote*[3in][t]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}\qquad
\nicequote*[2in][t]{
  ``The buck stops here''
}{Harry S Truman}
\end{center}

\end{document}

在此处输入图片描述

利用“布尔巴基技巧”可能有所改进

\documentclass{article}
\usepackage{geometry}

\NewDocumentCommand{\nicequote}{sO{5.75in}O{c}+mm}{%
  \IfBooleanF{#1}{\begin{center}}%
  \begin{minipage}[#3]{#2}
  \bfseries
  #4%
  {\unskip\nobreak\hfil\penalty50
  \qquad\mbox{}\nobreak\hfil\mbox{---\itshape #5}%
  \setlength{\parfillskip}{0pt}\finalhyphendemerits=0 \par}
  \end{minipage}
  \IfBooleanF{#1}{\end{center}}%
}

\begin{document}

\nicequote{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}

\nicequote[4in]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}

\begin{center}
\nicequote*[3in]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}\qquad
\nicequote*[2in]{
  ``The buck stops here''
}{Harry S Truman}
\end{center}

\begin{center}
\nicequote*[3in][t]{
  ``The Bitterness of Poor Quality Remains Long After 
  the Sweetness of Low Price is Forgotten.''
}{Benjamin Franklin}\qquad
\nicequote*[2in][t]{
  ``The buck stops here''
}{Harry S Truman}
\end{center}

\end{document}

在此处输入图片描述

相关内容