LaTeX и несознательные редакции |
[May. 5th, 2008|08:10 pm] |
Отдельные несознательные редакции не принимают статьи в Латехе и требуют doc или rtf. В первом приближении проблема решается просто - исходный теховский файл конвертируется в rtf с помощью программы latex2rtf, проверяется OO и засылается в редакцию. Траблы начинаются когда редакция присылает правку. Поскольку в несознательных редакциях редакторы, как правило, не могут связно изложить свои замечания в виде отдельного связного текста, то обычно присылают тот же rtf, перечерканный красными репликами редактора. Причём бывает, что правка требуется такого сорта, что необходимо не только добавить пару строк, но и вставить дополнительную поясняющую ссылку. Т.е. как раз та работа, которую лучше всего делать в LaTeX. Но если им просто послать исправленный rtf, конвертированный из исправленного latex-исходника, то редакция начинает возмущаться - Как же так, у нас редакторы уже забыли, какие они замечания вам выставляли, не могли бы вы отредактировать текст, чтобы ваши исправления выделялись красненьким?
Поскольку явсе равно держу исходники в svn-репозитории на https (так удобнее работать с нескольких компьютеров), то почему бы не воспользоваться svn diff?
Т.е. перед первой засылкой в редакцию законченный теховский файл копируется в release. Типа svn copy ./ https://repo.ru/svn/Articles/tags/Article-1ed После того как получен от редакции исправленный текст в rtf, он открывается с помощью soffice, и в latex-файл вносится необходимая правка. После этого делается второй release svn copy ./ https://repo.ru/svn/Articles/tags/Article-2ed Осталось только сделать svn diff. Однако не всё так просто.
Обычный diff заточен под программистов, для которых минимальный квант текста - это строка. Поэтому работает он построчно. Это не совсем то, что нужно для обычного текста, где сверка должна делаться по словам. К счастью такие инструменты есть - более старый wdiff - http://ftp.gnu.org/gnu/wdiff/ и более новый dwdiff - http://os.ghalkes.nl/dwdiff.html Берем последний, по функциональности они примерно одинаковы, но wdiff какой-то очень замшелый. Причем оба они делают не diff, а сплав из старого и нового текста. Но это даже к лучшему.
Потом выясняем, что svn diff позволяет сменить свой внутренний diff на внешнюю команду, но при этом продолжает слать этой внешней команде много неотключаемого мусора, так что ввод и вывод придется фильтровать с помощью такого баш-скрипта svn-tex-diff.sh:
#!/usr/bin/bash case $1 in '--second-pass') echo "%%% $3" echo "%%% $5" dwdiff -1 -w "\\color{blue}" -x "\\color{black}" -y "\\color{red}" -z "\\color{black}" $6 $7 ;; *) svn diff -x '--second-pass' --diff-cmd "./svn-tex-diff.sh" $@ | sed -r -e '1,2{s/.*/%/g}' esac
Запускается он таким образом ./svn-tex-diff.sh https://repo.ru/svn/Articles/tags/Article-1ed/article.tex https://repo.ru/svn/Articles/tags/Article-2ed/article.tex и на выходе имеем теховский файл, где весь добавленный текст окружен блоками \color{red} - \color{black}. Если в скрипте у вызова dwdiff убрать ключик -1, то он и удаленный текст будет отмечать - только синим цветом. Не забудьте только в преамбуле добавить \usepackage{color} - latex2rtf, несмотря на свою общую ограниченность, этот пакет правильно интерпретирует, так что на выходе имеем исправленный rtf с добавленным текстом, отмеченным красненьким. Редакция будет в восторге.
Единственный недостаток - если исправления попадают внутрь verbatim окружения (где команды не интерпретируются) или в преамбулу (что приводит к ошибкм latex). Но в остальном метод работает весьма неплохо. |
|
|
Comments: |
почему их до сих пор не утопили, если они настолько тупы, что не в состоянии асилить даже LyX?
Я сам в шоке. Как и от уровня замечаний редактора. Наверное, это действительно как-то связано. Видимо, считается, что бездельников, которые знают слова типа цветоотделение и умеют быстро и без запинки произносить CMYK, лучше держать в теплом оффисе, где бы они могли делать вид, что работают, чем позволить им шататься по улицам и отнимать мелочь у зазевавшихся прохожих. Ханс Хаген и http://www.pragma-ade.nl/ - уникальный случай.
собственно, я вообще не понимаю, что может выдавать на-гора издательство, не принимающее TeX. разве что этикетки «ум — 2 рубля» по 8 штук на страницу A4.
зыж а на сайте TeX написано неверно. у меня, впрочем, тоже. %-)
![[User Picture]](http://lj.rossia.org/userpic/125447/74) | From: | boza |
Date: | May 11th, 2008 - 11:22 am |
---|
| | | (Link) |
|
Знание не только слова "цветоделение" (правильно так), но и знания, что это такое - тоже требует наличия головного мозга. Правда, непонятно, нафига цветоделение для научных статей.
Журнал, вообще-то, квази-научный, так сказать. Т.е. он вполне себе глянцевый, и там довольно много иллюстраций, не имеющих непосредственного отношения к тексту. Так что CMYK там, наверное, произносят без запинки. Но в целом дизайн довольно <<однообразный>>. Если бы они верстали его в Контексте, то особых неудобств от этого они бы не испытывали.
C \color я погорячился. latex2rtf понимает \textcolor{red}{text} но не \color{red}. Решается очевидным патчем - создается функция CmdColor по образцу CmdTextColor (итого три файла надо будет поправить). Придётся, видимо, патч разработчикам слать... | |