\raggedright 删除段落缩进

\raggedright 删除段落缩进

此代码

\documentclass[]{article}
\usepackage{lipsum}

\begin{document}

    \raggedright

    \lipsum[1-3]

\end{document}

产生三个段落,其右边缘参差不齐,且没有段落缩进。为什么?我怎样才能得到一个参差不齐的右边缘段落缩进?

另外 - 请随意为该帖子添加标签;我不太清楚什么是最好的。

答案1

\raggedrightLaTeX 内核中的定义是

% 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}

相关内容