ЛАТЕКСНОЕ добавление отступа (форматирование) в Emacs

что корректный путь состоит в том, чтобы сделать добавление отступа ЛАТЕКСНОГО документа в Emacs (AucTex)?

Например, когда у меня есть список:

\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}

Спасибо!

9
задан fikovnik 20 March 2010 в 15:32
поделиться

2 ответа

Вы уверены, что правильно установили AUCTeX? Режим LaTeX в AUCTeX называется LaTeX-режимом , а режим латекса является (хромым) значением Emacs по умолчанию. Проверьте текущий основной режим с помощью C-h m .

Когда я помещаю курсор в начало окружения и нажимаю Cc Cq Ce ( 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 команды заполнения:

  • Cc Cq Ce ( LaTeX-fill-environment )
  • Cc Cq Cp ( LaTeX-fill-paragraph )
  • Cc Cq Cr ( LaTeX-fill-region )
  • Cc Cq Cs ( LaTeX-fill-section )

Вы также можете просто нажать Mq ( заполнить абзац ) по мере ввода.

24
ответ дан 4 December 2019 в 07:47
поделиться

Я широко использую следующую функцию, которую позаимствовал у Luca da Alfaro:

(defun fill-sentence ()
  (interactive)
  (save-excursion
    (or (eq (point) (point-max)) (forward-char))
    (forward-sentence -1)
    (indent-relative)
    (let ((beg (point)))
      (forward-sentence)
      (if (equal "LaTeX" (substring mode-name (string-match "LaTeX" mode-name)))
          (LaTeX-fill-region-as-paragraph beg (point))
        (fill-region-as-paragraph beg (point))))))

Она работает и вне AUCTeX. Я привязываю ее к M-j с помощью:

(global-set-key "\ej" 'fill-sentence)
1
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: