Корректировка PDF-книги, тезисов или отчетов, полученных из большого многостраничного проекта Sweave

Я большой поклонник воспроизводимых исследований. Я часто использую make, Sweave, LaTeX и R для создания крупных исследовательских отчетов (т.е. Множество команд Sexpr() и кучи графиков и таблиц).

Очевидно, что R CMD Sweave идентифицирует определенные ошибки в фрагментах кода R при компиляции. Но полученный PDF файл может по-прежнему содержать нежелательные результаты. У меня есть несколько стратегий для корректуры таких документов, но мне было интересно учиться у других на SO.

Вопросы:

  • Есть ли у кого-нибудь советы или рекомендации по корректуре и контролю качества при создании PDF файлов на основе крупных проектов с несколькими файлами Sweave?
  • Каковы наиболее распространенные ошибки, с которыми вы сталкиваетесь в результирующих PDF файлах?
  • Как вы эффективно идентифицируете ошибки в полученном PDF файле?
  • Как вы эффективно перемещаетесь между источниками PDF и Rnw?

Ответ 1

Я не уверен, что это то, что вы ищете, но большинство из этих проблем можно сделать меньше, если вы используете emacs, auctex и emacs говорят статистику. Все они доступны в репозиториях linux, и для Windows существует предварительно скомпилированный двоичный файл http://vgoulet.act.ulaval.ca/en/emacs/windows/

Основным преимуществом Emacs является то, что вы можете иметь свою консоль R в одном окне, ваш источник tex в другом, а Emacs выделяет как LaTeX, так и R соответственно в файле .Rnw, что действительно помогло мне обнаружить ошибки. Вы также можете оценить небольшие области кода R, а также просмотреть таблицы и другие объекты в TeX. Это определенно кривая обучения, но я использую ее примерно месяц, и она уже сделала меня примерно на 50% более продуктивной в моих воспроизводимых исследованиях. Ключевые комбинации являются интуитивно понятными, как только вы их знаете, и еще одно преимущество заключается в том, что Emacs предоставляет режимы почти для каждого программирования lanaguage под солнцем, а это означает, что время, затрачиваемое на изучение того, как его использовать, будет повторяться снова и снова. Более конкретно 1) Emacs помогает здесь с выделениями синтаксиса и областями предварительного просмотра, чтобы гарантировать, что определенные таблицы отформатированы так, как вы хотите, без отсутствующих строк или ярлыков. 2) Я, как правило, в конечном итоге делаю орфографические ошибки и ошибки пакетов, поскольку я склонен разрабатывать свои статистические анализы в нескольких проходах над документом. 3) Emacs обнаружит любые ошибки компиляции, и код R может быть протестирован индивидуально до того, как весь документ будет скомпилирован. 4) Если вы используете команду для sweave (Alt + m, s), затем скомпилируйте LateX ctrl c (обычно дважды для получения меток и Bibtex вправо) другой ctrl c откроет PDF для просмотра (к сожалению, он не открывается в emacs по умолчанию, но я представляю, что есть пакет или script, который кто-то сделал, чтобы включить это).

Я уверен, что другие могут дать больше примеров полезности emacs для такого рода работ, как я уже сказал, я только начинаю с этого (но его намного лучше, чем все другие текс-программы и программы, которые я использовал - Technix-центр, киле, тексмейкер).

Я бы не рекомендовал его для тех, кто не знал ни R, ни LaTeX, но если вы это сделаете, это сделает вас на порядок более эффективными.

Ответ 2

Хороший вопрос. Проблемы, которые человек видит, сильно зависят от работы, которую он делает. Для меня наиболее распространенными проблемами, не относящимися к R, являются орфографические ошибки, цифры из ударов, уравнение с ошибкой в ​​нем и т.д.

Самая надежная, независимая от платформы и эффективная стратегия обнаружения ошибок, которую я обнаружил, заключается в частом экспорте в PDF. Поработайте немного; проверить. Поработайте немного больше, проверьте еще раз. Да, это отстой для большого проекта. Однако инструменты, подобные cacheSweave, могут помочь. Суть в том, что если вы работаете в течение 2 часов повсюду и получаете сообщение об ошибке, не забавно пытаться отследить его.

С большим проектом, когда я получаю сообщение об ошибке в chunk 287 (или что-то еще), это помогает сделать паузу и запутать R-код. Из контекста я обычно могу выяснить, где находится ошибка, и быстро перемещаться туда. Другой вариант - назвать куски кода, но кто хочет найти 591 имя?

Для проблем с уравнениями/математикой полезен редактор с предварительным предварительным просмотром. LyX имеет это, и AUCTeX тоже. Таким образом, если вы пропустите косую черту или запятую где-нибудь, то вы сразу же знаете, потому что предварительный просмотр испорчен. Это спасло меня бесчисленное количество часов.

Встроенный предварительный просмотр изображений (сгенерированных Sweave) для LyX не существует, но для режима Org. Это очень, очень сильный плюс по той же причине.

В наши дни у меня нет никаких других ошибок LaTeX, потому что LyX - WYSIWYM; он генерирует LaTeX без меня. Org-mode хорош в этом отношении. У AUCTeX и ESS есть инструменты, которые помогут и в порядке (Rstudio похож). Я не играл с Eclipse et al. очень.

Некоторые проблемы действительно трудно заметить без изучения журналов, таких как URL (или таблица и т.д.), запуская страницу. PDF часто. Работа и проверка. Это лучший способ, запрещающий экспертную оценку другим набором глаз.

Кстати, LyX spell-проверяет разметку non-LaTeX с помощью aspell.

Ответ 3

Я не уверен точно, что вы ищете, когда имеете в виду "корректуру", но я нахожу, что в LaTeX вообще используют множество операторов \marginpar, чтобы отметить любые проблемы для будущих исправлений. Другой способ сделать это - записать заметки в окончательный PDF файл с помощью хорошего PDF-читателя, но затем они исчезнут, если вы перекомпилируете.

Для тех из нас, у кого есть постоянные проблемы с использованием Emacs (не шутите!), опция Sweave на основе графического интерфейса - это Eclipse. Он может быть настроен для компиляции Sweave с одним щелчком мыши, делает правильное выделение кода и имеет обычные функции IDE. Eclipse также предлагает проверку орфографии через пакет, который помогает в корректуре. Не уверен, что вы можете установить проверку орфографии только для доказательства частей LaTeX, что было бы идеальным.

RStudio - это новый, но интересный вариант.