LINUX.ORG.RU

Latex: Новый текст другим цветом?

 


0

1

Нет ли такого стиля, чтобы новый, вносимый в исходник текст имел другой цвет после компиляции? Новый по отношение к времени создания файла. Т.е. если файл имеет дату создания, скажем 2020.04.26 и время 16.00, то все, что я вношу после этого времени будет отображаться скажем красным после компиляции в pdf. Стиль xcolor требует вносить специальные операторы типа {\color{red} текст}, что не очень удобно. Просмотрел Балдина, там есть все стили, но не нашел. Может плохо смотрел :(

Пока делаю так. Сохраняю pdf файл под другим именем (добавляю дату в имя), затем делаю добавления и исправления в исходник. Полученный pdf сравниваю со старым с помощью diffpdf. Но было бы намного удобнее сразу видеть изменения.

★★★

Последнее исправление: rustamych (всего исправлений: 1)

Ответ на: комментарий от TeopeTuK

Знаю про latexdiff. Но это опять надо делать какие то действия - сохранять файл, потом сравнивать. diffpdf даже проще. К тому же я помню, что latexdiff не работает с многофайловым документом, с \include, а уменя именно много файлов. Я не программист, но наверное это просто сделать. При запуске создать копию исходника, а при компилляции сравнивать два файла и закрашивать отличия. Хотя, что русскому хорошо, то немцу смерть :)

rustamych ★★★
() автор топика
Последнее исправление: rustamych (всего исправлений: 1)
Ответ на: комментарий от aquadon

Я хочу просто вставит в преамбулу типа \usepackage{blabla} и не парится. Скомпилил и в pdf новый текст красным. А latexdiff, это ж надо что то делать. Пусть комп сам делает.

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

То, как ты это формулируешь, сделать нельзя. Текстовые файлы не содержат в себе предыдущие версии, а тебе они нужны, чтобы с ними сравнивать текущую. Существуют разные способы сохранять версии (многие для твоей задачи непригодны или неудобны: всякие системы бекапа, облачные сервисы, снапшоты файловой системы, наверняка еще что-нибудь найдется), но для работы с версиями исходных текстов придумали системы управления версиями. Освой Git для работы с версиями, и к нему latexdiff-git, как раз предназначенный для выделения изменений между версиями в Git. (Или git-latexdiff, вроде получше должно быть, но надо экспериментировать.)

TeopeTuK ★★★★
()
Последнее исправление: TeopeTuK (всего исправлений: 1)

Я для этого использую банальный гит. А вообще, ну, заведите себе \def\new_text и #1 там красным залейте. Когда закончили версию – отправили, потом все new_text заменили на пустоту. Костыль, конечно.

JAkutenshi ★★
()
Ответ на: комментарий от TeopeTuK

Git пробовал, освоил в минимальном объеме, завел в BitBucket проекты. Делаю коммиты каждый раз как работаю с файлом, на всякий случай. Но как то не удобно это для написания статей. Это как из пушки по воробьям. Гит для программистов, где он более полезен и функционален. Про git-latexdiff не знал, спасибо, гляну что это за зверь. Вот насчет «То, как ты это формулируешь, сделать нельзя.» не согласен. Перед тем как начинать писать в тех файл делаю копию тех файла и его pdf. Имеется два файла - один в работе, другой не меняется, для сравнения. Разве нельзя сравнивать два текстовых файла? Можно конечно. Есть же diff например. Но я не программист, не могу оценить сложность задачи. Это так, фантазии. Попробую написать тому, кто уже написал какой нибудь стиль, тот же latexdiff например. diffpdf тоже оказался не очень удобен для этих целей. Вставил новую формулу с номером, нумерация поменялась и diffpdf показывает кучу изменений в номерах формул.

rustamych ★★★
() автор топика
Ответ на: комментарий от JAkutenshi

К этому вчера и пришел, \newcommand{\n}[1]{{\color{red} #1}}. Просто в окончательном варианте поменяю red на черный, а в тексте пусть торчат эти \n, все равно пустышки. Попробовал пакет changes, там есть возможность в окончательном варианте удалить все эти доп операторы в тексте. Но оказалось, что с выделенными формулами не работает, ругается и встает как конь. В общем стало жаль потраченного времени, плюнул и пользуюсь \n. Насчет гит написал уже выше пост.

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

Я круче придумал. Крч, передавать туда не только текст, но и число – номер правки. А внутри функции смотреть глобальный номер – если совпадает, то делать красным. Если -1, то соответственно все будет черным. Найс.

JAkutenshi ★★
()
Ответ на: комментарий от einhander

Опаньки, а что такие есть? Я пользуюсь в последнее время texstudio, раньше пользовал texmaker и texworks. В них такого нет.

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

Vim + gitgutter например. Но думаю, что у emacs тоже что-то есть подобное. У texstudio традиционно плохо с гитом, возможно сейчас лучше, давно им не пользовался. Vim eще в diff умеет, так что очень удобно.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от einhander

Спасибо за информацию. Но vim и emacs не для меня. Я как-то поставил и попробовал и понял, что не для меня. В emacs есть хорошоя примочка (не помню уже как называется), которая позволяет править прямо в скомпилированном файле. Что бы ее посмотреть и ставил emacs.

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

Да, конечно:

\usepackage{xcolor}
\newcommand{\diff}[2]{%
\ifnum \currentVersion = #1%
	{\color{red}#2}%
\else%
	#2%
\fi}
\newcommand{\setCurrentVersion}[1]{\def\currentVersion{#1}}

\setCurrentVersion{2}
JAkutenshi ★★
()
Ответ на: комментарий от TeopeTuK

Сейчас попробовал git-latexdiff - неплохо. Буду пользоваться. Одной строкой из консоли получаешь разницу в версиях, что на гит. Что хорошо сделали - можно запускать и для файла с включениями других, с \include \input. git-latexdiff запускает вначале latexpand, который собирает в один и затем сравнивает. Хорошо, что ничего лишнего в своей директории не появляется. Автоматически вызывается просмотрщих pdf по умолчанию и в него вываливается файл с изменениями. Что еще положительного - с ключем -b запускается цепочка pdflatex bibtex pdflatex pdflatex. Я всегда пользую bibtex и этот ключ полезен. Спасибо за наводку.

rustamych ★★★
() автор топика
Ответ на: комментарий от einhander

Я за свою жизнь пользовал наверное с десяток разных редакторов, уж и названий не помню. Как то год назад решил поробовать другие редакторы, думаю может остал от жизни. Нашел обзор и начал тупо ставить и смотреть, что оне могут. Что получше, то приблизительно одно и тоже. В emacs порадовал auctex. Такая удобная штука, но сам emacs, извините, не мое. В texstudio есть svn, но я так и не понял, что за зверь. Сейчас склоняюсь к git + git-latexdiff. В принципе неплохо работает. Закончил работу, сделал коммит, потом легко сравнить с любым предыдущим комитом. Главное делать много не надо, строчку запустил в консоли, подождал немного и ву а ля в /tmp все, что нужно. А какой редактор вы знаете с такой возможностью?

rustamych ★★★
() автор топика
Ответ на: комментарий от rustamych

В texstudio есть svn

Texstudio будет комитить при каждом сохранении файла. Можно настроить его на git, но я предпочитаю осмысленные комиты.

einhander ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.