Удаление всей разметки автоматически изменяет пакет

Удаление всей разметки автоматически изменяет пакет

Я поискал и не нашел ответа на этот вопрос. Я использую пакет changes, и мне нужно удалить всю разметку из исходного файла. Естьэтот вопрособ использованииdelcmdchanges.bash, но, к сожалению, он остается без ответа.

У меня такие вопросы: почему скрипт не работает, и есть ли способ заставить его работать? Есть ли другой скрипт? (надеюсь, тот, который можно использовать и на машине с Windows)

Немного предыстории — я использую компьютер с Ubuntu 16.04.

Я пытаюсь удалить разметку из следующего файла, но безуспешно:

\documentclass{article}

\usepackage{changes} %I could use [final] to hide the markup from the PDF, but I need the ``evidence'' removed from the source

\begin{document}
 Some text \added{some added text}, and some \replaced{replaced}{replactd} text. \deleted{also, some deleted.}
\end{document}

Я поместил скрипт в ту же папку, что и input.tex, сделал скрипт исполняемым и использовал

sh ./delcmdchanges.bash -i input.tex output.tex

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

решение1

Попробуйте команду

awk -W version

Вероятно, он говорит вам что-то вроде mawk 1.3.3. mawk— это конкретная реализация awk, которая в этой версии имеет ошибку (отсутствующую функцию?), что она не поддерживает классы символов Posix. Скрипт delcmdchanges.bashиспользует класс символов [:space:], который не интерпретируется правильно.

Ваши варианты:

  • Обновитесь до mawk1.3.4. Хотя он доступен уже довольно давно, он еще не попал в несколько дистрибутивов Linux (например, Ubuntu 16.04 и 16.10, а также во все текущие (=ноябрь 2016) выпуски Debian, включая sid).

  • Установите другую реализацию awk, например gawk. Если она не стала автоматически реализацией по умолчанию после установки (то есть awkтеперь вызывает gawk), замените awkна gawkв скрипте.

  • Либо отредактируйте скрипт и замените все вхождения

    [[:space:]]
    

    к

    [ \t\r\n\v\f]
    

    (обратные косые черты следует понимать буквально, поэтому строка из 11 символов заменяется строкой из 13 символов).

решение2

Более новые версии пакета содержат новый скрипт, написанный на python. Его можно использовать, запустив python pyMergeChanges.py [-arh] <Input File> <Output File>из папки скрипта.

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

Более подробную информацию смотрите в документации пакета.

Связанный контент