Просмотр изменений в .tex файлах

8

У меня есть два файла, paper.texи paper_suggested_changes.texпоследний является модифицированной версией первого с исправлениями.

Мне нужно просмотреть два файла и выбрать, какие изменения принять или отклонить, как мне поступить?

Лукас
источник
Вы также можете посмотреть этот вопрос на tex.sx: tex.stackexchange.com/questions/65453/track-changes-in-latex
StrongBad

Ответы:

12

Установите такую ​​утилиту, как Meld ( для этого тоже есть другие утилиты , но мне нравится Meld, так как она не имеет зависимостей KDE / GNOME) и используйте ее для визуального сравнения / объединения файлов.

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

введите описание изображения здесь

Ренан
источник
2
Оу, мило! Почему я не нашел это несколько месяцев назад? Спасибо.
Сигур
10

Я бы, конечно, использовал vimdiff просто потому, что vim - мой редактор по умолчанию. Сначала проверьте, есть ли в вашем редакторе опция diff, поскольку она упрощает работу.

Существует много графических инструментов, наиболее удобным из которых является Meld (как предлагает Renan).

Также рассмотрите возможность использования latexdiff, чтобы увидеть различия в хорошем формате PDF.

latexdiff paper.tex paper_suggested_changes.tex > changes.tex
pdflatex changes.tex

Это создаст документ changes.pdf с изменениями в разных цветах, и старые будут удалены.

balkian
источник
3

Я никогда не использовал Meld, но, основываясь на скриншоте, опубликованном @Renan, он выглядит довольно хорошо для этой цели.

Для этого я использую vim, и он отлично работает, если вы не против узнать, как использовать клавиши для навигации и работы с различиями. Преимущество изучения этого заключается в том, что, vimвероятно, существует в большинстве * систем NIX, поэтому вам не нужно устанавливать дополнительное программное обеспечение. Вот как это использовать.

  1. Запустите любой из:

    gvimdiff paper.tex paper_suggested_changes.tex
    gvim -d paper.tex paper_suggested_changes.tex
    vimdiff paper.tex paper_suggested_changes.tex
    vim -d paper.tex paper_suggested_changes.tex
    

    gvimdiffэто ярлык для gvim -d. Если у вас нет, gvimdiffто используйте gvim -d. Аналогично для vimdiff. gvimнемного проще в использовании, чем vim.

  2. Вы увидите вертикально разделенное окно с paper.txtлевым и paper_suggested_changes.texправым буфером, с различиями, выделенными разными цветами в зависимости от типа изменения, например: добавлена ​​строка, удалена строка, строки разные.

  3. Вы можете перейти к следующему различию с помощью последовательности клавиш ]c

  4. Вы можете перейти к предыдущему различию с помощью последовательности клавиш [c

  5. Чтобы принять изменение из другого файла и применить его в текущем файле, в котором находится курсор, наведите курсор на изменение и введите do.

  6. Для переключения между левым и правым буфером нажмите ctrl+ w w.

Янош
источник
1
Я просто хочу упомянуть :diffthisздесь.
Бернхард
1

Как и некоторые другие упомянутые ответы, используйте Vimdiff. Вот краткий список наиболее полезных ключевых команд, которые могут вам пригодиться: https://stackoverflow.com/q/5288875/212942

TCSGrad
источник
1

Вы можете использовать любое из предложенных выше решений, vimdiff / gvimdiff отлично подходят, если вы привыкли к vim. Meld тоже хорош, но мне лично нравится вне всякого сравнения, это еще один инструмент с графическим интерфейсом, такой как meld, иногда он вводит в заблуждение большими файлами, поэтому я перешел с meld на bcompare. В Центре программного обеспечения Ubuntu доступно множество других сравнений, также вы можете скачать файл .deb с http://www.scootersoftware.com/download.php по этой ссылке.

утра
источник
0

Я рекомендую использовать контроль версий файла. Отслеживание версий в системе контроля версий значительно облегчит вашу жизнь.

Самая простая система контроля версий - CVS . Он базовый, что означает, что вы можете быстро изучить его полезные функции, но вы не сможете воспользоваться преимуществами более сложных функций более сложных систем. Зафиксируйте каждую последующую версию файла и используйте cvs diff paper.texдля просмотра различий между новой версией и последней зафиксированной версией или cvs diff -r1.3 -r1.4 paper.texдля просмотра различий между версией 1.3 и версией 1.4.

Несколько человек одновременно редактируют документ, и вы получите выгоду от распределенной системы контроля версий . Три распространенных DVCS - это Bazaar , Git и Mercurial . Зафиксируйте версию каждого участника в ветке (или, что еще лучше, создайте единый репозиторий для общего доступа и попросите каждого участника посвятить ему свою работу). Периодически объединяйте версии между ветками. DVCS отслеживает, какие изменения вы уже слили - это огромная помощь, чтобы вы случайно не потеряли работу. Команда слияния DVCS также автоматически объединит детали, которые были изменены только одним человеком, поэтому вам нужно будет только очистить части, где есть конфликт.

Жиль "ТАК - перестань быть злым"
источник
3
Это, мой друг, безумная идея. Мне нужно только diff, потому что мой соавтор не может набрать% и начать новую строку. Мне очень нравится git, но шансы убедить других использовать его абсолютно равны нулю.
Лукас
0

Вы можете использовать xxdiffдля эффективного выбора и объединения двух или трех файлов. Он также может сравнивать каталоги (только 2).

Это можно найти здесь , но также во многих дистрибутивах

jpk83
источник