ctanbib.1: Some remarks and a patch with editorial changes for this man page

Bjarni Ingi Gislason <[email protected]> Sat, 16 May 2026 02:22:02 +0000
Newsgroups gmane.comp.tex.live
Message-ID <[email protected]>
Package: texlive-extra-utils
Version: 2026.20260328-5
Severity: minor
Tags: patch

  I am not subsrcibed.

-.-

  Additional remarks.

  Mails from me to "[email protected]" are no longer acknowledged.  A
Debian maintainer told me, that he would contact the mail administrator
about me not wanting to send bugs upstream.

-.-

Dear Maintainer,

>From "/usr/share/doc/debian/bug-reporting.txt.gz":

  Don't file bugs upstream

   If you file a bug in Debian, don't send a copy to the upstream software
   maintainers yourself, as it is possible that the bug exists only in
   Debian. If necessary, the maintainer of the package will forward the
   bug upstream.

-.-

  For forwarding bug reports to upstream see:

https://www.debian.org/Bugs/Developer#forward

-.-

  "Handling bug reports" in
http://people.debian.org/~enrico/dcg/ch03s02.html

-.-

  I do not send reports upstream if I have to get an account there.
The Debian maintainers have one already.

  If I get a negative (or no) response from upstream, I send henceforth
bugs to Debian.

