주의 : 이 본문의 대부분은이 질문과 중복 되는 질문에 대한 답변에서 나왔습니다 . 일부 자료는이 질문에 추가 할만한 가치가있는 것으로 충분히 다릅니다.
아웃 라인 모드 와 AUCTeX 접기 기능 은 크게 동일한 기능을 수행하는 두 가지 다른 기능 입니다. 버퍼의 선택된 부분을 숨기고 표시합니다.
사용하는 경우 핵심 요소는 인식 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
소스 코드에서 정의되어 있음에도 불구하고 ). 실제 해결 방법 :이 변수 를로드 하기 전에이 변수를 init 파일에 설정 outline
하십시오 (예 :) org-mode
.
예를 들어 접두사를 원할 수 있습니다 C-o
(을 잃고 있음을 의미 open-line
하지만 실제로 원한다면 다시 바인딩 할 수 있습니다). init 파일에 다음을 일찍 넣으면 트릭을 수행합니다.
(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")
이제 C-o
접두사-to C-o C-c
call hide-entry
, call 등 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
(default :)를 호출 C-c C-o C-e
하면 다음과 같이 접 힙니다.
[itemize]
내부에 커서를 놓으면 [itemize]
편집하는 동안 커서 가 일시적으로 다시 확장 된 다음 [itemize]
커서를 환경 밖으로 이동하면 다시 접 힙니다 .
"매크로"란 AUCTeX는 다음과 같은 것을 의미 \footnote{...}
합니다. 따라서 내부에 TeX-fold-macro
(default :)를 호출 하면 접을 수 있습니다 . 환경과 유사한 방식으로 확장 및 축소됩니다.C-c C-o C-m
\footnote{This is a footnote}
[f]
outline-minor-mode
동일한 문서에서 AUCTeX의 접기 기능을 함께 사용할 수 있습니다 . 서로 다른 부분에서 서로 다른 작업을 수행합니다.