如何右对齐文本块的最后一行?

如何右对齐文本块的最后一行?

我用pandoc它来将 Markdown 文件转换为 LaTeX 文档,然后再转换为 PDF。我的文档包含一些引文。它们来自标准 Markdown,在 LaTeX 文档中呈现为quotation或。quote

Markdown 无法明确标明引文的署名或署名。因此,我无法使用类似包attrib来为署名部分设置不同的样式。

问题:如何右对齐引文的签名?更一般地,如何右对齐块的最后一行?或者,以“--”开头的行可以右对齐吗?(这三个都可以。)

这是一份显示我意图的极简 LaTeX 文档。我想将“-- Walt Disney”部分向右移动。

\documentclass{book}
\setlength{\parindent}{0em} % Added for clarity.
\renewcommand{\quote}{\list{}{\itshape}\item\relax} % Making quote italic.
\begin{document}
\begin{quote}
The way to get started is to quit talking and begin doing.

-- Walt Disney
\end{quote}
\end{document}

不,使用dirtytalkcsquotes或 之类的包epigraph将不起作用。Markdown 中的源代码不会(也不能)区分引用和归属。它们都是一个quote块。

答案1

我觉得你希望Markdown扩展以拥有一种新的引用。你说“Markdown 文档不应该包含样式/渲染命令”,但它确实包含 --- 它允许指定斜体大胆的字型。

关于 LaTeX,这里有一个声明 ( \justlastragged),它将把段落的最后一行设置为右对齐。

% lastraggedprob.tex  SE 641048

\documentclass{article}

\newcommand{\paratext}{Just some text to fill up a couple of lines,
  which might be used for a paragraph or
  some other kind of text block. Let's hope it works out.}

\begin{document}

\newcommand{\justlastragged}{%
  \leftskip =0pt plus 1fil
  \rightskip =-\leftskip
  \parfillskip=\leftskip
% \parindent = 0pt
}
  
\section{First}

Normal paragraph setting

\paratext

\paratext

\section{Second}

Last line of a paragraph being set flush right (ragged left).
\justlastragged

\paratext

\paratext

\paratext \paratext

\end{document}

在此处输入图片描述

\justlastragged声明是我在 2007 年的 TUGboat 中描述的不同样式段落的几种设置之一https://tug.org/TUGboat/tb28-2/tb89glister.pdf

答案2

尝试使用\hfill填充之前的水平空间-- Walt Disney

\documentclass{book}
\setlength{\parindent}{0em} % Added for clarity.
\renewcommand{\quote}{\list{}{\itshape}\item\relax} % Making quote italic.
\begin{document}
\begin{quote}
The way to get started is to quit talking and begin doing.

\hfill -- Walt Disney
\end{quote}
\end{document}

是的,\hfill只要输出 LaTeX 或在后端使用 LaTeX(例如生成 PDF),pandoc 就会进行处理。

> The way to get started is to quit talking and begin doing.
> 
> \hfill -- Walt Disney

pandoc 输出

(图像由 pandoc 生成;如果您希望它像您的 LaTeX 代码一样呈斜体,您当然必须在 markdown 文件或 pandoc 的选项中添加更多内容,但我知道您已经知道如何做到这一点?)

相关内容