0

I wrote/edit a texinfo manual, specifically the GNU Emacs Lisp Bytecode Reference Manual, and if you look on page i (sheet 2) there is a short table of contents, but it is too short.

So I'd like to include one more level, i.e. the section headings as well as the chapter headings that are already there.

How can I do this?

2
  • Have you searched for "toc depth level"? I think that a command like \setcounter{secnumdepth}{1} (or \setcounter{secnumdepth}{2} depending on your document class) should do the trick. See @egreg's answer for more explanations.
    – jchd
    Nov 28 '19 at 15:34
  • 1
    While this may be fine for LaTeX there is no sucn thing for texinfo that I know of. I just looked at the texinfo.tex file and I guess I'll answer my own question. Thanks though for looking at this and sharing what you know.
    – rocky
    Nov 29 '19 at 19:49
0

I looked at the texinfo.tex file and it appears that a short table of contents just redefines the macros for sections and subsections to null.

Here then is a diff:

diff -u texinfo-hacked.tex{~,}
--- texinfo-hacked.tex~ 2019-10-07 16:44:56.000000000 -0400
+++ texinfo-hacked.tex  2019-11-29 12:41:46.105737894 -0500

@@ -6881,15 +6881,18 @@
     \rm
     \hyphenpenalty = 10000
     \advance\baselineskip by 1pt % Open it up a little.
-    \def\numsecentry##1##2##3##4{}
-    \let\appsecentry = \numsecentry
-    \let\unnsecentry = \numsecentry
-    \let\numsubsecentry = \numsecentry
-    \let\appsubsecentry = \numsecentry
-    \let\unnsubsecentry = \numsecentry
-    \let\numsubsubsecentry = \numsecentry
-    \let\appsubsubsecentry = \numsecentry
-    \let\unnsubsubsecentry = \numsecentry
+    % Wwe want section
+    % headers in our short contents
+    \def\nullentry##1##2##3##4{}
+    % \def\numsecentry##1##2##3##4{}
+    % \let\appsecentry = \numsecentry
+    % \let\unnsecentry = \numsecentry
+    \let\numsubsecentry = \nullentry
+    \let\appsubsecentry = \nullentry
+    \let\unnsubsecentry = \nullentry
+    \let\numsubsubsecentry = \nullentry
+    \let\appsubsubsecentry = \nullentry
+    \let\unnsubsubsecentry = \nullentry
     \openin 1 \tocreadfilename\space
     \ifeof 1 \else
       \readtocfile

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.