NOWEB: How to create an index of all the code-chunks in a Latex PDF file
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
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.
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?
literate-programming noweb
add a comment |
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
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.
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?
literate-programming noweb
add a comment |
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
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.
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?
literate-programming noweb
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
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.
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?
literate-programming noweb
literate-programming noweb
edited Nov 24 '18 at 0:55
smilingbuddha
asked Nov 24 '18 at 0:28
smilingbuddhasmilingbuddha
5,5422185142
5,5422185142
add a comment |
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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