我想在文档中插入一个引文,使其右对齐、斜体,并在右边距留出一些额外的缩进,这是我目前所做的:
\documentclass{book}
\usepackage{lipsum}
\begin{document}
\hfill\textit{This is a very boring,}
\hfill\textit{text without any substance} {\vspace{0.5em}}
\hfill\textit{A future book}
\hfill\textit{Ann Onymous}
\lipsum[5]
\end{document}
它看起来是这样的(注意——与右边距齐平):
但我希望它看起来像这样(注意——右边距插入):
答案1
首先,您应该为此定义一个环境(或命令),这样您就可以通过对定义进行一次更改来更改所有题词中的格式。
您的目标可以通过以下方式实现tabular
:指定右对齐,左侧无填充,右侧有 2em 填充,因此参数tabular
应为
@{} r @{\hspace{2em}}
这是定义。
\newenvironment{myepigraph}
{\par\hfill\itshape
\begin{tabular}{@{}r@{\hspace{2em}}}} % 2em from the right margin
{\end{tabular}\par\medskip}
然后你的题词可以排版
\begin{myepigraph}
This is a very boring,\\
text without any substance\\[1.5ex]
A future book\\
Ann Onymous
\end{myepigraph}
然而,你应该看看epigraph
具有此类功能的包。
答案2
除了使用tabular
环境之外,您还可以使用例如epigraph
包裹或我的quoting
包裹:
该
\epigraph
命令为当前的情况提供了更清晰的语法(在第一个参数中指定引用的文本,在第二个参数中指定来源),但似乎没有简单的方法可以为右对齐的引号添加缩进。环境
quoting
通常用于运行文本中的引号(因此您必须手动分离引号文本和源[编辑:或定义一个myquote
以源作为附加参数的环境]),但它允许指定额外的缩进。
\documentclass{book}
\usepackage{epigraph}
\setlength{\epigraphwidth}{0.35\linewidth}
\setlength{\epigraphrule}{0pt}
\renewcommand*{\textflush}{flushright}
\renewcommand*{\epigraphsize}{\normalsize\itshape}
\usepackage{quoting}
\newcommand*{\myquotingsource}{}
\newenvironment{myquoting}[1]{%
\renewcommand*{\myquotingsource}{#1}
\begin{quoting}[font={itshape,raggedleft},leftmargin=0.5\linewidth,rightmargin=2em]%
}{%
\par\medskip
\myquotingsource
\end{quoting}%
}
\usepackage{lipsum}
\begin{document}
\epigraph{This is a very boring text without any substance.}{A future book\\Ann Onymous}
\lipsum[5]
\begin{myquoting}{A future book\\Ann Onymous}
This is a very boring text without any substance.
\end{myquoting}
\lipsum[5]
\end{document}