我想在 ShareLaTex 中使用\begin{flushleft}
和\end{flushleft}
作为开始和结束来将段落左对齐。但是,我注意到使用这些命令时,它们会删除段落之间的空白。我通常输入\\
两次以在段落之间创建空白,一次在第一段的末尾,第二次在第一段和第二段之间。
以下是我使用的环境。请告诉我哪里出了问题,谢谢您的时间。
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{MnSymbol}
\usepackage{changepage}
\newenvironment{indent1}{\begin{adjustwidth}{.5cm}{}}{\end{adjustwidth}}
\newenvironment{indent2}{\begin{adjustwidth}{1cm}{}}{\end{adjustwidth}}
\begin{document}
\begin{noindent}
\end{noindent}
\end{document}
答案1
\\
当然\\\\
不要创建段落分隔符,第一个强制换行,第二个永远不要使用。要创建段落分隔符,只需在源中使用空白行即可。
你没有说出noindent
环境的意图但是这很奇怪,依赖于 latex 环境调用底层命令形式的事实。
\begin{noindent}
\end{noindent}
是相同的
{\noindent
}
所以它开始一个没有缩进但没有可见文本的段落?
\begin{noindent}
aaaa
\end{noindent}
将会有一个空白行,其中有一个由 构成的虚假段落,\noindent
没有任何文字,然后是一个段落,然后是一个新的缩进段落aaaa
。
答案2
为了总结这篇文章的所有内容,我以 CW 的身份发布了一个答案。
首先\\
,不是创建段落分隔符。它只是强制换行。你可能会问,这有什么区别。嗯,这取决于 TeX 的内部参数,但新段落将缩进,并且可能在它前面有一个空格。缩进受 控制\parindent
,因此,例如,\parindent 20pt
使段落缩进 20pt。点是印刷术中常用的长度度量单位。要知道在文档中的特定位置设置了多长的缩进,只需输入\the\parindent
。这可能会返回多个数字。在这种情况下,您将得到类似 的形式。这是允许拉伸和缩短xxx pt plus yyy pt minus zzz pt
的长度。这可能对调整段落的第一行有用。例如,假设您的第一行很短。如果它很短,为了使其对齐,您将不得不留出很大的空格。拉伸缩进会使空格变小。另一方面,缩短缩进可能会允许进一步分行,并在第一行获得更多文本。TeX 非常擅长计算换行的最佳方式。但不幸的是,它也不是万无一失的:)。有时它会做出一些非常奇怪的换行,并导致相应的。段落之间的间距由 控制,可以用相同的方式设置,您也可以用相同的方式查看其值。拉伸和收缩可能很方便,可以避免在页面底部出现一行,拉伸段落分隔符可能会将行发送到下一页,或者通过收缩来避免在下一页留下一行。设置这两个参数的另一种方法是,它相当于。当然,您可以指定拉伸和收缩,如。xxx pt
yyy pt
zzz pt
Overfull \hbox
\parskip
\parskip
\setlength{\parindent}{20pt}
\parindent 20pt
\parindent 15pt plus 1 pt minus 3pt
TeX 接受各种测量单位。您应该在其他地方搜索列表。
要创建新段落,您必须说\par
,或者您可以留下一个空行。现在我想对此进行一些扩展。当您按下回车键时,会插入一个不可见的字符,称为 END OF LINE。在屏幕上,您将看到行的变化。当 TeX 看到 END OF LINE 时,它会将其变成一个空格,这就是为什么源代码中的行变化通常会被忽略,但如果紧接着有另一个 END OF LINE,它们都会变成\par
。因此留下一个空行 = 两个 END OF LINE 字符 = \par
= 段落中断。
环境noindent
只是\noindent
在其开头添加了一个。它可能以类似于的方式定义\newenvironment{noindent}{\noindent}{}
。该命令\noindent
只是抑制了\parindent
放置在其开头的段落的。如果您不想在特定段落中缩进,这会很有用。请注意,\clearpage
也会在新页面上缩进文本,因此\noindent
在这种情况下也会派上用场。
命令\\
,正如我之前所说,只是强制换行。因此,两个\\
s 将换行两次,导致两个文本块之间出现一个空行。\\
接受一个可选参数,即长度(例如20pt
),放在命令(例如)后的方括号中\\[20pt]
,指定在放置下一行文本之前在该命令后留下的垂直空白长度。它的工作方式\\
与表格或矩阵完全相同,但不是必然的,因为它是相同的命令。
您可能知道,环境flushleft
将段落左对齐。flushright
是其右对齐类似物。center
是居中环境。我个人不建议使用前两个,因为文本由 TeX 自动对齐,而对齐的文本在我看来看起来很多比左对齐或右对齐文本更好。但是,德古斯蒂布斯。居中文本会突出显示它,因此对于划分文本的小标题可能很有用。\section
并且\subsection
可能用于相同目的,甚至\subsubsection
。
因此,似乎被删除的空格是由于空白行造成的。要用 恢复它flushleft
,您可以使用\\\\
inside flushleft
(这是不行的),或者您可以\vspace{…}
在段落末尾的 ... 位置使用长度,或者您可以使用\\[…]
如上所述的方法。如果我是你,我会选择设置\parskip
为,比如说,1em
或 so,然后使用\par
inside flushleft
。我想这样就可以了。或者您可以使用\\[…]
,但这样就没有缩进。
旁注。首先,您在评论中提到\textbf
。此命令仅影响其参数,即放置在其后的括号对中的内容。正如 David 所述,zzz \textbf{hello} zzz
产生“zzz你好zzz”。这当然与任何居中无关。我想知道你是如何将居中与\textbf
……联系起来的。
您发布的代码似乎与问题完全脱节,而且肯定不是一个最小的例子。当你发布一个问题时,如果可能的话,建议发布一个MWE,即最小工作示例。“工作”并不意味着代码可以工作。它意味着它显示了你的问题,并且可以由其他用户执行,作为解决问题的基础。你的代码既没有显示你的问题,也不是最精简的,因为你在开始时加载了许多不必要的包和两个环境定义。
为了使您的评论和问题更易于阅读,您应该使用反引号 ``` 突出显示代码。例如,在两个引号之间写入 \textbf 会产生\textbf
。这样做,您将代码标记为代码,这有助于阅读您发布的内容。用星号或下划线括住文本使其斜体. 双星使它大胆的。(_italic_
,*italic*
,**bold**
, 以便让我自己清楚)。我没有 Markdown 教程的链接,但其他用户肯定有,我邀请他们将其添加到此答案中以方便您使用。我不会进一步探讨 Markdown,这是 SX 使用的格式化语法。
我还想说什么?哦,好吧,我忘了 :)。让我给你指出一些学习 LaTeX 的参考资料。这是一个很好的简短介绍,一个好的开始。好吧,也许没那么短。这是另一个很好的参考,尽管很长。这里是另一个开始使用 LaTeX 的好地方。这里有一些关于 TeX 中的数学的内容。这和这可以被认为是关于 TeX 的“手册”,TeX 是 LaTeX 的基础程序。LaTeX 本身“只是”一系列建立在 TeX 之上的命令,就像编程语言的库一样。包是更多宏集。
希望您喜欢使用 LaTeX 并从这个答案中受益。祝您有美好的一天 :)。