Al editar archivos de organización, me resulta extremadamente conveniente cómo puedes ocultar y mostrar los titulares y su contenido simplemente presionando TAB
el título.
Por ejemplo, considere el siguiente búfer
* Headline 1
Some text here.
* Headline 2
Some more text here.
Si coloco el punto en el primero *
y presiono TAB
, obtendré lo siguiente:
* Headline 1...
* Headline 2
Some more text here.
¿Hay alguna manera de lograr eso con las secciones de LaTeX?
es decir, ¿cómo puedo ocultar y mostrar el contenido de una sección / capítulo / etc de LaTeX, manteniendo el título visible? Estoy usando AucTeX para el modo LaTeX pero no he encontrado nada que parezca cumplir este rol.
latex
code-folding
Malabarba
fuente
fuente
Respuestas:
NB: gran parte de este texto proviene de una respuesta a una pregunta que resultó ser un duplicado de esta pregunta . Parte del material es lo suficientemente diferente como para que valga la pena agregarlo a esta pregunta.
El modo de esquema y las instalaciones de plegado de AUCTeX son dos bestias diferentes que están destinadas a hacer lo mismo en términos generales: ocultar y mostrar partes seleccionadas del búfer.
outline-minor-mode
Un elemento clave para reconocer cuando se usa
outline-minor-mode
es que tiene una clave de prefijo diferente aoutline-mode
(es decir, el modo principal ), precisamente para evitar conflictos de teclas con teclas de movimiento, etc. Ese prefijo tiene el valor predeterminado de torpe al tipoC-c @
(aunque puede cambiar eso personalizandooutline-minor-mode-prefix
). Todas las combinaciones de teclas enumeradas en este nodo del manual aún deberían funcionar, pero con el giro que reemplaza el prefijo de modo mayor deC-c
con el prefijo de modo menor deC-c @
. Por lo tanto,C-c @ C-c
correhide-entry
,C-c @ C-e
correshow-entry
, etc.Para usar estas instalaciones, debe habilitarlo
outline-minor-mode
. La forma más simple es con un gancho de modo:cambiando
outline-minor-mode-prefix
Se debe ser una cosa simple de cambio
outline-minor-mode-prefix
(que solía ser en su día). Pero no lo es. ¡Qué divertido!La cadena de documentos ahora da una nota críptica que:
Si, muy útil. Por extraño que parezca, incluso
customize
no establece esta variable a tiempo para evitar "manipular mapas de teclas" (a pesar de estar definidodefcustom
en el código fuente). La solución práctica: establezca esta variable en su archivo de inicio antes de cargaroutline
o cualquier otra cosa que se base en él (por ejemplo,org-mode
)Es posible que, por ejemplo, desee que el prefijo sea
C-o
(lo que significa que está perdiendoopen-line
, pero puede volver a vincularlo si realmente lo desea). Poner lo siguiente temprano en su archivo init hará el truco:Ahora, debería poder acceder a todas las funciones del modo esquema utilizando el
C-o
prefijo:C-o C-c
llamarhide-entry
,C-o C-e
llamarshow-entry
, etc.Agregar nuevos encabezados de esquema
Como beneficio adicional, también puede personalizar qué encabezados de esquema se pueden plegar y en qué niveles. Por ejemplo, me gusta poder hacer encabezados de sección "falsos" para ocultar el texto que no tiene un encabezado LaTeX verdadero, pero lógicamente se mantiene en el mismo nivel del documento. Con el siguiente código, puede usar:
Y podrá manipular la sección falsa como cualquier otra, pero LaTeX la ignorará cuando compile el documento:
outline-magic
outline-magic
extiende los modos de esquema para usarorg-mode
como ocultar / mostrar con la tecla de tabulación mágica. En otras palabras, probablemente pueda agregar esto a su flujo de trabajo y hacer que sus documentos LaTeX se comporten más comoorg
documentos. (No lo uso yo mismo, así que no puedo comentar sobre la funcionalidad).Instalaciones plegables AUCTeX
Las instalaciones de plegado de AUCTeX funcionan en entornos y lo que (confusamente) llaman macros , en lugar de secciones. Para usar esta funcionalidad, deberá habilitarla con
TeX-fold-mode
.Por ejemplo, el
itemize
entorno , desplegado, podría verse así:Las llamadas
TeX-fold-env
(por defecto:)C-c C-o C-e
dentro del entorno lo pliegan para que se vea así:Colocar el cursor en algún lugar adentro
[itemize]
lo expandirá temporalmente nuevamente mientras lo edita, y luego se plegará nuevamente[itemize]
cuando mueva el cursor fuera del entorno.Por "macro", AUCTeX significa cosas como
\footnote{...}
. Por lo tanto, llamarTeX-fold-macro
(por defecto:)C-c C-o C-m
cuando\footnote{This is a footnote}
esté dentro lo doblará hasta[f]
; se expandirá y contraerá de manera análoga a lo que sucede con los entornos.Puede usar las dos
outline-minor-mode
instalaciones de plegado de AUCTeX juntas en el mismo documento: hacen diferentes cosas en diferentes partes del mismo.fuente
TAB
, y esto probablemente podría funcionar para AUCTeX. Plegar macros conTAB
sería molesto en mi opinión (sería similar a plegar especificaciones de rebajas en línea ...).outline-minor-mode
debería funcionar de forma inmediata con AUCTeX: gnu.org/software/auctex/manual/auctex/Outline.html . Es decir, hasta que comience a definir nuevas macros de encabezado en LaTeX ...Lo que quieres se llama plegar, y hay 2 formas de hacerlo.
Esquema-modo menor
Este es un modo menor incorporado que es exactamente lo que utiliza el modo org para ocultar y mostrar sus titulares. Puede asegurarse de que siempre esté activado
latex-mode
conLas combinaciones de teclas que define son un poco difíciles de usar, por lo que es posible que desee cambiar algunas de ellas.
Latex-extra
latex-extra es un modo menor disponible en Melpa y Melpa-stable. Puede instalarlo
M-x package-install RET latex-extra
y encenderlo conAgrega una serie de comodidades
latex-mode
, una de ellas es el plegado de secciones.latex-extra
también se usaoutline-minor-mode
detrás de escena, pero la ventaja es que emula el comportamiento del modo org más de cerca (aunque no de forma idéntica).De su léame :
fuente