此代码
\documentclass[]{article}
\usepackage{lipsum}
\begin{document}
\raggedright
\lipsum[1-3]
\end{document}
产生三个段落,其右边缘参差不齐,且没有段落缩进。为什么?我怎样才能得到一个参差不齐的右边缘和段落缩进?
另外 - 请随意为该帖子添加标签;我不太清楚什么是最好的。
答案1
\raggedright
LaTeX 内核中的定义是
% latex.ltx, line 3974:
\def\raggedright{%
\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
\leftskip\z@skip
\parindent\z@}
因此,你可以在文件序言中说
\makeatletter
\newcommand\iraggedright{%
\let\\\@centercr\@rightskip\@flushglue \rightskip\@rightskip
\leftskip\z@skip}
\makeatother
删除最后一条指令。现在\iraggedright
就可以做你想做的事了。
另一种方法是使用ragged2e
\documentclass{article}
\usepackage{lipsum}
\usepackage{ragged2e}
\setlength{\RaggedRightParindent}{\parindent}
\begin{document}
\RaggedRight
\lipsum[1-2]
\end{document}
请注意,它\RaggedRight
不像 那样严格,\raggedright
因为它允许连字符,因此输出“不太粗糙”。
答案2
排版时将段落排版为左对齐(又称右对齐)是一种常见的做法没有段落首行的缩进。为了弥补这一点,通常还会插入一些额外的空白之间段落。您可以通过加载包来获得此效果(即段落之间的额外间距)parskip
。
要恢复段落第一行的缩进,可以发出以下命令
\setlength\parindent{2em} % or whatever length you desire
发出命令后\raggedright
。
如果你确实需要以右对齐模式排版整个段落,你应该考虑加载ragged2e包并发出命令\RaggedRight
(注意两个 s 的大写R
),无论是在序言中还是在您想要排版为右侧不齐(左侧对齐)的材料的开头。这样做将(重新)启用连字符,使段落的右侧边缘看起来比使用时更不齐(双关语)\raggedright
。正如包的作者@MartinSchröderragged2e
在评论中指出的那样,包提供了参数\RaggedRightParindent
。您可以将此参数设置为基本\parindent
参数,以重新启用每个段落第一行的缩进。重要的是,您应该设置此长度参数的值前发出命令\RaggedRight
。
\documentclass{article}
\usepackage{lipsum}
\usepackage{ragged2e}
\setlength\RaggedRightParindent{\parindent} % default value of this parameter is `0pt`
\RaggedRight % if invoked in preamble, entire document is set Ragged-Right
\begin{document}
\lipsum[1-3]
\end{document}