У меня есть два файла, paper.tex
и paper_suggested_changes.tex
последний является модифицированной версией первого с исправлениями.
Мне нужно просмотреть два файла и выбрать, какие изменения принять или отклонить, как мне поступить?
У меня есть два файла, paper.tex
и paper_suggested_changes.tex
последний является модифицированной версией первого с исправлениями.
Мне нужно просмотреть два файла и выбрать, какие изменения принять или отклонить, как мне поступить?
Ответы:
Установите такую утилиту, как Meld ( для этого тоже есть другие утилиты , но мне нравится Meld, так как она не имеет зависимостей KDE / GNOME) и используйте ее для визуального сравнения / объединения файлов.
Meld - это инструмент визуального сравнения и слияния, предназначенный для разработчиков. Meld поможет вам сравнить файлы, каталоги и проекты с управлением версиями. Он обеспечивает двух- и трехстороннее сравнение файлов и каталогов, а также поддерживает многие популярные системы контроля версий.
Я бы, конечно, использовал vimdiff просто потому, что vim - мой редактор по умолчанию. Сначала проверьте, есть ли в вашем редакторе опция diff, поскольку она упрощает работу.
Существует много графических инструментов, наиболее удобным из которых является Meld (как предлагает Renan).
Также рассмотрите возможность использования latexdiff, чтобы увидеть различия в хорошем формате PDF.
latexdiff paper.tex paper_suggested_changes.tex > changes.tex
pdflatex changes.tex
Это создаст документ changes.pdf с изменениями в разных цветах, и старые будут удалены.
Я никогда не использовал Meld, но, основываясь на скриншоте, опубликованном @Renan, он выглядит довольно хорошо для этой цели.
Для этого я использую vim, и он отлично работает, если вы не против узнать, как использовать клавиши для навигации и работы с различиями. Преимущество изучения этого заключается в том, что, vim
вероятно, существует в большинстве * систем NIX, поэтому вам не нужно устанавливать дополнительное программное обеспечение. Вот как это использовать.
Запустите любой из:
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
.
Вы увидите вертикально разделенное окно с paper.txt
левым и paper_suggested_changes.tex
правым буфером, с различиями, выделенными разными цветами в зависимости от типа изменения, например: добавлена строка, удалена строка, строки разные.
Вы можете перейти к следующему различию с помощью последовательности клавиш ]c
Вы можете перейти к предыдущему различию с помощью последовательности клавиш [c
Чтобы принять изменение из другого файла и применить его в текущем файле, в котором находится курсор, наведите курсор на изменение и введите do
.
Для переключения между левым и правым буфером нажмите ctrl
+ w
w
.
:diffthis
здесь.
Как и некоторые другие упомянутые ответы, используйте Vimdiff. Вот краткий список наиболее полезных ключевых команд, которые могут вам пригодиться: https://stackoverflow.com/q/5288875/212942
Вы можете использовать любое из предложенных выше решений, vimdiff / gvimdiff отлично подходят, если вы привыкли к vim. Meld тоже хорош, но мне лично нравится вне всякого сравнения, это еще один инструмент с графическим интерфейсом, такой как meld, иногда он вводит в заблуждение большими файлами, поэтому я перешел с meld на bcompare. В Центре программного обеспечения Ubuntu доступно множество других сравнений, также вы можете скачать файл .deb с http://www.scootersoftware.com/download.php по этой ссылке.
Я рекомендую использовать контроль версий файла. Отслеживание версий в системе контроля версий значительно облегчит вашу жизнь.
Самая простая система контроля версий - CVS . Он базовый, что означает, что вы можете быстро изучить его полезные функции, но вы не сможете воспользоваться преимуществами более сложных функций более сложных систем. Зафиксируйте каждую последующую версию файла и используйте cvs diff paper.tex
для просмотра различий между новой версией и последней зафиксированной версией или cvs diff -r1.3 -r1.4 paper.tex
для просмотра различий между версией 1.3 и версией 1.4.
Несколько человек одновременно редактируют документ, и вы получите выгоду от распределенной системы контроля версий . Три распространенных DVCS - это Bazaar , Git и Mercurial . Зафиксируйте версию каждого участника в ветке (или, что еще лучше, создайте единый репозиторий для общего доступа и попросите каждого участника посвятить ему свою работу). Периодически объединяйте версии между ветками. DVCS отслеживает, какие изменения вы уже слили - это огромная помощь, чтобы вы случайно не потеряли работу. Команда слияния DVCS также автоматически объединит детали, которые были изменены только одним человеком, поэтому вам нужно будет только очистить части, где есть конфликт.