![如何右对齐文本块的最后一行?](https://linux22.com/image/448760/%E5%A6%82%E4%BD%95%E5%8F%B3%E5%AF%B9%E9%BD%90%E6%96%87%E6%9C%AC%E5%9D%97%E7%9A%84%E6%9C%80%E5%90%8E%E4%B8%80%E8%A1%8C%EF%BC%9F.png)
我用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}
不,使用dirtytalk
、csquotes
或 之类的包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 生成;如果您希望它像您的 LaTeX 代码一样呈斜体,您当然必须在 markdown 文件或 pandoc 的选项中添加更多内容,但我知道您已经知道如何做到这一点?)