Пользовательское форматирование кадров LaTeX (beamer) в Vim с помощью команды gq

Я хочу иметь возможность использовать комбинацию клавиш gq в Vim для форматирования текста на моих слайдах Beamer LaTeX.

Например, я ' d хотел бы gqap преобразовать это:

\begin{frame}{Some title}
\begin{itemize}\item first point
\item second point
\item etc. point \end{itemize} \end{frame}

в это:

\begin{frame}{Some title}
  \begin{itemize}
    \item first point
    \item second point
    \item etc. point  
   \end{itemize} 
\end{frame}

В частности, я хотел бы соблюдать следующие правила:

  • \ item всегда начинается с новой строки
  • \ begin и \ end всегда начинаются с новой строки
  • \ begin {frame} , а \ end {frame} всегда начинаются в столбце 1
  • окружения в окружении имеют отступ 2 пробела
  • \ item отступ 2 пробела внутри его окружения

Таким образом, мой основной вопрос касается того, как это может быть достигнуто.

В качестве альтернативы, любые предложения по запуску баллы или полезные уроки будут наиболее полезны. Мне также были бы интересны любые комментарии об относительных достоинствах formatexpr , formatprg или внутреннего форматирования для выполнения такого форматирования.

9
задан Jeromy Anglim 25 August 2011 в 07:57
поделиться