Каков наилучший способ вставить примеры исходного кода в документ Microsoft Word? - PullRequest
119 голосов
/ 15 июля 2010

Я должен написать несколько документов, которые будут включать примеры исходного кода. Некоторые из примеров будут написаны из IDE, а другие будут написаны на месте. Мои примеры в основном на Java.

Как человек, который привык к LaTeX, делать это в Word чрезвычайно болезненно. Тем не менее, я связан с Word для этого. Единственные варианты, которые я видел:

  1. Написать или скопировать в документ, затем используйте шрифт фиксированного типа, аранжируйте форматирование и надеюсь, что Word не сделал Прописные вещи для вас. Ненужно скажем, это похоже на дерьмо.
  2. Копирование и вставка скриншотов исходного кода. код из IDE. По крайней мере я продолжаю цвета. Однако, если я изменю свой шрифт Размер, я облажался. Я тоже облажался через границы страницы. И давайте признайся, Слово не очень хорошо управление несколькими изображениями на документ.
  3. Написать HTML (на самом деле не вариант здесь)

Есть ли какой-нибудь лучший (и идеально переносимый) способ сделать это? Есть ли по крайней мере какой-то стиль стенографических сообщений, похожий на среду LaTeX? Есть ли хоть какой-нибудь симпатичный принтер, который я мог бы копировать и вставлять как RTF?

Ответы [ 12 ]

173 голосов
/ 14 мая 2014

Я очень ненавижу и презираю бесплатную работу для Microsoft, учитывая, что после всех этих миллиардов долларов они ЕЩЕ не имеют надлежащих руководств по поводу подобных вещей со скриншотами на своем проклятом веб-сайте.

В любом случае, в Word 2010 приведено краткое руководство по использованию Notepad ++ для окраски синтаксиса и текстового поля с заголовками:

  1. Выберите Вставить / Текстовое поле / Простое текстовое поле
    01word
  2. Вставлено текстовое поле по умолчанию
    02word
  3. Переключитесь на NPP, выберите язык для синтаксисараскрасьте свой код, перейдите в Плагины / NPPExport / Копировать RTF в буфер обмена
    03npp
  4. Переключитесь обратно на слово и вставьте в текстовое поле - оно может быть слишком маленьким...
    04word
  5. ... поэтому вам, возможно, придется изменить его размер
    05word
  6. Выбрав текстовое поле, щелкните его правой кнопкой мыши и выберите «Вставить заголовок» ...
    06word
  7. В меню «Заголовок», если у вас его еще нетнажмите «Новая метка» и установите новую метку «Код», нажмите «ОК» ...
    07word
  8. ... затем в диалоговом окне «Подпись» переключите меткузакодировать и нажать ОК
    08word
  9. Наконец, введите подпись во вновь созданном поле для подписи
    09word
22 голосов
/ 15 июля 2010

Вам необходимо определить стиль в документе Word и использовать его для исходного кода.У меня обычно есть стиль под названием «Код», в котором есть моноширинный шрифт с маленьким размером точки, вкладки с фиксированным размером, межстрочный интервал, нет до / после интервала между абзацами и т. Д. Вам нужно определить этот стиль только один раз, а затем использовать его повторно.Вы вставляете исходный код и применяете к нему стиль «Код».

Обратите внимание, что некоторые редакторы (например, Xcode на Mac) добавляют RTF, а также текст в буфер обмена при копировании / вставке между приложениями - Wordраспознает RTF и услужливо сохраняет форматирование, подсветку синтаксиса и т. д.

Исходный код в Xcode:

enter image description here

Скопировано и вставлено в Word:

enter image description here

(Примечание. Рекомендуется отключить проверку орфографии в стиле «Код» в Word.)

15 голосов
/ 06 июня 2016

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

Мои требования были следующие:

  1. Добавление фрагментов кода в текстовый документ с подсветкой синтаксиса для облегчения видимости и различения кода и другого текста.
  2. Фрагмент кода должен быть встроен в другой текст.
  3. Фрагмент кода должен плавно перемещаться по страницам без каких-либо дополнительных усилий.
  4. Фрагмент кода должен иметь красивую границу.
  5. У фрагмента кода должна быть отключена проверка орфографии.

