Добавление комментариев, похожих на MS-Word, в LaTeX
Вопрос
Мне нужен способ добавить текстовые комментарии в "стиле Word" в документ Latex.Я не имею в виду комментировать исходный код документа.То, что я хочу, - это способ добавлять исправления, предложения и т.д.к документу, чтобы они не прерывали текстовый поток, но это все равно облегчило бы всем понимание того, к какой части предложения они относятся.Они также должны "исчезнуть" при подготовке документа к печати.
Сначала я думал о написании новой команды, которая просто пересылала бы входные данные в \marginpar{}
, и при компиляции для печати это просто сделало бы определение пустым.Проблема в том, что у вас нет гарантии, где появятся комментарии, и вы не сможете отличить их от других marginpars
.
Есть какие-нибудь идеи?
Решение
todonotes
это еще один пакет, который создает красивые выноски.Вы можете увидеть ряд примеров в Документация.
Другие советы
Поскольку LaTeX - это текстовый формат, если вы хотите показать кому-то различия таким образом, чтобы они могли их использовать (и выбирать из них варианты), используйте стандартный diff
инструмент (например,, diff -u orig.tex new.tex > docdiffs
).Это лучший способ аннотировать что-то вроде документов LaTeX, и он может быть легко использован любым, кто участвует в создании документа из источников LaTeX.Затем вы можете использовать стандартные комментарии LaTeX в своем патче для объяснения изменений, и они могут быть очень легко интегрированы.Если документ находится в какой-либо системе контроля версий, просто используйте VCS для создания файла исправления, который можно просмотреть.
Я использовал changes.sty
, который дает базовое изменение окраски:
\added{new text} \deleted{old text} \replaced{new text}{old text}
Все они принимают необязательный параметр с инициалами автора, который внес это изменение.В результате используются другие цвета, и эти инициалы отображаются надстрочными буквами после измененного текста.
\replaced[MI]{new text}{old text}
Вы можете скрыть метки изменений, указав соответствующую опцию final
к тому changes
посылка.
Это очень просто, и комментарии не поддерживаются, но это может помочь.
Мой маленький самодельный инструмент "fixme" использует \marginpar
там, где это возможно, и вставляется в те места (например, подписи), где это трудно организовать.Это работает, потому что я не часто использую абзацы на полях для других целей.Это делает это означает, что вы не можете доработать макет, пока все не будет исправлено, но я не чувствую особой боли от этого...
В остальном я искренне согласен с Майкл об использовании стандартных инструментов и контроле версий.
Смотрите также:
- Советы по совместному редактированию документа LaTeX (который отвечает на ваш главный вопрос ...)
- https://stackoverflow.com/questions/193298/best-practices-in-latex
и саморазъемная вилка:
Вы можете использовать панель переключения пакетов чтобы выделить области текста, которые были затронуты.
Если вы не хотите выполнять разметку вручную (что может быть утомительным и прерывать процесс редактирования), то аккуратный латексдифф утилита возьмет разницу в вашем документе и создаст его версию с добавленной разметкой для визуального отображения изменений между двумя версиями в выходных данных набора текста.
Это было бы моим предпочтительным решением, хотя я не тестировал его на больших документах с несколькими файлами.
Вы также могли бы попробовать trackchanges
посылка.
Пакет todonotes выглядит великолепно, но если он окажется слишком громоздким в использовании, простым решением будет просто использовать сноски (напримервыделено красным цветом, чтобы отделить их от обычных сносок).
Упаковка отслеживание изменений.sty работает именно так изменения.хлев.Смотрите ответ @Svante.В нем есть легко запоминающиеся команды, и вы можете изменить способ отображения изменений после компиляции документа.Вы также можете скрыть изменения для печати.
Лучший пакет, который я знаю, это Простой обзор это обеспечивает функциональность комментирования в среде LaTeX.Например, вы можете использовать следующие простые команды, такие как \add{NEW TEXT}
, \remove{OLD TEXT}
, \replace{OLD TEXT}{NEW TEXT}
, \comment{TEXT}{COMMENT}
, \highlight{TEXT}
, и \alert{TEXT}
.
Можно найти несколько примеров здесь.