หมายเหตุ:มากของข้อความนี้มาจากคำตอบสำหรับคำถามที่เปิดออกมาเป็นซ้ำกับคำถามนี้ เนื้อหาบางส่วนมีความแตกต่างอย่างมากพอสมควรที่จะเพิ่มเติมลงในคำถามนี้
โหมดเค้าร่างและสิ่งอำนวยความสะดวกการพับของ AUCTeX เป็นสัตว์สองตัวที่แตกต่างกันซึ่งหมายถึงการทำสิ่งเดียวกันในวงกว้าง: ซ่อนและแสดงส่วนที่เลือกของบัฟเฟอร์
องค์ประกอบสำคัญที่จะรับรู้เมื่อมีการใช้outline-minor-mode
ก็คือว่ามันมีความสำคัญที่แตกต่างจากคำนำหน้าoutline-mode
(เช่นโหมดหลัก ) - แม่นยำเพื่อหลีกเลี่ยงความขัดแย้งที่สำคัญด้วยปุ่มเคลื่อนไหว ฯลฯ ค่าเริ่มต้นคำนำหน้าว่าจะอึดอัดต่อการประเภทC-c @
(แม้ว่าคุณจะสามารถ เปลี่ยนสิ่งนั้นด้วยการปรับแต่งoutline-minor-mode-prefix
) ทั้งหมด keybindings ที่ระบุไว้ในโหนดของคู่มือนี้จะยังคงทำงาน แต่กับบิดที่คุณเปลี่ยนที่สำคัญคำนำหน้าโหมดของการ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
(มันเคยเป็นในวันนั้น) แต่มันไม่ใช่ สนุกจัง!
ตอนนี้ docstring ให้โน้ตที่เป็นความลับซึ่ง:
คีย์คำนำหน้าเพื่อใช้สำหรับคำสั่งเค้าร่างในโหมดรองเค้าร่าง ค่าของตัวแปรนี้จะถูกตรวจสอบเป็นส่วนหนึ่งของการโหลดโหมดเค้าร่าง หลังจากนั้นการเปลี่ยนคีย์คำนำหน้าต้องจัดการกับคีย์แมป
ใช่มีประโยชน์มาก ผิดปกติพอถึงแม้ว่า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
และคุณจะสามารถจัดการส่วนปลอมเช่นเดียวกับส่วนอื่น ๆ ได้ แต่น้ำยางจะไม่สนใจเมื่อคุณรวบรวมเอกสาร:
;; 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 สิ่งอำนวยความสะดวกการพับเข้าด้วยกันในเอกสารเดียวกัน: พวกเขาทำสิ่งต่าง ๆ ในส่วนต่าง ๆ ของมัน