请帮我弄清楚如何使用它:
我有以下代码:
\epigraph{«Теперь нам ясно, что вся структура теории чисел держится на одном
основании, а именно, на алгоритме для нахождения наибольшего общего делителя двух
чисел. Все последующие теоремы — это только элементарные заключения из этого
изначального открытия...» }{\itshape — Лежён Дирихле, Лекции по теории чисел.}
这是我更改的所有与题词相关的属性。
\renewcommand{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{.6\textwidth}
\renewcommand{\textflush}{flushepinormal}
这是我想要看到的(请在新窗口中打开并右键单击以查看完整内容):
事实上,我希望有两件事:
在题词上添加一些缩进
删除默认规则和“垂直空间”
我找到了删除默认行的方法,但空格仍然存在。我认为也有很多方法可以删除空行(即在\vskip -10pt
作者行前添加),但我正在寻找最优雅的方法,只是为了记住它,以便将来与其他模块一起使用。
答案1
在 中\epigraph{<text>}{<source>}
,<text>
设置在 中,并且 和之间minipage
有固定的间隙,最简单的方法是复制中包含的排版 的代码,并根据您的要求进行修改。使用1ex
<text>
<source>
<text>
\@epitext
etoolbox
修补它也是可能的:
\documentclass{article}
\usepackage{epigraph}% http://ctan.org/pkg/epigraph
\renewcommand{\epigraphrule}{0pt}
\setlength{\epigraphwidth}{.6\textwidth}
\renewcommand{\textflush}{flushepinormal}
\makeatletter
% Taken and updated from http://mirrors.ctan.org/macros/latex/contrib/epigraph/epigraph.dtx
\renewcommand{\@epitext}[1]{%
\begin{minipage}{\epigraphwidth}\begin{\textflush} \hspace*{20pt}#1\\
\ifdim\epigraphrule>\z@ \@epirule \else \vspace*{-.5\baselineskip} \fi
\end{\textflush}\end{minipage}}
\makeatother
\begin{document}
\epigraph{%
\indent Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis sodales venenatis dapibus. Maecenas malesuada luctus
felis quis suscipit. Vestibulum tristique ipsum id nulla
pharetra feugiat. Etiam nec rhoncus ipsum. Mauris suscipit
egestas mauris, nec malesuada eros bibendum feugiat.}
{Lorem Ipsum}
\end{document}
默认段落缩进为20pt
,但在 内时会被删除minipage
。因此,使用\hspace*{20pt}
有助于获得预期的。此外,我已将 (默认设置为)\parindent
更新为其他内容。再次将其更改为您所需的喜好。\vspace
1ex