NB: banyak dari teks ini berasal dari jawaban atas pertanyaan yang ternyata merupakan duplikat dari pertanyaan ini . Beberapa materi cukup berbeda sehingga tampaknya bermanfaat untuk menambahkannya ke pertanyaan ini.
Mode outline dan fasilitas lipat AUCTeX adalah dua binatang buas yang berbeda yang dimaksudkan untuk melakukan hal yang sama secara luas: sembunyikan dan perlihatkan bagian buffer yang dipilih.
Elemen kunci untuk dikenali saat digunakan outline-minor-mode
adalah bahwa ia memiliki kunci awalan yang berbeda dari outline-mode
(yaitu, mode utama ) - tepatnya untuk menghindari konflik kunci dengan tombol gerak, dll. Awalan itu default ke tipe canggung C-c @
(walaupun Anda bisa ubah itu dengan menyesuaikan outline-minor-mode-prefix
). Semua ikatan kunci yang tercantum pada simpul manual ini masih harus bekerja, tetapi dengan twist yang Anda ganti awalan mode utamaC-c
dengan awalan mode minorC-c @
. Karenanya, C-c @ C-c
lari hide-entry
, C-c @ C-e
lari show-entry
, dan sebagainya.
Untuk menggunakan fasilitas ini, Anda harus mengaktifkannya outline-minor-mode
. Cara paling sederhana adalah dengan hook mode:
(add-hook 'LaTeX-mode-hook #'outline-minor-mode)
berubah outline-minor-mode-prefix
Ini harus menjadi hal yang sederhana untuk perubahan outline-minor-mode-prefix
(itu dulu kembali pada hari). Tapi ternyata tidak. Apanya yang seru!
Docstring sekarang memberikan catatan samar bahwa:
Kunci awalan untuk digunakan untuk perintah Outline dalam mode minor Outline. Nilai variabel ini diperiksa sebagai bagian dari memuat mode Outline. Setelah itu, mengubah kunci awalan membutuhkan memanipulasi keymaps.
Ya, sangat membantu. Anehnya, bahkan customize
tidak mengatur variabel ini dalam waktu untuk menghindari "memanipulasi keymaps" (meskipun didefinisikan dengan defcustom
dalam kode sumber). Cara kerja praktis: setel variabel ini dalam file init Anda sebelum Anda memuat outline
atau apa pun yang dibangun darinya (misalnya, org-mode
).
Misalnya, Anda mungkin menginginkan awalannya C-o
(yang berarti Anda kalah open-line
, tetapi Anda dapat mengubahnya kembali jika Anda memang menginginkannya). Menempatkan yang berikut di awal file init Anda akan melakukan trik:
(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")
Sekarang, Anda harus dapat mengakses semua fungsionalitas mode garis besar menggunakan C-o
awalan - C-o C-c
untuk menelepon hide-entry
, C-o C-e
menelepon show-entry
, dan sebagainya.
menambahkan judul garis besar baru
Sebagai bonus tambahan, Anda juga dapat menyesuaikan header garis besar mana yang bisa dilipat, dan ke level apa. Saya, misalnya, ingin dapat membuat header bagian "palsu" untuk menyembunyikan teks yang tidak memiliki header LaTeX yang sebenarnya, tetapi secara logis disimpan pada tingkat dokumen yang sama. Dengan kode berikut, Anda dapat menggunakan:
%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
Dan Anda akan dapat memanipulasi bagian palsu seperti yang lainnya, tetapi LaTeX akan mengabaikannya ketika Anda menyusun dokumen:
;; 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
memperluas mode outline untuk menggunakan org-mode
-sembunyikan / ditampilkan dengan tombol tab ajaib. Dengan kata lain, Anda mungkin dapat menambahkan ini ke dalam alur kerja Anda dan membuat dokumen LaTeX Anda berperilaku lebih seperti org
dokumen. (Saya tidak menggunakannya sendiri, jadi tidak bisa mengomentari fungsionalitas.)
Fasilitas lipat AUCTeX bekerja pada lingkungan dan apa yang mereka sebut makro , bukan bagian. Untuk menggunakan fungsi ini, Anda harus mengaktifkannya dengan TeX-fold-mode
.
Misalnya, itemize
lingkungan , yang terbuka, mungkin terlihat seperti:
\begin{itemize}
\item An item
\item Another item
\end{itemize}
Memanggil TeX-fold-env
(default:) C-c C-o C-e
di dalam lingkungan melipatnya menjadi seperti:
[itemize]
Menempatkan kursor di suatu tempat di dalam [itemize]
untuk sementara waktu akan memperluas lagi saat Anda mengeditnya, dan kemudian akan kembali ke bawah [itemize]
ketika Anda memindahkan kursor keluar dari lingkungan.
Dengan "makro," AUCTeX berarti hal-hal seperti \footnote{...}
. Oleh karena itu, memanggil TeX-fold-macro
(default:) C-c C-o C-m
ketika di dalam \footnote{This is a footnote}
akan melipatnya ke [f]
; itu akan berkembang dan berkontraksi secara analog dengan apa yang terjadi dengan lingkungan.
Anda dapat menggunakan keduanya outline-minor-mode
dan fasilitas lipat AUCTeX dalam dokumen yang sama: mereka melakukan hal yang berbeda pada bagian yang berbeda.