2014-01-28 3 views
1

Моя версия emacs - 24.3.1, и мне нужно ввести много латексного кода (например, математической формулы) в режиме уценки. Поэтому я хочу использовать функцию автозаполнения, предоставляемую auctex. Но уценка и латекс - два основных режима, и я не могу использовать их в одном буфере. Существует пакет с именем mmm-mode, который поддерживает несколько основных режимов в одном буфере. Проблема в том, что я не знаю, как настроить его в файлах .emacs, пожалуйста, дайте мне некоторое предложение об этом. Если у вас есть другие методы, которые могут делать такие вещи, это также приветствуется.Как добавить функцию автозаполнения auctex в режиме уценки?

+0

У меня никогда не было большой удачи в 'mmm-mode'. Вам нужно * сделать это с помощью «markdown-mode», или это просто инструмент на вашем пути к чему-то еще, например, HTML или PDF? Возможно, вам удастся использовать «org-mode». – Chris

+0

Спасибо за ваш ответ. Мне нужно сделать это с помощью 'markdown-mode'. Наша команда использует его для написания документа, и его легче читать и писать. –

ответ

2

Если вы должны сделать это в markdown-mode, я не рекомендую использовать mmm, что довольно сложно настроить и несколько ошибочно.

Вместо этого рассмотрите возможность использования indirect buffers. Этот процесс аналогичен функции, которую org-mode вызвал org-edit-special, где вы можете редактировать исходные блоки в отдельных буферах с использованием основного режима исходного языка.

  1. Просмотрите ваш файл Markdown, например. file.md, используя markdown-mode.
  2. Если вы хотите отредактировать фрагмент LaTeX, используйте M-x clone-indirect-buffer. Конечно, вы можете привязать это к некоторому удобному ключу, если вы его используете много.
  3. У вас будет два буфера Посещение file.md. По умолчанию они будут чем-то вроде file.md (исходный буфер в markdown-mode) и file.md<2> (косвенный буфер).
  4. Этот шаг не является обязательным, но я настоятельно рекомендую narrowing ваш буфер file.md<2> соответствующему фрагменту LaTeX.
  5. В буфере file.md<2> измените основной режим на AUCTeX.

Два буфера будут изменять один и тот же файл. Изменения в одном будут отражены в другом, и сохранение одного из них сохранит файл. Разница в том, что один будет использовать markdown-mode, а другой будет использовать AUCTeX.

Вы можете либо убить file.md<2>, когда закончите, либо сохраните его для следующего фрагмента. Просто не сузить его, найти новый фрагмент и снова сузить его.

Смежные вопросы