emacs - Emacs 中的 LaTeX 缩进(格式化)

标签 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 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}

我尝试了 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}

谢谢!

最佳答案

您确定您已正确安装 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}

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)。

关于emacs - Emacs 中的 LaTeX 缩进(格式化),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2477195/

相关文章:

emacs - 如何在emacs的文本模式下更改缩进

date - 如何将Golang中的年份转换为佛教年份

java - 将 session 记录转换为人类可读的格式

javascript - 如何在浏览器中从未格式化的数据创建表格?

emacs - 在 Emacs Lisp 中使用查看

emacs - emacs全局放大/缩小

Java PDFBox 列出页面的所有指定目的地

unicode - 什么 LaTeX 命令会创建一个破折号?

r - 使用 Sweave 编写大型文档。可以像 LaTeX 那样做吗?

python - 在 Emacs 中使用 Flycheck 和 flake8 时如何在 Python 2 和 3 之间切换?