Re: Printing a special index alone and including it in the general idex

Benjamin Kalish <[email protected]> Fri, 7 Nov 2025 14:06:02 -0500
Newsgroups gmane.comp.tex.texinfo.general
Message-ID <CAGi3ZJwUD87Bnn+SkZg0=5RRWDmAi+J6txkrY+f6dksSg-VMVQ@mail.gmail.com>
--00000000000022dc5c064305e00f
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks, Gavin. Will the line macro play nicely with indexing commands such
as @subentry and @seeentry?

Benjamin Kalish
Cataloger / Technology Librarian
Forbes Library Technical Services

[email protected]
413-587-1011

Support Forbes Library:

   - Consider giving a gift
   <https://forbeslibrary.org/giving/donate-online/> to Forbes Library
   - Vote for the Friends of Forbes in the Florence Bank Community Grant
   Program <https://www.florencebank.com/vote>.
   - Join the Friends of Forbes today <https://forbeslibrary.org/friends/>!

Currently reading: *Water Moon *by Samantha Sotto Yambao and *Lake of Souls=
* by
Anne Leckie

For information about accessibility at the library, please see:
http://forbeslibrary.org/accessibility/


On Fri, Nov 7, 2025 at 1:59=E2=80=AFPM Gavin Smith <[email protected]=
m> wrote:

> On Fri, Nov 07, 2025 at 07:29:51AM -0500, Benjamin Kalish wrote:
> > How can I print a special index by itself and also include its entries =
in
> > the concept index? So that I could have something like:
> >
> > @node Function Index
> > @appendix Function Index
> >
> > @printindex fn @c print just function index
> >
> > @node Index
> > @appendix Index
> >
> > @printindex cp @c print combined index
> > My exact use case is a little different (I need indexes for particular
> > sections and also the combined index at the end) but this makes for a
> > concise example and the solution should be the same.
> >
> > @synindex allows the combined index as desired, but also appears to emp=
ty
> > the original index so it can't be printed.
>
> As you state the problem, it is not possible, for the reason that you
> have explained.
>
> > I'd rather not have to write each indexing command twice. It seems like
> > there must be a better way.
>
> You could do it with a macro:
>
> @linemacro indexfn {entry}
> @findex \entry\
> @cindex \entry\
> @end linemacro
>
> Then instead of writing this:
>
> @findex foo
>
> - you write this:
>
> @indexfn foo
>
> That will put the "foo" index entry into both indices, with a single line
> in the Texinfo source.
>
>

--00000000000022dc5c064305e00f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thanks, Gavin. Will the line macro play nicely with i=
ndexing commands such as=C2=A0@subentry and=C2=A0<a class=3D"gmail_plusrepl=
y" id=3D"plusReplyChip-1">@seeentry?</a></div><div><a class=3D"gmail_plusre=
ply"><br></a></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-sma=
rtmail=3D"gmail_signature"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"lt=
r"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div=
 dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D=
