Podczas edytowania plików org uważam, że niezwykle wygodne jest ukrywanie i wyświetlanie nagłówków oraz ich zawartości, po prostu naciskając TAB
na nagłówek.
Weźmy na przykład następujący bufor
* Headline 1
Some text here.
* Headline 2
Some more text here.
Jeśli położę punkt na pierwszym *
i uderzę TAB
, otrzymam następujące:
* Headline 1...
* Headline 2
Some more text here.
Czy można to osiągnąć za pomocą sekcji LaTeX?
tj. jak mogę ukryć i wyświetlić zawartość sekcji / rozdziału / etc LaTeXa, jednocześnie zachowując tytuł widoczny? Używam AucTeX do trybu LaTeX, ale nie znalazłem niczego, co zdawałoby się wypełniać tę rolę.
latex
code-folding
Malabarba
źródło
źródło
Odpowiedzi:
Uwaga: duża część tego tekstu pochodzi z odpowiedzi na pytanie, które okazało się być duplikatem tego pytania . Niektóre materiały są na tyle różne, że warto dodać je do tego pytania.
Tryb konspektu i funkcje składania AUCTeX to dwie różne bestie, które mają zasadniczo robić to samo: ukrywać i pokazywać wybrane części bufora.
outline-minor-mode
Kluczowym elementem, który należy rozpoznać podczas używania,
outline-minor-mode
jest to, że ma on inny klucz prefiksu niżoutline-mode
(tj. Tryb główny ) - właśnie w celu uniknięcia konfliktu kluczy z kluczami ruchu itp. Prefiks ten domyślnie jest niezręczny do pisaniaC-c @
(chociaż można to zrobić zmień to, dostosowującoutline-minor-mode-prefix
). Wszystkie wymienione Skróty klawiszowe na tym węźle podręcznika powinien nadal działać, ale z akcentami, które zastąpi główną prefiks modalnyC-c
z minor prefiksu modalnejC-c @
. StądC-c @ C-c
przebiegihide-entry
,C-c @ C-e
przebiegishow-entry
i tak dalej.Aby korzystać z tych udogodnień, musisz włączyć
outline-minor-mode
. Najprostszym sposobem jest hak trybu:wymiana pieniędzy
outline-minor-mode-prefix
To powinna być prosta rzecz do zmiany
outline-minor-mode-prefix
(to kiedyś z powrotem w ciągu dnia). Ale nie jest. Co za zabawa!Dokumenty zawierają teraz tajemniczą notatkę, która:
Tak, bardzo pomocny. Co dziwne, nawet
customize
nie ustawia tej zmiennej w czasie, aby uniknąć „manipulowania mapami klawiszy” (mimo że jest zdefiniowanadefcustom
w kodzie źródłowym). Praktyczne obejście: ustaw tę zmienną w pliku init przed załadowaniemoutline
lub jakimkolwiek innym elementem z niego zbudowanym (nporg-mode
.).Możesz na przykład chcieć, aby prefiks był
C-o
(co oznacza, że przegrywaszopen-line
, ale możesz ponownie powiązać go, jeśli naprawdę chcesz). Umieszczenie następujących plików na początku pliku inicjującego załatwi sprawę:Teraz powinieneś być w stanie uzyskać dostęp do wszystkich funkcji trybu konspektu za pomocą
C-o
prefiksu -C-o C-c
aby zadzwonićhide-entry
,C-o C-e
zadzwonićshow-entry
i tak dalej.dodawanie nowych nagłówków konspektu
Jako dodatkowy bonus możesz również dostosować, które nagłówki konturu można składać i do jakich poziomów. Na przykład lubię mieć możliwość tworzenia „fałszywych” nagłówków sekcji, aby ukryć tekst, który nie ma prawdziwego nagłówka LaTeX, ale logicznie jest przechowywany na tym samym poziomie dokumentu. Za pomocą następującego kodu możesz użyć:
Będziesz mógł manipulować fałszywą sekcją tak jak każdą inną, ale LaTeX zignoruje ją podczas kompilacji dokumentu:
outline-magic
outline-magic
rozszerza tryby konspektu naorg-mode
ukrywanie / pokazywanie za pomocą magicznego klawisza tab. Innymi słowy, prawdopodobnie możesz dodać to do swojego przepływu pracy i sprawić, że twoje dokumenty LaTeX będą zachowywać się bardziej jakorg
dokumenty. (Nie używam go sam, więc nie mogę komentować funkcjonalności.)Składane urządzenia AUCTeX
Urządzenia do składania AUCTeX działają w środowiskach i w tym, co (myląco) nazywają makra , a nie sekcje. Aby korzystać z tej funkcji, musisz ją włączyć za pomocą
TeX-fold-mode
.Na przykład
itemize
środowisko , które zostało rozwinięte, może wyglądać następująco:Wywołanie
TeX-fold-env
(domyślnieC-c C-o C-e
:) w środowisku składa się, aby wyglądać następująco:Umieszczenie kursora gdzieś w środku
[itemize]
spowoduje jego tymczasowe rozwinięcie podczas edytowania, a następnie zwinie się z powrotem do[itemize]
momentu wyprowadzenia kursora ze środowiska.Przez „makro” AUCTeX oznacza takie rzeczy
\footnote{...}
. Dlatego wywołanieTeX-fold-macro
(domyślnie :),C-c C-o C-m
gdy jest w środku,\footnote{This is a footnote}
złoży to do[f]
; będzie się rozszerzać i kurczyć w sposób analogiczny do tego, co dzieje się w środowisku.Możesz używać obu funkcji
outline-minor-mode
składania i AUCTeX razem w tym samym dokumencie: robią różne rzeczy na różnych jego częściach.źródło
TAB
i prawdopodobnie można by to zrobić dla AUCTeX. Składanie makrTAB
byłoby moim zdaniem denerwujące (byłoby to podobne do składania specyfikacji wstawiania przeceny ...).outline-minor-mode
powinien działać od razu po rozpakowaniu z AUCTeX: gnu.org/software/auctex/manual/auctex/Outline.html . To znaczy, dopóki nie zaczniesz definiować nowych makr nagłówków w LaTeX ...To, co chcesz, nazywa się składaniem i możesz to zrobić na 2 sposoby.
Tryb Zarys pomocniczy
Jest to wbudowany tryb pomocniczy, którego dokładnie używa tryb org do ukrywania i wyświetlania nagłówków. Możesz mieć pewność, że zawsze włączona w
latex-mode
zSkróty klawiszowe, które definiuje, są nieco trudne w użyciu, więc możesz chcieć zmienić niektóre z nich.
Dodatek lateksowy
latex-extra jest niewielkim trybem dostępnym w Melpie i stabilnym dla Melpy. Możesz go zainstalować
M-x package-install RET latex-extra
i włączyć za pomocąDodaje szereg udogodnień
latex-mode
, jednym z nich jest składanie sekcji.latex-extra
używa równieżoutline-minor-mode
za kulisami, ale zaletą jest to, że bardziej dokładnie emuluje zachowanie trybu org (choć nie identycznie).Z jego pliku Readme :
źródło