LINUX.ORG.RU

Описание кода с помощью noweb

 


0

1

Приветствую всех, есть такая задача, которую я не могу понять. Объясните пожалуйста, как установить noweb для описания кода.Информации в русском сегменте полностью отствует, на англоязычных сайтах объясняют только что это такое и всё. Буду благодарен за ваш ответ.

Ответ на: комментарий от chiefbaki

по установке для Windows 7

По моему, вы ошиблись форумом.

На той страничке есть ссылки на deb, ссылки на github, есть F.A.Q. Что ещё надо, чтобы интересно провести время?

vvn_black ★★★★★
()

Объясняю по хардкору:

Как установить noweb: Для дебиана достаточно сделать sudo apt-get install noweb. Для Gentoo есть ебилд в оверлее science.

Как использовать: занесём в файл hello.nw следующее содержимое:

\section{Hello world}

Today I awoke and decided to write
some code, so I started to write Hello World in \textsf C.

<<hello.c>>=
/*
  <<license>>
*/
#include <stdio.h>

int main(int argc, char *argv[]) {
  printf("Hello World!\n");
  return 0;
}
@
\section{License}
Later the same day some lawyer reminded me about licenses.
So, here it is:

<<license>>=
This work is placed in the public domain.

Для того, чтобы из этого файла сгенерировать HTML-документацию надо сделать noweave -filter l2h -index -html hello.nw | htmltoc > hello.html. Получим файл hello.html, который и будет содержать документ. Можно сгенерировать TeX-файл таким образом: noweave -index -latex hello.nw > hello.tex и сформировать из него pdf-файл: pdflatex hello.tex и получится hello.pdf с документацией.

Можно из hello.nw сделать исходный код таким образом: notangle -Rhello.c hello.nw > hello.c и получится файл hello.c, который будет содержать текст

/*
  This work is placed in the public domain.
*/
#include <stdio.h>

int main(int argc, char *argv[]) {
  printf("Hello World!\n");
  return 0;
}
czan
()