Программа сравнения на основе абзацев?

Кто-нибудь знает о программе просмотра различий или программе сравнения, которая может выполнять различия на основе абзацев? В моих репозиториях есть большое количество файлов LaTeX, отформатированных в абзацы шириной 80 символов (для удобного редактирования с помощью vim). В настоящее время очень сложно интерпретировать различия между различными версиями, потому что любое редактирование, которое приводит к изменению положения разрывов строк, приводит к множеству ложных различий, которые проявляются в различиях.


person JSBձոգչ    schedule 08.03.2010    source источник
comment
хм, латекс и vim устарели, имхо, абзацы должны переноситься строками в редакторе, а не в файле...   -  person Gabriel Ščerbák    schedule 09.03.2010
comment
@Gabriel, vim может переносить строки в представлении редактора, но по разным причинам мне удобно, чтобы мои строки были перенесены в файл.   -  person JSBձոգչ    schedule 09.03.2010


Ответы (4)


Вам нужен wdiff.

Хотя я одобряю разрыв строки в конце каждого предложения. Это упрощает не только контроль исходного кода, но и работу с соавторами.

person Norman Ramsey    schedule 09.03.2010
comment
Мне пришлось создать оболочку wdiff на основе codesnippets.joyent.com/posts/show/1033, но после этого это сработало. - person JSBձոգչ; 16.04.2010

Я использую latexdiff, который очень хорошо подходит для небольших правок, но не так хорош, если у вас серьезные изменения.

person Rob Hyndman    schedule 09.03.2010

Мне всегда было проще вручную разрывать строку в конце предложений. Это упрощает редактирование, поскольку, если вы распечатали версию вывода в формате PDF и написали на ней, вы можете просто отсканировать левую часть страницы в поисках начала предложения, которое хотите изменить.

Это также означало бы, что любая дифференциальная программа не будет давать массу ложных различий.

person Seamus    schedule 08.03.2010
comment
Мне нравится это решение, но проблема заключается в том, чтобы иметь дело с соавторами, которые не будут следовать такого рода соглашениям... - person Damien Pollet; 09.03.2010

Если вы не возражаете против переформатирования перед сравнением, вы можете переформатировать каждый абзац в одну очень длинную строку, а затем использовать инструмент сравнения, который показывает внутристрочные различия (в дополнение к различиям строк, которые в вашем случае будут представлять различия в абзацах).

В качестве альтернативы, с более умным переформатированием, вы можете переформатировать каждый абзац так, чтобы в каждой строке было одно предложение.

person Greg Hewgill    schedule 08.03.2010