NB: значна частина цього тексту виходила з відповіді на запитання, яке виявилося дублікатом цього питання . Деякі матеріали досить різні, що здавалося, що варто додати його до цього питання.
Режим контуру та складні засоби AUCTeX - це два різних звіри, які покликані робити те саме: сховати та показати вибрані частини буфера.
Ключовим елементом, який слід розпізнати при використанні, outline-minor-mode
є те, що він має інший ключ префікса, ніж outline-mode
(тобто основний режим ) - саме для уникнення конфліктів ключів з клавішами руху тощо. Цей префікс за замовчуванням відповідає незручному типу C-c @
(хоча ви можете змінити це за допомогою налаштування outline-minor-mode-prefix
). Всі перераховані комбінації клавіш на цьому вузлі керівництва повинні працювати, але з родзинкою , що ви замінити основний режим префікс C-c
з другорядним режимом приставкою C-c @
. Отже, C-c @ C-c
бігає hide-entry
, C-c @ C-e
бігає show-entry
тощо.
Щоб користуватися цими засобами, потрібно включити outline-minor-mode
. Найпростіший спосіб - за допомогою гачка режиму:
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
змінюючись outline-minor-mode-prefix
Це слід змінити на просту річ outline-minor-mode-prefix
( раніше вона поверталася вдень). Але це не так. Яка забава!
Тепер у доктрині наводиться криптовалюта, що:
Префіксальний ключ, який використовується для команд Контур у другорядному режимі Контур. Значення цієї змінної перевіряється як частина завантаження режиму Контур. Після цього зміна ключа префікса вимагає маніпулювання картами.
Так, дуже корисно. Як не дивно, навіть customize
не встановлює цю змінну в часі, щоб уникнути "маніпулювання картами клавіш" (незважаючи на те, що визначено defcustom
у вихідному коді). Практична робота: встановіть цю змінну у своєму файлі init перед завантаженням outline
або іншим чином, складеним із нього (наприклад, org-mode
).
Наприклад, ви хочете, щоб префікс був C-o
(це означає, що ви програєте open-line
, але ви можете відновити його, якщо ви цього дійсно хочете). Якщо вставити наступне у ваш файл init, ви зробите свою справу:
(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")
Тепер ви повинні мати доступ до всіх функцій режиму контуру за допомогою C-o
префікса - C-o C-c
дзвонити hide-entry
, C-o C-e
дзвонити show-entry
тощо.
додавання нових заголовків контуру
Як додатковий бонус, ви також можете налаштувати, які контури заголовків можна скласти та на які рівні. Наприклад, мені подобається робити заголовки розділів, щоб приховати текст, який не має справжнього заголовка LaTeX, але логічно зберігається на тому самому рівні документа. За допомогою наступного коду ви можете використовувати:
%section{a fake section}
Blah blah blah blah blah, LaTeX doesn't recognize me as a section...
\section{a real section}
Blah blah blah blah blah, LaTeX treats me as a real section
І ви зможете маніпулювати підробленим розділом так само, як і будь-який інший, але LaTeX проігнорує його при складанні документа:
;; extra outline headers
(setq TeX-outline-extra
'(("%chapter" 1)
("%section" 2)
("%subsection" 3)
("%subsubsection" 4)
("%paragraph" 5)))
;; add font locking to the headers
(font-lock-add-keywords
'latex-mode
'(("^%\\(chapter\\|\\(sub\\|subsub\\)?section\\|paragraph\\)"
0 'font-lock-keyword-face t)
("^%chapter{\\(.*\\)}" 1 'font-latex-sectioning-1-face t)
("^%section{\\(.*\\)}" 1 'font-latex-sectioning-2-face t)
("^%subsection{\\(.*\\)}" 1 'font-latex-sectioning-3-face t)
("^%subsubsection{\\(.*\\)}" 1 'font-latex-sectioning-4-face t)
("^%paragraph{\\(.*\\)}" 1 'font-latex-sectioning-5-face t)))
outline-magic
розширює контури режимів на використання org-mode
схожих приховувань / показу за допомогою магічної клавіші вкладки. Іншими словами, ви, ймовірно, можете додати це до свого робочого процесу та змусити ваші документи LaTeX поводитись більше як org
документи. (Я не використовую його сам, тому не можу коментувати функціональність.)
Складні засоби AUCTeX працюють на середовищах і тому, що вони (заплутано) називають макросами , а не секціями. Щоб користуватися цією функціональністю, вам потрібно ввімкнути її TeX-fold-mode
.
Наприклад, itemize
середовище , розгорнуте, може виглядати так:
\begin{itemize}
\item An item
\item Another item
\end{itemize}
Виклик TeX-fold-env
(за замовчуванням C-c C-o C-e
:) всередині середовища складе його так, щоб виглядати так:
[itemize]
Якщо помістити курсор десь усередині, [itemize]
він тимчасово знову розгорнеться під час редагування, а потім згорнеться назад, [itemize]
коли ви перемістите курсор із середовища.
Під "макросом" AUCTeX означає такі речі \footnote{...}
. Отже, виклик TeX-fold-macro
(за замовчуванням:), C-c C-o C-m
коли всередині \footnote{This is a footnote}
буде складено його до [f]
; вона буде розширюватися та стискатися аналогічно тому, що відбувається із середовищами.
Ви можете використовувати як outline-minor-mode
складні засоби AUCTeX разом в одному документі: вони виконують різні речі на різних його частинах.