Ao editar arquivos organizacionais, acho extremamente conveniente como você pode ocultar e exibir manchetes e seu conteúdo apenas pressionando TAB
a manchete.
Por exemplo, considere o seguinte buffer
* Headline 1
Some text here.
* Headline 2
Some more text here.
Se eu colocar o ponto no primeiro *
e pressionar TAB
, obterá o seguinte:
* Headline 1...
* Headline 2
Some more text here.
Existe uma maneira de conseguir isso com as seções do LaTeX?
ou seja, como posso ocultar e exibir o conteúdo de uma seção / capítulo / etc do LaTeX, mantendo o título visível? Estou usando o AucTeX no modo LaTeX, mas não encontrei nada que pareça desempenhar esse papel.
latex
code-folding
Malabarba
fonte
fonte
Respostas:
Nota: grande parte deste texto veio de uma resposta a uma pergunta que acabou sendo uma duplicata dessa pergunta . Parte do material é suficientemente diferente que parecia valer a pena adicioná-lo a essa pergunta.
O modo de estrutura de tópicos e as instalações dobráveis do AUCTeX são duas bestas diferentes que devem fazer amplamente a mesma coisa: ocultar e mostrar partes selecionadas do buffer.
outline-minor-mode
Um elemento-chave para reconhecer quando se usa
outline-minor-mode
é que ele tem uma tecla de prefixo diferenteoutline-mode
(ou seja, o modo maior ) -, precisamente para evitar conflitos de chave com chaves de movimento, etc, que padrões de prefixo para o estranho-a-tipoC-c @
(embora você pode mude isso personalizandooutline-minor-mode-prefix
). Todas as combinações de teclas listadas neste nó do manual ainda devem funcionar, mas com o toque que você substitui o prefixo do modo principalC-c
com o prefixo do modo menor deC-c @
. Portanto,C-c @ C-c
correhide-entry
,C-c @ C-e
correshow-entry
e assim por diante.Para usar esses recursos, você precisa habilitar
outline-minor-mode
. A maneira mais simples é com um gancho de modo:mudando
outline-minor-mode-prefix
Ele deve ser uma coisa simples de mudança
outline-minor-mode-prefix
(que costumava ser de volta ao dia). Mas isso não. Que divertido!A docstring agora fornece uma nota enigmática de que:
Sim, muito útil. Curiosamente, nem mesmo
customize
define essa variável a tempo de evitar "manipular mapas de teclas" (apesar de ser definidadefcustom
no código-fonte). A solução prática: defina essa variável no seu arquivo init antes de carregaroutline
ou qualquer outra coisa criada a partir dele (por exemplo,org-mode
).Você pode, por exemplo, querer que o prefixo seja
C-o
(o que significa que você está perdendoopen-line
, mas pode religá-lo, se realmente quiser). Colocar o seguinte no início do arquivo init fará o truque:Agora, você deve conseguir acessar toda a funcionalidade do modo de estrutura de tópicos usando o
C-o
prefixo -C-o C-c
para ligarhide-entry
,C-o C-e
ligarshow-entry
e assim por diante.adicionando novos títulos de estrutura de tópicos
Como um bônus adicional, você também pode personalizar quais cabeçalhos de estrutura de tópicos podem ser dobrados e em que níveis. Eu, por exemplo, gostaria de poder criar cabeçalhos de seção "falsos" para ocultar o texto que não possui um cabeçalho LaTeX verdadeiro, mas logicamente é mantido no mesmo nível do documento. Com o seguinte código, você pode usar:
E você poderá manipular a seção falsa como qualquer outra, mas o LaTeX a ignorará quando você compilar o documento:
outline-magic
outline-magic
estende os modos de estrutura de tópicos para usarorg-mode
ocultação / exibição semelhantes com a tecla tab mágica. Em outras palavras, você provavelmente pode adicionar isso ao seu fluxo de trabalho e fazer com que seus documentos LaTeX se comportem mais comoorg
documentos. (Eu não o uso, não posso comentar sobre a funcionalidade.)Instalações dobráveis AUCTeX
As instalações dobráveis do AUCTeX funcionam em ambientes e no que eles (confusamente) chamam de macros , em vez de seções. Para usar essa funcionalidade, será necessário ativá-la
TeX-fold-mode
.Por exemplo, o
itemize
ambiente , desdobrado, pode se parecer com:A chamada
TeX-fold-env
(padrão :)C-c C-o C-e
dentro do ambiente é dobrada para se parecer com:Colocar o cursor em algum lugar interno
[itemize]
o expandirá temporariamente novamente enquanto você o edita e depois se dobrará novamente para[itemize]
quando você mover o cursor para fora do ambiente.Por uma "macro", o AUCTeX significa coisas assim
\footnote{...}
. Portanto, chamarTeX-fold-macro
(padrãoC-c C-o C-m
:) quando estiver dentro\footnote{This is a footnote}
dobra-o até[f]
; ele irá expandir e contrair de maneira análoga ao que acontece com os ambientes.Você pode usar as
outline-minor-mode
instalações dobráveis e as do AUCTeX juntas no mesmo documento: elas fazem coisas diferentes em partes diferentes.fonte
TAB
, e isso provavelmente poderia funcionar para o AUCTeX. Dobrar macros comTAB
seria irritante na minha opinião (seria semelhante a dobrar especificações de descontos inline ...).outline-minor-mode
deve funcionar imediatamente com o AUCTeX: gnu.org/software/auctex/manual/auctex/Outline.html . Isto é, até você começar a definir novas macros título em LaTeX ...O que você quer se chama dobrar e há duas maneiras de fazer isso.
Modo secundário de estrutura de tópicos
Este é um modo secundário integrado que é exatamente o que o modo organizacional usa para ocultar e exibir suas manchetes. Você pode garantir que ele esteja sempre ativado
latex-mode
comAs teclas de atalho que define são um pouco difíceis de usar, portanto, você pode alterar algumas delas.
Látex-extra
O latex-extra é um modo secundário disponível no Melpa e no Melpa-stable. Você pode instalá-lo
M-x package-install RET latex-extra
e ativá-lo comEle adiciona uma série de conveniências
latex-mode
, uma delas é a seção dobrável.latex-extra
também usaoutline-minor-mode
nos bastidores, mas a vantagem é que emula o comportamento do modo organizacional mais de perto (embora não de forma idêntica).Do seu leia - me :
fonte