原  文:Text alignment
译  者:Xovee
翻译时间:2021年11月25日

介绍

在默认设置的情况下,在 LaTeX 文档中的大部分文字都会全部对齐。但是有些时候,我们想让文字左对齐(或者对于从右到左的文字进行右对齐),例如在行比较短的情况下。本文介绍如何更改文字的对齐方式。

标准的 LaTeX 命令和环境

LaTeX 内置了改变文字对齐方式的命令:

  • ragged-right (\raggedright)
  • ragged-left (\raggedleft)
  • centred (\centering)

以及对应的环境:

  • ragged-right (flushleft环境)
  • ragged-left (flushright环境)
  • centred (centering环境)

你还可以使用ragged2e包,它提供了更强大的对齐功能。

使用ragged2e

我们首先介绍一个使用ragged2e的例子。在这个例子里,我们使用了它的[document]选项,来让整个文档的文字都向左对齐(也就是不整齐的右边界 ragged right)。这个例子在文档的 preamble 使用下面的代码:

\usepackage[document]{ragged2e}
\documentclass{article}
\usepackage[document]{ragged2e}

\begin{document}
\section{Heading on Level 1 (section)}
Hello, here is some text without a meaning. This text should show what a printed text will look like at this place.  If you read this text, you will get no information.  Really?  Is there no information?  Is there a difference between this text and some nonsense like not at all!  A blind text like this gives you information about the selected font, how the letters are written and an impression of the look.
\end{document}

输出:
在这里插入图片描述

\raggedright (LaTeX) 和 \RaggedRight (ragged2e) 的区别

LaTeX 内置的命令\raggedright有时候会让文字“过于不整齐了”。而ragged2e包允许单词在不同行之间分割开,从而生成风格更为统一的右边界。

下面我们可视化这两种命令生成的结果:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{ragged2e}
\usepackage{blindtext}

\begin{document}
\setlength{\hsize}{0.9\hsize}% emphasize effects

\subsection*{Left-aligned example with 
\texttt{\string\raggedright}\\ (standard \LaTeX{} command)}
\raggedright\blindtext[2]\par

\subsection*{Left-aligned example with \texttt{\string\RaggedRight}\\ (\texttt{ragged2e} command)}
\RaggedRight\blindtext[2]\par 
\end{document}

在这里插入图片描述
ragged2e文档里介绍了更多的控制文字对齐的命令和环境,我们选取一些进行介绍。

向左对齐(ragged-right)环境

LaTeX 中的flushleft环境在ragged2e包中对应的环境是FlushLeft(首字母大写)。下面的例子比较了这两种环境:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{ragged2e}
\usepackage{blindtext}
\begin{document}
\setlength{\hsize}{0.9\hsize}% emphasize effects

\subsection*{\texttt{flushleft} environment: (standard \LaTeX{})}

\begin{flushleft}
\blindtext[1]
\end{flushleft}

\subsection*{\texttt{FlushLeft} environment: (\texttt{ragged2e})}

\begin{FlushLeft}
\blindtext[1]
\end{FlushLeft}

\end{document}

在这里插入图片描述
如果是向右对齐(raggedleft)呢?

\documentclass{article}
\usepackage[english]{babel}
\usepackage{ragged2e}
\usepackage{blindtext}
\begin{document}
\setlength{\hsize}{0.9\hsize}% emphasize effects

\subsection*{\texttt{flushright} environment: (standard \LaTeX{})}

\begin{flushright}
\blindtext[1]
\end{flushright}

\subsection*{\texttt{FlushRight} environment: (\texttt{ragged2e})}

\begin{FlushRight}
\blindtext[1]
\end{FlushRight}

\end{document}

在这里插入图片描述

文字居中的环境

LaTeX 中的center环境在ragged2e包中对应的环境是Center(首字母大写)。下面的例子比较了这两种环境:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{ragged2e}
\usepackage{blindtext}
\begin{document}
\setlength{\hsize}{0.9\hsize}% emphasize effects

\subsection*{\texttt{center} environment: (standard \LaTeX{})}

\begin{center}
\blindtext[1]
\end{center}

\subsection*{\texttt{Center} environment: (\texttt{ragged2e})}
\begin{Center}
\blindtext[1]
\end{Center}
\end{document}

在这里插入图片描述

两边对齐的文字

ragged2e包还提供了\justifying命令:

\documentclass{article}
\usepackage[english]{babel}
\usepackage{ragged2e}
\usepackage{blindtext}
\begin{document}
\setlength{\hsize}{0.9\hsize}% emphasize effects

\Centering
\blindtext[1]

\vspace{5mm}
\justifying
\blindtext[1] 
\end{document}

在这里插入图片描述

参考指南

下面是这些命令和环境的总结:

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