NB:このテキストの多くは、この質問の複製であることが判明した質問への回答から来ました。一部の資料は十分に異なるため、この質問に追加する価値があると思われました。
アウトラインモードとAUCTeX 折りたたみ機能は、バッファの選択された部分を非表示および表示するという、ほぼ同じことを行うことを意図した2つの異なる獣です。
使用時に認識する重要な要素outline-minor-mode
は、モーションキーなどとのキーの競合を正確に回避するために、それとは異なるプレフィックスキーoutline-mode
(つまり、メジャーモード)をC-c @
持っているということです。カスタマイズして変更しoutline-minor-mode-prefix
ます)。マニュアルのこのノードにリストされているすべてのキーバインドは引き続き機能しますが、メジャーモードプレフィックスのC-c
をマイナーモードプレフィックスので置き換えるというひねりが加えられていますC-c @
。したがって、C-c @ C-c
runs hide-entry
、C-c @ C-e
runs show-entry
などのようになります。
これらの機能を使用するには、を有効にする必要がありますoutline-minor-mode
。最も簡単な方法は、モードフックを使用することです。
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
変化 outline-minor-mode-prefix
変更するのは簡単なことであるはずですoutline-minor-mode-prefix
(以前は戻っていました)。しかし、そうではありません。なんて楽しい!
docstringは、次のような不可解なメモを提供します。
アウトラインマイナーモードでアウトラインコマンドに使用するプレフィックスキー。この変数の値は、アウトラインモードのロードの一部としてチェックされます。その後、プレフィックスキーを変更するには、キーマップを操作する必要があります。
はい、とても役に立ちました。奇妙なことに、customize
「defcustom
ソースコードで定義されているにもかかわらず」「キーマップの操作」を避けるために、この変数を時間内に設定しません。実用的な回避策:ロードする前に初期化ファイルにこの変数を設定する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の折り畳み機能の両方を一緒に使用できます。それらは、その異なる部分で異なることを行います。