Я ищу редактор для печати (на бумаге) кода C ++. В настоящее время я учусь в инженерной школе, и инструктор попросил нас представить код на бумаге.
Он хочет имя + фамилия, номер класса (в заголовке), номер страницы внизу и зарезервированные слова, выделенные жирным шрифтом для каждой страницы!
На Windows это можно сделать с помощью notepadd++
. Но я нахожусь на Linux, и я не нашел IDE или текстовый редактор, который работает. (Я уже пробовал SCITE
, gedit
и Syntaxic
)
Ответы:
Что ж, если вы хотите пройти лишнюю милю, сделайте это в LaTeX и предоставьте файл PDF профессионального уровня. Вы не упомянули свой дистрибутив, поэтому я дам инструкции для систем на основе Debian. Та же самая основная идея может быть реализована на любом Linux, хотя.
Установите систему LaTeX и необходимые пакеты
Создайте новый файл (назовите его
report.tex
) со следующим содержимым:Просто убедитесь, что вы изменили
/path/to/your/code.c
предпоследнюю строку, чтобы она указала на фактический путь к вашему C-файлу. Если у вас есть более одного файла для добавления, добавьте,\newpage
а затем новый\lstinputlisting
для другого файла.Скомпилируйте PDF (это создает
report.pdf
)Я протестировал это на своей системе с файлом примера, который нашел здесь, и он создает PDF, который выглядит следующим образом:
Более подробный пример, который автоматически найдет все файлы .c в целевой папке и создаст проиндексированный PDF-файл, каждый из которых находится в отдельном разделе, приведен в ответе здесь .
источник
Я бы обычно использовал enscript: что-то вроде
будет началом - это записывает постскриптум в вывод
output.ps
, так что вы можете просмотреть и перезаписать его, пока вы работаете с конфигурацией, а затем распечатать его, как только вы будете довольны. Смотрите man-страницу для более широких возможностей.РЕДАКТИРОВАТЬ, чтобы заставить нижний колонтитул работать правильно, было немного трудно с надписью - я никогда не замечал, потому что я никогда не требовал этого. Если вы сохраните этот файл в
~/.enscript/so.hdr
(вам, вероятно, нужно создать каталог), вы фактически получите требуемый вывод сдающий
Грубо говоря,
:hardcopy
Команда Vim проста, но не так гибка, иисточник
emscript
. Он имеет множество вариантов и дает очень хорошие результаты.Вы можете использовать
:TOhtml
команду в vim. Это отображает то, что вы видите (т.е. подсветку синтаксиса) как html. Оттуда работает веб-браузер, который может печатать в формате PDF, так как обычно вы можете настроить содержимое верхнего / нижнего колонтитула.Вероятно, это похоже на
:hardcopy
команду, упомянутую Useless, но я не могу проверить в моей системе сейчас.Другая возможность - это печать из QtCreator, однако, похоже, нет способа установить верхние / нижние колонтитулы.
источник
Geany - это простая среда разработки, которая дает вам много вариантов того, что идет в заголовке.
Зарезервированные слова можно манипулировать в меню параметров, но выделение кода делает это для стиля notepad ++. (вам может потребоваться скопировать / загрузить цветовые схемы в вашу папку "/home/$USER_NAME/.config/geany/colorschemes/", чтобы получить нужную вам)
Очень просто и лично мне очень нравятся номера строк и формат, который он печатает.
Также Geany работает на Windows и Linux.
источник
Поскольку вы запрашиваете редактор , вы можете печатать напрямую из Emacs, используя
ps-print-buffer
.Верхние и нижние колонтитулы находятся в группе Customize
ps-print-headers
.Предполагая, что вы используете font-lock, у вас, вероятно, есть подсветка синтаксиса, которая требуется. При необходимости его можно настроить с помощью
ps-extend-face
функции.Сказав это, я по-прежнему рекомендую вам использовать подходящий инструмент «перемалывания», такой как листинг a2ps, enscript или LaTeX +.
источник
Для полноты и, хотя я бы не рекомендовал такое решение, в
lp
программе есть-o prettyprint
опция, которая может делать подсветку синтаксиса.Вы можете использовать его, например, так:
Здесь я использовал
-t
(заголовок), чтобы установить заголовок. Я не могу изменить нижний колонтитул (но номер страницы отображается вверху). Вы можете установить тип файла с помощью опции-o document-format
(список допустимых значений должен быть в/usr/share/cups/mime/mime.types
или, может быть/etc/cups/mime/mime.types
), но если ваш файл имеет правильное расширение, в этом нет необходимости. Кроме того, подсветка синтаксиса далека от совершенства.источник
Вам просто нужен LibreOffice Writer .
Вставьте свой код C / C ++.
Найдите слова и выделите жирным шрифтом все ключевые слова C ++.
Вы можете найти их здесь: http://en.cppreference.com/w/cpp/keyword
Чтобы найти слово Нажмите Ctrl + F. Выберите «Match case» и нажмите «Find All» (как показано на скриншоте).
После этого вам нужен верхний и нижний колонтитулы с вашим именем и номером страницы.
РЕДАКТИРОВАТЬ: ( Кристоф Стробб прокомментировал :)
Для раскраски кода имеется расширение LibreOffice: Code Colorizer Formatter . (Я еще не проверял это.)
источник
Я использовал Nedit много лет назад, когда работал в системе Solaris, так как мне нравился графический интерфейс. Я вижу, что это все еще вокруг. Проверьте это.
источник
В прошлом, когда KDE3 был все еще большой вещью, я использовал Kate, потому что для текстового редактора он действительно выдает лучший результат. Сегодня я бы пошел с латексом для более встраиваемого решения, со списком пакетов. Этот пакет не для цветной печати, но на лазерном принтере цвета не являются преимуществом.
источник