Emacs中的LaTeX缩进(格式化)

fik*_*nik 9 emacs formatting latex 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 amet, consectetur adipiscing elit. Aliquam enim urna, mattis eu aliquet eget, condimentum id nibh. In hac habitasse platea dictumst.
\end{itemize}
Run Code Online (Sandbox Code Playgroud)

并希望最终得到:

\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}
Run Code Online (Sandbox Code Playgroud)

我试过indent-region但它没有做任何事情和LaTeX-fill-*产生奇怪的结果,如:

\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}
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mar*_*sen 24

您确定已正确安装AUCTeX吗?AUCTeX的LaTeX模式被调用LaTeX-mode,而latex-mode(跛脚)Emacs默认.用C-h m.检查当前主要模式.

当我将光标放在环境的开头并按C-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}
Run Code Online (Sandbox Code Playgroud)

AUCTeX填充命令列表:

  • C-c C-q C-e(LaTeX-fill-environment)
  • C-c C-q C-p(LaTeX-fill-paragraph)
  • C-c C-q C-r(LaTeX-fill-region)
  • C-c C-q C-s(LaTeX-fill-section)

您也可以在键入时按M-q(fill-paragraph).

  • 我个人使用填充段落(Mq),它在大多数模式下工作,并且输入更简单 (2认同)

Ado*_*obe 5

要获得 2 个空格缩进:

(setq LaTeX-item-indent 0)
Run Code Online (Sandbox Code Playgroud)

来源

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

(add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
Run Code Online (Sandbox Code Playgroud)

来源