C Исходный код в латексном документе - PullRequest
7 голосов
/ 14 декабря 2010

Может кто-нибудь порекомендовать мне хороший шаблон для включения исходного кода на C с нумерацией строк в Latex?Например, взяв классическую программу Hello world, я бы хотел, чтобы она выглядела следующим образом:

(1)   /* Hello World program */
(2)
(3)   #include<stdio.h>
(4)
(5)   main()
(6)   {
(7)    printf("Hello World");
(8)   }

Как правило, я всегда использовал дословную среду, но мне интересно, есть ли лучший и более хороший способсделать это.

Большое спасибо, Ричард

Ответы [ 5 ]

9 голосов
/ 15 декабря 2010

Как уже говорили другие, пакет listings, вероятно, будет делать то, что вы хотите, используя что-то вроде следующего:

\lstset{
  language=C,                % choose the language of the code
  numbers=left,                   % where to put the line-numbers
  stepnumber=1,                   % the step between two line-numbers.        
  numbersep=5pt,                  % how far the line-numbers are from the code
  backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
  showspaces=false,               % show spaces adding particular underscores
  showstringspaces=false,         % underline spaces within strings
  showtabs=false,                 % show tabs within strings adding particular underscores
  tabsize=2,                      % sets default tabsize to 2 spaces
  captionpos=b,                   % sets the caption-position to bottom
  breaklines=true,                % sets automatic line breaking
  breakatwhitespace=true,         % sets if automatic breaks should only happen at whitespace
  title=\lstname,                 % show the filename of files included with \lstinputlisting;
}

\lstinputlisting{HelloWorld.c}

Более мощной альтернативой было бы использование пакета minted, хотя это будет гораздо больше, чем вы в настоящее время запрашиваете, так как использует / требует установки фрагментов в вашей системе, поэтому что он может полностью токенизировать код, который вы ему даете.

9 голосов
/ 14 декабря 2010

Возможно, вы захотите взглянуть на пакет listings . Это очень гибкий и простой в использовании.

1 голос
/ 14 декабря 2010

Взгляните на Список кодов в LaTeX . Там вы найдете пару альтернатив. Некоторые варианты:

0 голосов
/ 04 февраля 2015

Используйте пакет lgrind для латекса. Он преобразует ваш код в файл .tex

0 голосов
/ 14 декабря 2010

У CWEB был хороший форматер C.

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