Каков наилучший способ вставить примеры исходного кода в документ Microsoft Word?

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

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

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

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

Ответ 1

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

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

  • Выберите Insert/Text Box/Simple Text Box
    01word
  • Поставляется текстовое поле по умолчанию - 02word
  • Перейдите на NPP, выберите язык для синтаксической раскраски вашего кода, перейдите в "Плагины/NPPExport/Копировать RTF в буфер обмена" 03npp
  • Вернитесь к слову и вставьте в текстовое поле - оно может быть слишком маленьким...
    04word
  • ... так что вам, возможно, придется изменить его размер
    05word
  • Выбрав текстовое поле, щелкните его правой кнопкой мыши, затем выберите "Вставить подписи"...
    06word
  • В меню Caption, если у вас его еще нет, нажмите "Новая метка" и установите новую метку "Код", нажмите "ОК"...
    07word
  • ... затем в диалоговом окне Caption переключите метку на Code и нажмите OK
    08word
  • Наконец, напечатайте свою подпись во вновь созданной надписи - 09word

Ответ 2

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

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

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

enter image description here

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

enter image description here

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

Ответ 3

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

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

  • Добавить фрагменты кода в текстовый документ с подсветкой синтаксиса для упрощения видимости и дифференциации кода и другого текста.
  • Фрагмент кода должен быть встроен в другой текст.
  • Фрагмент кода должен беспрепятственно разбиваться по страницам без каких-либо дополнительных усилий.
  • Фрагмент кода должен иметь хорошую границу.
  • Фрагмент кода должен иметь проверку орфографии.

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

  • Используйте внешний инструмент для достижения требования подсветки синтаксиса 1 выше. Можно использовать блокнот плюс плюс, как описано выше. Однако я использую инструмент, присутствующий здесь - http://www.planetb.ca/syntax-highlight-word. Это дает мне возможность использовать номер строки, а также очень красивую подсветку синтаксиса. Ниже приведены шаги по созданию подсветки синтаксиса:
    • Откройте веб-сайт, указанный выше в chrome, и скопируйте фрагмент кода в текстовой области. Я буду использовать образец XML, чтобы продемонстрировать это (образец XML здесь - http://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html).
    • Выберите язык в раскрывающемся меню.
    • Нажмите кнопку "Показать выделенное". Он откроет новую вкладку с выделенным синтаксисом фрагментом кода, в данном случае выбранным образцом XML. См. Изображение ниже, например. Изображение показывает образец xml, вставленный в текстовое поле, язык, выбранный как XML и кнопку.
    • Чтобы отключить номера строк, просмотрите страницу в хроме. Затем под стилями отмените выбор свойства "margin" в ".dp-highlighter ol", как показано на изображении ниже. Если вы хотите сохранить номера строк, перейдите к следующему шагу.
    • Выберите выделенный синтаксис код и щелкните копию. Теперь ваш код готов к вставке в слово Microsoft. Результат синтаксиса-выделенного XML Благодаря этому блогу для предоставления этой информации - http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-microsoft-word/.
  • Чтобы выполнить требования 2, 3 и 4 выше, используйте таблицу в слове Microsoft, чтобы вставить фрагмент кода. Шаги перечислены ниже:

    • Вставьте таблицу с одним столбцом.
    • Вставить скопированный текст с шага 1. в столбец таблицы. Я сохранил номера строк, чтобы показать, насколько хорошо это работает с текстом Microsoft.
    • Применить границу, как вам угодно. Я использовал размер 1pt. Получаемый фрагмент слов Microsoft появится, как показано на скриншоте ниже. Обратите внимание, как приятно он разбивается по странице - никаких дополнительных усилий, необходимых для управления этим, с которыми вам придется столкнуться при вставке объекта "OpenDocument Text" или при использовании "Simple TextBox". Синтаксически выделенный фрагмент кода, вставленный в таблицу Microsoft Word
  • Чтобы достичь требования 5, выполните следующие действия:

    • Выберите всю таблицу или текст.
    • Перейдите на вкладку "Обзор". В разделе Язык выберите "Язык проверки". Будет представлено новое всплывающее окно.
    • Выберите "Не проверять орфографию или грамматику". Затем нажмите "ОК". Отключить проверку орфографии
    • В результате поиска текста проверка орфографии отключена. Окончательный результат показан на изображении ниже и соответствует всем требованиям. Итоговый результат - соответствует всем 5 требованиям.

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

Ответ 4

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

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

Ответ 5

Это связано с этим ответом: fooobar.com/questions/798/... Создание объекта решает все мои проблемы.

Вставить > Объект > Текст открытого текста

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

В результате получается фигура. Щелкните правой кнопкой мыши объект и выберите "добавить подпись".

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

Ответ 7

Для этого вы можете использовать Open Xml Sdk. Если у вас есть код в html с цветом и форматированием. Вы можете использовать altchunks, чтобы добавить его в текстовые документы. Отправьте это сообщение Добавить HTML-строку в документ OpenXML (*.docx) Надеюсь, это поможет!

Ответ 10

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

Ответ 11

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

Плюсы:

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

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

шаги:

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

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

enter image description here

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

  2. Создайте " Стиль абзаца " с именем " Код " только для своих фрагментов кода (проверьте fooobar.com/questions/61352/... чтобы получить идею, вам не нужно следовать всем этим)

  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. Сохраните этот стиль стола и наслаждайтесь!

Ответ 12

Если вы все еще ищете простой способ добавить фрагменты кода.

Вы можете легко перейти к [Вставить]> [Объект]> [Текст открытого документа]> вставить свой код> Сохранить и закрыть.

Вы также можете поместить это в макрос и добавить в панель быстрого доступа.

заметки:

  • Это займет всего одну страницу кода.
  • Ваш код не будет автоматически исправлен.
  • Вы можете только взаимодействовать с ним, дважды щелкнув по нему.

Ответ 13

Существует простой способ, если вы хотите простое форматирование кода.

  1. Откройте слово> Вставить вкладку> нажмите "Получить надстройки"
  2. поиск по запросу 3.Нажмите "Добавить"

После этого автоматически откроется окно добавления микшера контента, и вы можете скопировать и вставить туда свой код и нажать "Вставить", чтобы вставить его в документ Word.

Ответ 14

Используйте это - http://hilite.me/

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

Как: Просто скопируйте исходный код на левую панель, выберите язык и цветовую схему и нажмите "Выделить!". HTML-код из правой панели теперь может быть вставлен в ваш блог или электронную почту. Внешние файлы CSS или Javascript не требуются.

Для документа Microsoft Word: Скопируйте содержимое из раздела предварительного просмотра и вставьте его в документ Microsoft Word.

3 раздела: исходный код, HTML и предварительный просмотр