Why is it that makeindex cannot normalize index commands such that two spaces is the same as one space. Come on, lines breaks in \index commands are common.
Is there an option to normalize?
I normally use texindy, which normalizes, but makexindex does not seem to do so.
With makeindex -c the foo bar's are collaped as one. Why is this not the default. Especially when most latex editors just lists the makeindex command as makeindex %.idx or similar.
@UlrikeFischer, the test for the entry being cited you mention in tex.stackexchange.com/a/716110/87678, is that in my code or the standard biblatex code? It's been a while since I spent enough time on this style!
@Cattleya \immediate\write is not \iow_now:Nx. \iow_now:Nx is \exp_args:NNx \iow_now:Nn . I.e., it does x-expansion and then sets \newlinechar to the number of the code point of the lineefeed character and then does \immediate\write with preventing expansion via \unexpanded and then resets \newlinechar to its former value.
So you cannot have single explicit character tokens of category 6(parameter) in \iow_now:Nx's 2nd argument unless in a way where they get detokenized in the course of x-expansion. You can have pairs of explicit character tokens of category 6(parameter) whereof the first one gets removed and the second one gets doubled. \iow_now:Nx is definitely not the same as \immediate\write.
You could have looked up via \cs_show:N. The expl3-pendant of \immediate\write is \tex_immediate:D \tex_write:D.
user598065
@UlrichDiez Thanks. How can you see with \cs_show:N that it is the linefeed character and not the carriage return character?
@Cattleya On my pdLafTeX \cs_show:N due to character translation prints the carriage return character in ^^-notation as ^^M. However \newlinechar by default denotes the linefeed-character, and therefore \cs_show does a linebreak for the linefeed-character.
If \newlinechar was set to -1, then with my pdfLaTeX you would get a linebreak as well as unlike the carriage return character the linefeed character is not translated to ^^-notation and therefore is delivered to the shell as is and the shell does a linebreak when displaying it.
user598065
@UlrichDiez Thanks. How do you know what characters get translated to ^^-notation when displaying on screen?
@Cattleya I use TeX Live 2023 and the TeX Live guide says that character translation is configured in cp227.tcx. And when looking into cp227.tcx, you can see that the linefeed-character (LF) is made printable. But there is no directive in that file for making carriage return printable.