Um pouco de fundo.
Estou tentando controlar meus documentos de látex com versão e a eficácia dessa iniciativa melhoraria bastante se eu adotasse uma abordagem de uma frase por linha .
Por exemplo, é a seguinte a aparência dos meus documentos.
Some text here.
New stencence on the same paragraph.
Some more text, still on the same paragraph.
This is another paragraph.
Minha pergunta é simples.
Quanto disso eu posso automatizar / melhorar com o Emacs?
Os dois pontos a seguir são o que tenho em mente.
Minhas frases são longas , então eu preciso quebrar as linhas sem preenchê-las. Ou seja, uma frase muito longa precisa ser exibida em várias linhas na minha tela, mas precisa ser uma única linha no arquivo ".tex" . Isso seria preferencialmente feito de uma maneira que não envolvesse equações.
visual-line-mode
envolve a largura da janela, que é muito larga. Preciso de algo que envolva linhas e limite sua largura para 80 caracteres ou mais. Exatamente comofill-paragraph
faria normalmente, mas sem realmente quebrar as linhas no arquivo.- Posso quebrar manualmente a linha após cada frase, mas seria altamente preferível se eu pudesse configurar
fill-paragraph
(ou talvez atéauto-fill-mode
) colocar uma frase por linha também.
fonte
visual-line-mode
. Mas, além dessa quebra de linha, você também precisa inserir automaticamente um caractere de nova linha após cada frase, correto?Respostas:
Se você quer apenas algo parecido,
visual-line-mode
mas configurável, pode tentarlonglines-mode
qual é o que eu uso na maior parte da minha prosa.longlines-mode
agrupa seu texto de maneira semelhante àvisual-line-mode
largura configurada porfill-column
.Aqui está uma captura de tela com
fill-column
definido como70
(a janela na verdade se estende ainda mais para a direita).A configuração
fill-paragraph
seria legal, mas não sei como fazê-lo. Em vez disso, aqui está um truque temporário razoável: torne seu.
personagem elétrico no modo TeX, inserindo uma nova linha. Isso envolve apenas religá-lo em qualquer gancho de modo apropriado:fonte
Para (1), eu usaria uma margem ampliada, de modo que
visual-line-mode
agrupe as linhas na desejadafill-column
. Isso afetará as linhas e as equações do texto.Quanto a (2), pode-se definir um comando de preenchimento personalizado a ser vinculado
M-q
e preencher corretamente os parágrafos. Ainda não consegui escrever um comando com o comportamento correto para o preenchimento automático.Envolvendo tudo isso em um modo menor, pode parecer com o seguinte. Não é um código muito bonito, mas deve funcionar na maioria dos casos. (Eu exerço a
unfill-paragraph
funçãoinit.el
há algum tempo sem perceber problemas).fonte
unfill-paragraph
porospl/unfill-paragraph
. As margens também funcionam, mas o texto recuado parece ruim e também inclui equações, enquanto eu consegui hackear o método dos palangres abaixo para corrigir esses dois problemas.unfill-paragraph
(não corrigido) no meuinit.el
por um longo tempo. Eu só prefixado ontem para a consistência e introduziu um bug ....(let ((fill-column 1000000)) (fill-pragraph))
. Ainda não testei ainda.Seus problemas de controle de versão seriam evitados / resolvidos se você usar git diff --color-words ou latexdiff? Então você pode olhar para as palavras alteradas.
fonte
Uma maneira de melhorar isso que eu tenho usado (às vezes) há vários anos é exibir frases com quebras de linha fluindo uma após a outra, dobrando as quebras de linha usando os recursos de
tex-fold
(uma parte do AUCTeX).Isso significa que isso
é dobrado para
Recentemente, coloquei isso como um modo secundário em um pacote. Talvez alguém também ache isso útil: https://github.com/andersjohansson/tex-fold-linebreaks
fonte