Remover quebra de linha no arquivo tex

0

Observação: estou trabalhando com o arquivo .tex (TeX).

No código TeX, a quebra de linha não afeta a saída. Para produzir um novo parágrafo, temos que usar o comando \par .

Alguns editores do TeX interpretam uma linha em branco como \par . Então o seguinte código

line one here
continues here and so on

New paragraph here

produz a saída

line one here continues here and so on

New paragraph here

Como alguns editores podem agrupar linhas longas automaticamente, gosto de escrever meus códigos com menos RETURN possível. Isso é melhor quando queremos cuidar dos números de linha.

Veja a captura de tela:

Gostariaderemoverofinaldaslinhas,masmanteraslinhasembrancomesmoquecontenhamapenasespaçosembranco.Apósoprocesso,eugostariadomeucódigoassim:

Note que o novo código contém apenas 3 linhas.

Eu tentei usar tr , mas não obtive sucesso.

Editar: depois de testar o código sugerido por @ lcd047, notei que alguns problemas aparecem quando a linha n contém % ( % é usada para comentar no TeX e tudo depois na linha é ignorado).

Então, acho que devo adicionar a solicitação : se a linha n contiver % não cole n com n-1 nem cole n+1 com n .

    
por Sigur 01.05.2015 / 11:51

2 respostas

4

Talvez algo como:

awk '!NF || /%/ {printf "%s", (NR > 1 ? "\n" : "") $0; sep = "\n"; next}
     {printf "%s", sep $0; sep = " "}
     END {if (NR) print ""}' < file.in > file.out
    
por 01.05.2015 / 13:21
2

Tente isto:

perl -lpe 'BEGIN{ $/= $\ = "\n\n" } s/^[^%]+?\K\n/ /gmo' <file_old.tex >file_new.tex

Para deixar as linhas sozinhas com comandos:

perl -lpe 'BEGIN{ $/= $\ = "\n\n" } s/^\s*[^\s\%][^%]*?\K\n/ /gmo' <file_old.tex >file_new.tex

Observe, no entanto, que algumas das pessoas que revisaram seus artigos irão odiá-lo com paixão por esse movimento.

    
por 01.05.2015 / 12:31