Текстовый редактор для печати кода на C ++

Я ищу редактор для печати (на бумаге) кода на C ++. Я сейчас в инженерной школе, и инструктор попросил нас представить код на бумаге.

Он хочет имя + фамилию, номер класса (в заголовке), номер страницы внизу и зарезервированные слова, выделенные жирным шрифтом для каждой страницы!

В Windows это можно сделать с помощью notepadd++. Но я нахожусь в Linux, и я не нашел IDE или текстовый редактор, который работает. (Я уже пробовал SCITE, gedit, и Syntaxic)

33 голоса | спросил loi219 3 +03002016-10-03T18:42:40+03:00312016bEurope/MoscowMon, 03 Oct 2016 18:42:40 +0300 2016, 18:42:40

1 ответ


75

Хорошо, если вы хотите пройти лишнюю милю, сделайте это в LaTeX и предоставите PDF-файл профессионального уровня. Вы не упомянули о своем дистрибутиве, поэтому я дам инструкции для систем на базе Debian. Та же основная идея может быть сделана на любом Linux.

  1. Установите систему LaTeX и необходимые пакеты

    sudo apt-get install texlive-latex-extra latex-xcolor texlive-latex-recommended
    
  2. Создайте новый файл (назовите его report.tex) со следующим содержимым:

    \documentclass{article}
    \usepackage{fancyhdr}
    \pagestyle{fancy}
    %% Define your header here. 
    %% See http://texblog.org/2007/11/07/headerfooter-in-latex-with-fancyhdr/
    \fancyhead[CO,CE]{John Doe, Class 123}
    
    \usepackage[usenames,dvipsnames]{color}  %% Allow color names
    
    %% The listings package will format your source code
    \usepackage{listings}
    \lstdefinestyle{customasm}{
      belowcaptionskip=1\baselineskip,
      xleftmargin=\parindent,
      language=C++,
      breaklines=true, %% Wrap long lines
      basicstyle=\footnotesize\ttfamily,
      commentstyle=\itshape\color{Gray},
      stringstyle=\color{Black},
      keywordstyle=\bfseries\color{OliveGreen},
      identifierstyle=\color{blue},
      xleftmargin=-8em,
      showstringspaces=false
    }        
    \begin{document}
    
    \lstinputlisting[style=customasm]{/path/to/your/code.c}
    
    \end{document}
    

    Просто не забудьте изменить /path/to/your/code.c в предпоследней строке, чтобы он указывал на фактический путь вашего C-файла. Если вам нужно добавить более одного файла, добавьте \newpage, а затем новый \lstinputlisting для другого файла.

  3. Скомпилируйте PDF (это создает report.pdf)

    pdflatex report.tex    
    

Я тестировал это в своей системе с примером файла, который я нашел здесь и он создает PDF-файл, который выглядит следующим образом:

 первая страница созданного pdf

Для более полного примера, который автоматически найдет все .c-файлы в целевой папке и создаст индексированный PDF-файл с каждым в отдельном разделе, см. мой ответ .

ответил terdon 3 +03002016-10-03T19:43:26+03:00312016bEurope/MoscowMon, 03 Oct 2016 19:43:26 +0300 2016, 19:43:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132