"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><=
div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr">Benjamin Kalish</div><div dir=3D"ltr=
">Cataloger / Technology Librarian<br>Forbes Library Technical Services</di=
v><div dir=3D"ltr"><br></div><div dir=3D"ltr"><a href=3D"mailto:bkalish@for=
beslibrary.org" target=3D"_blank">[email protected]</a></div><div d=
ir=3D"ltr">413-587-1011</div><div dir=3D"ltr"><br></div><div dir=3D"ltr"><d=
iv><div>Support Forbes Library:</div><div><ul><li style=3D"margin-left:15px=
">Consider <a href=3D"https://forbeslibrary.org/giving/donate-online/" styl=
e=3D"color:rgb(17,85,204)" target=3D"_blank">giving a gift</a>=C2=A0to Forb=
es Library</li><li style=3D"margin-left:15px">Vote for the Friends of Forbe=
s in the=C2=A0<a href=3D"https://www.florencebank.com/vote" style=3D"color:=
rgb(17,85,204)" target=3D"_blank">Florence Bank Community Grant Program</a>=
.</li><li style=3D"margin-left:15px"><a href=3D"https://forbeslibrary.org/f=
riends/" style=3D"color:rgb(17,85,204)" target=3D"_blank">Join the Friends =
of Forbes today</a>!</li></ul></div></div></div><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><d=
iv dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=
=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr=
"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div =
dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"=
ltr"><div dir=3D"ltr"><div><font color=3D"#222222" style=3D"color:rgb(34,34=
,34)">Currently reading: <i>Water Moon </i>by=C2=A0</font><font color=3D"#2=
22222">Samantha Sotto Yambao and <i>Lake of Souls</i>=C2=A0by Anne Leckie</=
font></div><div><span style=3D"color:rgb(34,34,34)"><br></span></div></div>=
</div></div></div></div></div></div></div></div></div></div></div></div></d=
iv></div></div></div></div></div></div></div></div></div></div></div></div>=
</div></div></div></div></div></div></div></div></div></div></div></div></d=
iv></div></div></div></div></div></div></div></div></div></div></div></div>=
</div></div></div></div></div></div></div></div></div></div></div></div></d=
iv></div></div></div></div></div></div></div></div></div></div><div dir=3D"=
ltr"><font size=3D"2">For information about accessibility at the library, p=
lease see:=C2=A0<a href=3D"http://forbeslibrary.org/accessibility/" style=
=3D"color:rgb(17,85,204)" target=3D"_blank">http://forbeslibrary.org/access=
ibility/<br></a></font></div></div></div></div></div></div></div></div></di=
v></div></div></div></div></div></div></div></div></div></div></div></div><=
/div></div></div></div></div></div></div></div></div></div></div></div></di=
v></div></div></div></div></div></div></div></div></div></div></div></div><=
/div></div></div></div></div></div></div></div></div></div></div></div></di=
v></div></div></div></div></div></div></div></div></div></div></div></div><=
/div></div></div></div></div></div></div></div></div></div></div></div></di=
v></div></div></div></div></div></div></div></div></div></div></div></div><=
/div></div></div></div></div></div></div></div></div></div></div></div></di=
v></div></div></div><br></div><br><div class=3D"gmail_quote gmail_quote_con=
tainer"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Nov 7, 2025 at 1:59=
=E2=80=AFPM Gavin Smith &lt;<a href=3D"mailto:[email protected]">gav=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">On Fri, Nov 07, 2025 at 07:29:51AM -0500, Benjamin Kal=
ish wrote:<br>
&gt; How can I print a special index by itself and also include its entries=
 in<br>
&gt; the concept index? So that I could have something like:<br>
&gt; <br>
&gt; @node Function Index<br>
&gt; @appendix Function Index<br>
&gt; <br>
&gt; @printindex fn @c print just function index<br>
&gt; <br>
&gt; @node Index<br>
&gt; @appendix Index<br>
&gt; <br>
&gt; @printindex cp @c print combined index<br>
&gt; My exact use case is a little different (I need indexes for particular=
<br>
&gt; sections and also the combined index at the end) but this makes for a<=
br>
&gt; concise example and the solution should be the same.<br>
&gt; <br>
&gt; @synindex allows the combined index as desired, but also appears to em=
pty<br>
&gt; the original index so it can&#39;t be printed.<br>
<br>
As you state the problem, it is not possible, for the reason that you<br>
have explained.<br>
<br>
&gt; I&#39;d rather not have to write each indexing command twice. It seems=
 like<br>
&gt; there must be a better way.<br>
<br>
You could do it with a macro:<br>
<br>
@linemacro indexfn {entry}<br>
@findex \entry\<br>
@cindex \entry\<br>
@end linemacro<br>
<br>
Then instead of writing this:<br>
<br>
@findex foo<br>
<br>
- you write this:<br>
<br>
@indexfn foo<br>
<br>
That will put the &quot;foo&quot; index entry into both indices, with a sin=
gle line<br>
in the Texinfo source.<br>
<br>
</blockquote></div>

--00000000000022dc5c064305e00f--