что корректный путь состоит в том, чтобы сделать добавление отступа ЛАТЕКСНОГО документа в 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}
Спасибо!
Вы уверены, что правильно установили 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
( заполнить абзац
) по мере ввода.
Я широко использую следующую функцию, которую позаимствовал у 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)