NOWEB: How to create an index of all the code-chunks in a Latex PDF file












0















I've recently got interested in the noweb program by Norman Ramsey for the creation of literate programs in any programming language. Thus far I have been able to install noweb, weave into Latex and tangle the hello world program given on the wikipedia page and play around a little compiling silly hello world programs to tune the output and code formatting.



Here is the pdf output of a simple noweb file I created based on the code on the wikipedia page. The tex file was obtained via the terminal command
noweave -index -delay -latex hello.nw > hello.tex



enter image description here



The noweb code I used was



documentclass{article}
usepackage{noweb}
usepackage{blindtext}
input{standard_settings.tex} % contains some of my own latex settings


title{Hello World}
author{A.U.Thor}
begin{document}
maketitle
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) {
<<body>>
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.
@

section{Body}
The body of the code. First say hello
<<body>>=
printf("Hello world!n");
@

Ask how things are.
<<body>>=
printf("How are youn");
@

Wish them goodbye.
<<body>>=
printf("Goodbye world!n");
@

end{document}


However, the latex file does not create any index, containing the list of code-chunks and the page numbers where they are defined. In Knuth's book on literate programming every literate program has some sort of index containing an index of identifiers along with the code-chunks. Screenshot below from my personal copy of Literate Programming by Knuth.



enter image description here



I read the manual page of noweb on my computer (the online man-pages seem broken) whose screenshot I attach here, but nothing seems to have been mentioned on how to create such an index.



How do I create it? Does noweb support this feature?



enter image description here










share|improve this question





























    0















    I've recently got interested in the noweb program by Norman Ramsey for the creation of literate programs in any programming language. Thus far I have been able to install noweb, weave into Latex and tangle the hello world program given on the wikipedia page and play around a little compiling silly hello world programs to tune the output and code formatting.



    Here is the pdf output of a simple noweb file I created based on the code on the wikipedia page. The tex file was obtained via the terminal command
    noweave -index -delay -latex hello.nw > hello.tex



    enter image description here



    The noweb code I used was



    documentclass{article}
    usepackage{noweb}
    usepackage{blindtext}
    input{standard_settings.tex} % contains some of my own latex settings


    title{Hello World}
    author{A.U.Thor}
    begin{document}
    maketitle
    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) {
    <<body>>
    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.
    @

    section{Body}
    The body of the code. First say hello
    <<body>>=
    printf("Hello world!n");
    @

    Ask how things are.
    <<body>>=
    printf("How are youn");
    @

    Wish them goodbye.
    <<body>>=
    printf("Goodbye world!n");
    @

    end{document}


    However, the latex file does not create any index, containing the list of code-chunks and the page numbers where they are defined. In Knuth's book on literate programming every literate program has some sort of index containing an index of identifiers along with the code-chunks. Screenshot below from my personal copy of Literate Programming by Knuth.



    enter image description here



    I read the manual page of noweb on my computer (the online man-pages seem broken) whose screenshot I attach here, but nothing seems to have been mentioned on how to create such an index.



    How do I create it? Does noweb support this feature?



    enter image description here










    share|improve this question



























      0












      0








      0








      I've recently got interested in the noweb program by Norman Ramsey for the creation of literate programs in any programming language. Thus far I have been able to install noweb, weave into Latex and tangle the hello world program given on the wikipedia page and play around a little compiling silly hello world programs to tune the output and code formatting.



      Here is the pdf output of a simple noweb file I created based on the code on the wikipedia page. The tex file was obtained via the terminal command
      noweave -index -delay -latex hello.nw > hello.tex



      enter image description here



      The noweb code I used was



      documentclass{article}
      usepackage{noweb}
      usepackage{blindtext}
      input{standard_settings.tex} % contains some of my own latex settings


      title{Hello World}
      author{A.U.Thor}
      begin{document}
      maketitle
      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) {
      <<body>>
      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.
      @

      section{Body}
      The body of the code. First say hello
      <<body>>=
      printf("Hello world!n");
      @

      Ask how things are.
      <<body>>=
      printf("How are youn");
      @

      Wish them goodbye.
      <<body>>=
      printf("Goodbye world!n");
      @

      end{document}


      However, the latex file does not create any index, containing the list of code-chunks and the page numbers where they are defined. In Knuth's book on literate programming every literate program has some sort of index containing an index of identifiers along with the code-chunks. Screenshot below from my personal copy of Literate Programming by Knuth.



      enter image description here



      I read the manual page of noweb on my computer (the online man-pages seem broken) whose screenshot I attach here, but nothing seems to have been mentioned on how to create such an index.



      How do I create it? Does noweb support this feature?



      enter image description here










      share|improve this question
















      I've recently got interested in the noweb program by Norman Ramsey for the creation of literate programs in any programming language. Thus far I have been able to install noweb, weave into Latex and tangle the hello world program given on the wikipedia page and play around a little compiling silly hello world programs to tune the output and code formatting.



      Here is the pdf output of a simple noweb file I created based on the code on the wikipedia page. The tex file was obtained via the terminal command
      noweave -index -delay -latex hello.nw > hello.tex



      enter image description here



      The noweb code I used was



      documentclass{article}
      usepackage{noweb}
      usepackage{blindtext}
      input{standard_settings.tex} % contains some of my own latex settings


      title{Hello World}
      author{A.U.Thor}
      begin{document}
      maketitle
      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) {
      <<body>>
      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.
      @

      section{Body}
      The body of the code. First say hello
      <<body>>=
      printf("Hello world!n");
      @

      Ask how things are.
      <<body>>=
      printf("How are youn");
      @

      Wish them goodbye.
      <<body>>=
      printf("Goodbye world!n");
      @

      end{document}


      However, the latex file does not create any index, containing the list of code-chunks and the page numbers where they are defined. In Knuth's book on literate programming every literate program has some sort of index containing an index of identifiers along with the code-chunks. Screenshot below from my personal copy of Literate Programming by Knuth.



      enter image description here



      I read the manual page of noweb on my computer (the online man-pages seem broken) whose screenshot I attach here, but nothing seems to have been mentioned on how to create such an index.



      How do I create it? Does noweb support this feature?



      enter image description here







      literate-programming noweb






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 24 '18 at 0:55







      smilingbuddha

















      asked Nov 24 '18 at 0:28









      smilingbuddhasmilingbuddha

      5,5422185142




      5,5422185142
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454193%2fnoweb-how-to-create-an-index-of-all-the-code-chunks-in-a-latex-pdf-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454193%2fnoweb-how-to-create-an-index-of-all-the-code-chunks-in-a-latex-pdf-file%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          TypeError: fit_transform() missing 1 required positional argument: 'X'