Мой подход описан ниже:

  1. Использовать внешний инструмент для выполнения требования подсветки синтаксиса 1 выше. Можно использовать блокнот плюс плюс, как описано выше. Тем не менее, я использую инструмент, представленный здесь - http://www.planetb.ca/syntax-highlight-word. Это дает мне возможность использовать номер строки, а также очень приятную подсветку синтаксиса. Шаги для достижения выделения синтаксиса перечислены ниже:
    • Откройте представленный выше веб-сайт в Chrome и скопируйте фрагмент кода в текстовую область. Я буду использовать образец XML для демонстрации этого (пример XML здесь - http://www.service -architecture.com / Articles / Object-ориентированные-базы данных / xml_file_for_complex_data.html ).
    • Выберите язык из выпадающего меню.
    • Нажмите кнопку «Показать выделенное». Откроется новая вкладка с выделенным синтаксисом фрагментом кода, в данном случае выбранный нами пример XML. Смотрите изображение ниже, например. Image shows a sample xml being pasted in the textarea, language selected as XML and the button.
    • Чтобы отключить номера строк, проверьте страницу в хром. Затем в стилях отмените выбор свойства margin в «.dp-highlighter ol», как показано на рисунке ниже. Если вы хотите сохранить номера строк, перейдите к следующему шагу.
    • Выберите выделенный синтаксисом код и нажмите «Копировать». Теперь ваш код готов для вставки в Microsoft Word. Result of syntax-highlighted XML Спасибо этому блогу за предоставление этой информации - http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-microsoft-word/.
  2. Чтобы выполнить требования 2, 3 и 4 выше, используйте таблицу в Microsoft word, чтобы вставить фрагмент кода. Шаги перечислены ниже:

    • Вставить таблицу с одним столбцом.
    • Вставьте скопированный текст из шага 1. в столбец таблицы. Я сохранил номера строк, чтобы показать, насколько хорошо это работает с Microsoft Word.
    • Примените границу, как вам нравится. Я использовал размер 1pt. Результирующий фрагмент слова Microsoft появится, как показано на скриншоте ниже. Обратите внимание, как хорошо он разбивается по всей странице - никаких дополнительных усилий для этого не требуется, с чем вы столкнетесь при вставке объекта «OpenDocument Text» или при использовании «Simple TextBox». Syntax-highlighted code snippet pasted in Microsoft Word Table
  3. Чтобы выполнить требование 5, выполните следующие действия:

    • Выделите всю таблицу или текст.
    • Перейти на вкладку Обзор. В разделе «Язык» выберите «Язык проверки». Будет представлено новое всплывающее окно.
    • Выберите «Не проверять орфографию или грамматику». Затем нажмите ОК. Disable spell-check
    • В полученном тексте проверка орфографии отключена. Конечный результат показан на рисунке ниже и соответствует всем требованиям. Final Result - meets all the 5 requirements.

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

11 голосов
/ 15 июля 2010

Это зависит от IDE. Например, Visual Studio и Eclipse позволят вам копировать в формате RTF и вставлять в Word, сохраняя все форматирование.

Notepad ++ имеет плагин под названием «NppExport» (поставляется с предустановленной версией), который позволяет копировать в RTF, хотя меня не особо волнует подсветка синтаксиса Notepad ++ (хотя она определенно будет сносной ). Он поддерживает десятки языков, в то время как вышеупомянутые IDE ограничены несколькими (без других плагинов).

3 голосов
/ 15 марта 2013

Это связано с этим ответом: https://stackoverflow.com/a/2653406/931265 Создание объекта решило все мои проблемы.

Вставка> Объект> Текст открытого документа

Откроется окно документа,вставьте свой текст, отформатируйте его так, как вы хотите, и закройте его.

Результат - фигура.Щелкните правой кнопкой мыши объект и выберите «добавить подпись».

Теперь вы можете создавать перекрестные ссылки, создавать таблицу рисунков.

2 голосов
/ 05 июля 2016

На Mac я нахожу это решение с vim замечательным:

https://github.com/zerowidth/vim-copy-as-rtf

1 голос
/ 05 ноября 2018

Я перепробовал все ваши методы, но они не сработали для меня, на самом деле я создал более простой метод, используя MS Word Tables .

Плюсы:

  1. красивее
  2. Легче в управлении и последовательнее
  3. Менее подвержены проблемам
  4. Нет необходимости во внешних плагинах или микрокодировании MS Word.
  5. Легче обращаться с простыми пользователями (, такими как я ).

Минусы: Он не будет поддерживать раскраску кода, хотя кто-то может улучшить мой трюк.

Шаги:

  1. Вставьте таблицу 3x3, в моем случае я всегда делаю общую ширину таблицы равной ширине свободной страницы ( минимум 3 строки для проверки стиля таблиц ).

  2. Используйте невидимые границы (опция " Без границ " ) и активируйте опцию " Просмотр линий сетки ". это должно иметь этот аспект. Имейте в виду, что эти строки предназначены для просмотра сетки таблицы, и они не будут напечатаны.

enter image description here

  1. Внесите коррективы в интервалы ячеек и ширину столбцов, чтобы получить нужный вам аспект. ( Вам нужно войти в " Свойства таблицы " для тонкой настройки ). enter image description here

  2. Создайте " Стиль абзаца " с именем " Код " только для ваших фрагментов кода ( проверьте https://stackoverflow.com/a/25092977/8533804, чтобы получить идея, вам не нужно следовать всем этим)

  3. Создайте еще один " Стиль абзаца " с именем " Code_numberline ", который будет основан на предыдущем созданном стиле. enter image description here

  4. Во вновь созданном « Code_numberline » добавьте стиль нумерации, который вам нравится (это автоматизирует нумерацию строк). enter image description here

  5. Применить « Code_numberline » к первому столбцу и « Code » к 3-му столбцу. enter image description here

  6. Добавить заполнение в средний столбец. enter image description here

  7. Сохраните этот стиль таблицы и наслаждайтесь!

1 голос
/ 24 июля 2018

В Word можно вставить код, который использует цвет, чтобы отличать комментарии от кода, используя «Вставить сохранение исходного форматирования». Однако если вы используете вставленный код для создания нового стиля, Word автоматически удаляет цветовой код и заменяет его черным (или любым другим цветом по умолчанию). Поскольку применение стиля - лучший способ обеспечить соответствие требованиям к формату документа, Word не очень полезен для документирования программ. К сожалению, я не помню, чтобы Open Office был лучше. Лучшее решение - использовать простое текстовое поле по умолчанию.

1 голос
/ 03 февраля 2016

Вы можете использовать плагин Подсветка синтаксиса в Ms.Word https://store.office.com/syntax-highlighter-WA104315019.aspx?assetid=WA104315019.я следую за этим шагом, и это работа

1 голос
/ 02 августа 2014

Это то, что я сделал.

Конечные результаты: enter image description here

https://stackoverflow.com/a/25092977/1161594

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...