Код сворачивания для LaTeX в Emacs - PullRequest
14 голосов
/ 15 апреля 2010

Существует ли дополнительный режим Emacs (или фрагмент кода elisp), который позволяет выборочно скрывать / отображать окружения в режиме LaTeX? Например, я хотел бы перейти к началу длинного блока \begin{figure}, нажать клавишу и скрыть содержимое этого графического окружения. Аналогично с \begin{proof} и т. Д., В идеале даже с \subsection с.

Возможно ли это? Я только что попробовал hs-minor-mode, allout-mode и outline-minor-mode, но большинство из них не распознают среды LaTeX, например hs-minor-mode завершается с ошибкой «ошибка сканирования: несбалансированные скобки». Я бы предпочел не вводить явные метки свертывания, такие как {{{как в режиме сворачивания .

[В идеале было бы замечательно, если бы сворачивание было постоянным , но я вижу, что на этот вопрос еще нет принятого ответа.]

1 Ответ

14 голосов
/ 15 апреля 2010

AUCTeX делает складывание: http://www.gnu.org/software/auctex/manual/auctex.html#Folding

Популярная жалоба на языки разметки, такие как TeX и LaTeX, заключается в том, что в исходном тексте слишком много беспорядка, и что нельзя сосредоточиться на контенте. Есть макросы, в которых вас интересует только содержимое, которое они включают, например, спецификаторы шрифта, где содержимое может быть особым образом особым образом заблокировано шрифтом. Или макросы, содержимое которых вы хотите видеть только при их редактировании, например сноски или цитаты. Точно так же вы можете столкнуться с определенными условиями или комментариями, отвлекающими внимание при попытке сосредоточиться на основной части вашего документа.

С помощью функции сворачивания AUCTeX вы можете свернуть эти элементы и заменить их фиксированной строкой, содержимым одного из их аргументов или их сочетанием. Если вы хотите снова сделать исходный текст видимым, чтобы просмотреть или отредактировать его, переместите точку в сторону на заполнитель (также называемый отображаемой строкой) или щелкните левой кнопкой мыши с указателем мыши на нем. (Последнее в настоящее время поддерживается только в Emacs.) Макрос или среда будут разворачиваться автоматически, оставаться открытыми до тех пор, пока точка находится внутри них, и снова разрушаться, как только вы перемещаете точку из нее. (Обратите внимание, что в настоящее время сворачивание сред не работает в каждом режиме AUCTeX.)

Чтобы использовать эту функцию, вы должны активировать TeX-fold-mode, которая активирует функцию автоматического раскрытия и необходимые команды для скрытия и отображения макросов и сред. Вы можете активировать режим в определенном буфере, набрав команду M-x TeX-fold-mode RET или используя сочетание клавиш C-c C-o C-f. Если вы хотите использовать его каждый раз, когда редактируете документ LaTeX, добавьте его в ловушку:

(add-hook 'LaTeX-mode-hook (lambda ()
                             (TeX-fold-mode 1)))

Если он должен быть активирован во всех режимах AUCTeX, используйте TeX-mode-hook вместо LaTeX-mode-hook.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...