Как добавить панель изменений в латексе?

В Latex я создал новую команду changedtext, чтобы пометить определенные части в моем документе и сделать их синими:

\newcommand{\changedtext}[1]{\textcolor{blue}{#1} }

Есть ли простой способ изменить команду, чтобы полосы изменений отображались рядом с текстом в итоговом PDF-файле? Если это невозможно, также будут полезны любые другие предложения по визуальной разметке (кроме полос изменений), которые будут четкими на черно-белой распечатке.

Обновление: Читателям этого вопроса может быть интересно, что некоторое время назад я начал использовать latexdiff скрипт для разметки изменений между двумя версиями. Я использую его в сочетании с SVN, что, на мой взгляд, отлично работает; если вы разделите свои файлы LaTeX, вы можете посмотреть этот вопрос по tex.stackexchange.


person Rabarberski    schedule 26.05.2010    source источник
comment
Возможно, вам стоит взглянуть на texdiff: mark.doll.name/texdiff   -  person Charles Stewart    schedule 26.05.2010


Ответы (3)


Используйте в своей команде один из пакетов макросов changebar.

person Aaron Digulla    schedule 26.05.2010
comment
Хм, у этого решения есть некоторые ограничения. Я пробовал пакет changebar и вставил \ cbstart и \ cbend в свою команду, это создает проблемы, когда я использую свою команду, например, в формулах. - person Rabarberski; 26.05.2010

Еще один способ, который был бы очень ясен в черно-белом режиме, - это выделить (отображается на сером фоне).

Используйте пакеты soul и color и определите цвет выделения:

\usepackage{soul}
\usepackage{color}
\definecolor{lightgray}{rgb}{.92,.92,.92}
\sethlcolor{lightgray}

Теперь вы можете использовать \hl{highlighted text} в тексте для выделения.

person Cloudanger    schedule 28.05.2010
comment
Не думал об этом, отличная идея! - person Rabarberski; 31.05.2010

Некоторое полусырое решение (неудовлетворительное), которое я только что придумал, - это использование \marginpar для произвольного указания на полях, например:

\newcommand{\changedtext}[1]{\textcolor{blue}{#1 \marginpar{r1}} }

поместит текст 'r1' (из ревизии 1) на поле.

Однако при этом команду \changedtext нельзя использовать везде (например, в формулах, подписях), потому что LateX будет жаловаться (в моем случае) на «потерянные числа с плавающей запятой».

Тем не менее, некоторым людям это может быть полезно ...

person Rabarberski    schedule 26.05.2010