-.-

   * What led up to the situation?

     Checking for defects with a new version

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z < "man page"

  [Use 

grep -n -e ' $' -e '\\~$' -e ' \\f.$' -e ' \\"' <file>

  to find (most) trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:24: warning: trailing space in the line [-w trail]
troff:<stdin>:32: warning: ignoring character 't' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'b' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'i' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'b' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'p' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'k' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'g' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'e' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring a space on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'c' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'o' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'd' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:38: warning: trailing space in the line [-w trail]
troff:<stdin>:40: warning: name 'Pp' not defined [-w mac]
troff:<stdin>:50: warning: trailing space in the line [-w trail]
troff:<stdin>:72: warning: trailing space in the line [-w trail]

   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 7.0.4+deb14-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages texlive-extra-utils depends on:
ii  libfile-homedir-perl       1.006-2
ii  libunicode-linebreak-perl  0.0.20190101-3
ii  libyaml-tiny-perl          1.76-1
ii  python3                    3.13.9-3
ii  tex-common                 6.20
ii  texlive-base               2026.20260328-4
ii  texlive-binaries           2026.20260303.78225+ds-3
ii  texlive-latex-base         2026.20260328-4
ii  texlive-luatex             2026.20260328-4
ii  texlive-plain-generic      2026.20260328-5

Versions of packages texlive-extra-utils recommends:
ii  ghostscript                10.07.0~dfsg-2
pn  liblog-log4perl-perl       <none>
ii  ruby                       1:3.3+b1
ii  texlive-latex-recommended  2026.20260328-4

Versions of packages texlive-extra-utils suggests:
pn  chktex                     <none>
pn  default-jre-headless       <none>
pn  dvipng                     <none>
pn  fragmaster                 <none>
pn  lacheck                    <none>
pn  latexdiff                  <none>
pn  latexmk                    <none>
pn  purifyeps                  <none>
ii  texlive-binaries [dvidvi]  2026.20260303.78225+ds-3
pn  xindy                      <none>

Versions of packages tex-common depends on:
ii  bzip2  1.0.8-6+b2
ii  ucf    3.0053

Versions of packages tex-common suggests:
pn  debhelper  <none>

Versions of packages texlive-extra-utils is related to:
ii  tex-common        6.20
ii  texlive-binaries  2026.20260303.78225+ds-3

-- no debconf information
chk_man.err.ctanbib.1 (text/plain, 7.2 KB)
Input file is ctanbib.1

Output from "mandoc -T lint  ctanbib.1": (shortened list)

      1 ERROR: skipping unknown macro
      7 STYLE: whitespace at end of input line

Find most trailing spaces with:
grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>

-.-.

Output from
test-nroff -mandoc -t -Kutf8 -ww -z ctanbib.1: (shortened list)

      1 ignoring a space on input line after output line continuation escape sequence [-w syntax]
      3 ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
      2 ignoring character 'b' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'c' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'd' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'e' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'g' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'i' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'k' on input line after output line continuation escape sequence [-w syntax]
      3 ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
      3 ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'o' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 'p' on input line after output line continuation escape sequence [-w syntax]
      1 ignoring character 't' on input line after output line continuation escape sequence [-w syntax]
      1 name 'Pp' not defined [-w mac]
      4 line(s) with a trailing space [-w trail]


Find most trailing spaces with:
grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>

-.-.

Lines containing '\c':
(found with 'grep -n -A 1')

32:Wrap the package name in a \ctanbibpkgname command
33-This command can be redefined in the document for the desired formatting.

-.-.

Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

Number of lines affected is

10

-.-.

Reduce space between words.

ctanbib.1:28:(default manual)  Change entry type

-.-.

Change -- in x--y to \(em (em-dash), or, if an
option, to \-\-

58:The --ctan option:

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.

23:.IP -c,--ctan 
25:.IP -C,--CTAN 
27:.IP -e,--entrytype 
29:.IP -h,--help 
31:.IP -p,--pkgname
34:.IP -v,--version 
58:The --ctan option:
60:$ ctanbib -c hyperref

-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".

ctanbib.1:26:Use the package's CTAN path as url (e.g.: /support/ctanbib)

-.-.

Remove quotes when there is a printable
but no space character between them
and the quotes are not for emphasis (markup),
for example as an argument to a macro.

ctanbib.1:3:.TH ctanbib 1 "25 Oct 2023" "0.2d" "ctanbib man page"

-.-.

Test nr. 91:

Remove a space character after a macro call.

23:.IP -c,--ctan 
25:.IP -C,--CTAN 
27:.IP -e,--entrytype 
29:.IP -h,--help 
34:.IP -v,--version 
40:.Pp 

-.-.

Use "\-" instead of "-" (rendered as a hyphen (u2010) in UTF-8 encoding)
in web addresses.

49:  url = {http://www.latex-project.org/},

-.-.


Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:24: warning: trailing space in the line [-w trail]
troff:<stdin>:32: warning: ignoring character 't' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'b' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'i' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'b' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'p' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'k' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'g' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'e' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring a space on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'c' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'o' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'm' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'a' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'n' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:32: warning: ignoring character 'd' on input line after output line continuation escape sequence [-w syntax]
troff:<stdin>:38: warning: trailing space in the line [-w trail]
troff:<stdin>:40: warning: name 'Pp' not defined [-w mac]
troff:<stdin>:50: warning: trailing space in the line [-w trail]
troff:<stdin>:72: warning: trailing space in the line [-w trail]

-.-

Additonally:

Change macro 'Pp' to 'P'.

Word "\ctanbibpkgname": the word should probably be "ctanbibpkgname".
See comment in the file.

-.-

Generally:

Split (sometimes) lines after a punctuation mark; before a conjunction.

-.-

Tables:

  Use the preprocessor 'tbl' to make tables.

  Put data, that are wider than the header in the (centered) last column,
in a "T{...\nT}" block(, when the table gets wider than the output line).

  Table headers, that are wider than any data in the corresponding column,
do not need to be centered, so left adjustment (l, L) is sufficient.
ctanbib.1.diff (text/plain, 2.3 KB)
--- ctanbib.1	2026-05-16 01:02:05.289554361 +0000
+++ ctanbib.1.new	2026-05-16 02:09:07.716733286 +0000
@@ -1,6 +1,6 @@
 .\" Manpage for ctanbib.
 .\" Contact [email protected] to correct errors or typos.
-.TH ctanbib 1 "25 Oct 2023" "0.2d" "ctanbib man page"
+.TH ctanbib 1 "25 Oct 2023" 0.2d "ctanbib man page"
 .SH NAME
 ctanbib
 \- retrieve bibliographic information for packages hosted on CTAN.
@@ -20,24 +20,26 @@ field value if that is specified in the
 https://ctan.org/pkg/PKGNAME is used.
 
 .SH OPTIONS
-.IP -c,--ctan 
-Always use CTAN /pkg/ url instead of the package homepage 
-.IP -C,--CTAN 
+.IP \-c,\-\-ctan
+Always use CTAN /pkg/ url instead of the package homepage
+.IP \-C,\-\-CTAN
 Use the package's CTAN path as url (e.g.: /support/ctanbib)
-.IP -e,--entrytype 
-(default manual)  Change entry type
-.IP -h,--help 
+.IP \-e,\-\-entrytype
+(default manual) Change entry type
+.IP \-h,\-\-help
 print the help message.
-.IP -p,--pkgname
-Wrap the package name in a \ctanbibpkgname command
+.IP \-p,\-\-pkgname
+.\" Original line, text after "\c" gets removed
+.\"Wrap the package name in a \ctanbibpkgname command
+Wrap the package name in a "ctanbib pkgname" command.
 This command can be redefined in the document for the desired formatting.
-.IP -v,--version 
+.IP \-v,\-\-version
 print the version info.
 .SH EXAMPLES
 
-$ ctanbib latex  
+$ ctanbib latex
 
-.Pp 
+.P
 This invocation will print data in the BibLaTeX format to the standard output:
 
 .nf
@@ -46,20 +48,20 @@ This invocation will print data in the B
   title = {The Latex package},
   subtitle = {A TeX macro package that defines LaTeX},
   author = {Lamport, Leslie and The LaTeX Team},
-  url = {http://www.latex-project.org/},
-  urldate = {2018-08-23}, 
+  url = {http://www.latex\-project.org/},
+  urldate = {2018-08-23},
   date = {2018-04-01},
   version = {PL 5}
 }
 .ft R
 .fi
 
-.Pp
-The --ctan option:
+.P
+The \-\-ctan option:
 
-$ ctanbib -c hyperref
+$ ctanbib \-c hyperref
 
-.Pp
+.P
 This produces bib record with the @ctan type:
 
 .nf
@@ -69,7 +71,7 @@ title = {The Hyperref package},
 subtitle = {Extensive support for hypertext in LaTeX},
 author = {Rahtz, Sebastian and Oberdiek, Heiko},
 url = {/macros/latex/contrib/hyperref},
-urldate = {2018-08-27}, 
+urldate = {2018-08-27},
 date = {},
 version = {6.86b}
 }
general.bugs (text/plain, 2.1 KB)
  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8 <man page>

  To find most trailing spaces use

grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>

  The same goes for man pages that are used as an input.

-.-

  For a style guide use

  mandoc -T lint

-.-

  For general input conventions consult the man page "nroff(7)" (item
"Input conventions") or the Texinfo manual about the same item.

-.-

  Any "autogenerator" should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.

  It should also check its input files for too long (> 80) lines.

  This is just a simple quality control measure.

  The "autogenerator" may have to be corrected to get a better man page,
the source file may, and any additional file may.

-.-

  Common defects:

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  "git" has a "tool" to point out whitespace,
see for example "git-apply(1)" and git-config(1)")

-.-

  Not beginning each input sentence on a new line.

Line length and patch size should thus be reduced when that has been fixed.

  The script "reportbug" uses 'quoted-printable' encoding when a line is
longer than 1024 characters in an 'ascii' file.

  See man-pages(7), item "semantic newline".

-.-

The difference between the formatted output of the original
and patched file can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -d -u <out1> <out2>

and for groff, using

\"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \"

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output from 'diff -d -u ...' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-