Emacs中的LaTeX缩进(格式化)

Emacs中的LaTeX缩进(格式化),emacs,latex,formatting,indentation,Emacs,Latex,Formatting,Indentation,在Emacs(AucTex)中缩进LaTeX文档的正确方法是什么 例如,当我有一个列表时: \begin{itemize} \item orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst. \item orem ipsum dolor sit a

在Emacs(AucTex)中缩进LaTeX文档的正确方法是什么

例如,当我有一个列表时:

\begin{itemize}
\item orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst.
\item orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst.
\end{itemize}
最后我想说:

\begin{itemize}
  \item orem ipsum dolor sit amet, consectetur
    adipiscing elit. Aliquam enim urna, mattis eu aliquet eget,
    condimentum id nibh. In hac habitasse platea dictumst.
  \item orem
    ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
    urna, mattis eu aliquet eget, condimentum id nibh. In hac
    habitasse platea dictumst.
\end{itemize}
我尝试了
缩进区域
,但它没有做任何事情,
乳胶填充-*
会产生奇怪的结果,如:

\begin{itemize} \item orem ipsum dolor sit amet, consectetur
  adipiscing elit. Aliquam enim urna, mattis eu aliquet eget,
  condimentum id nibh. In hac habitasse platea dictumst. \item orem
  ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim
  urna, mattis eu aliquet eget, condimentum id nibh. In hac
  habitasse platea dictumst. \end{itemize}

谢谢

您确定已正确安装AUCTeX吗?AUCTeX的LaTeX模式称为
LaTeX模式
,而
LaTeX模式
是(lame)Emacs默认模式。用
C-h m
检查当前主模式

当我将光标放在环境的开头并按
C-C-q C-e
LaTeX fill environment
)时,我得到以下结果:

\begin{itemize}
\item orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam
  enim urna, mattis eu aliquet eget, condimentum id nibh. In hac
  habitasse platea dictumst.
\item orem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam
  enim urna, mattis eu aliquet eget, condimentum id nibh. In hac
  habitasse platea dictumst.
\end{itemize}
AUCTeX fill命令列表:

  • C-C-q C-e
    乳胶填充环境
  • C-C-q C-p
    乳胶填充段
  • C-C-q C-r
    乳胶填充区域
  • C-C-q C-s
    乳胶填充部分

您也可以在键入时按
M-q
fill paration
)。

我广泛使用了以下功能,这是我从中借用的:

这也适用于AUCTeX以外的地区。我使用以下方法将其绑定到
M-j

(global-set-key "\ej" 'fill-sentence)

要获得2个空格缩进:

(setq LaTeX-item-indent 0)
()

您可以使用以下内容自动填充环境:

(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)

()

默认的latex模式和auctex模式之间存在差异,但这两种模式对我来说都非常有效。您可以使用
descripe mode
(通常绑定到
C-h m
)确定缓冲区中的活动模式。从技术上讲,这是一个函数,而不是宏。我之所以提到它,是因为在Emacs和LaTeX之间,已经有3种不同类型的宏。我个人使用填充段落(M-q),它在大多数模式下工作,而且类型更简单。我看起来这在我的Auctex安装中一定是个问题,因为我使用的是PDFLaTeX/F主模式(M-x LaTeX模式),如果我填充段落,那么我就把它搞砸了。填充段落似乎没有意识到这一点,它只是加入了重新格式化的文本。在花了一些时间之后,我仍然得到了一个混合的结果,但如果我将填充列设置为70,则基本上可以。奇怪,但可能与aquamacs 2b5有些问题。无论如何,我想我将开始以每行一句的方式进行编辑,在这种情况下,这不再是必要的。这个答案没有说明如何在
\item
-element之前获得空格。有关详细的问题描述,请参见。
填充段落
将注释与文本合并,这是正常行为吗?
(setq LaTeX item indent 0)
适用于我。谢谢是否建议使用4个空格缩进?
(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)