6:51 AM
@enthu I think it's ultimately about habits. I mean I don't know what a pure programmer is but I would wrap your enumeration the other way around concerning programmers I do know. Programmers are using their keyboard very intensively. Because their hands are at their keyboard all the time it is easier to just type some shell commands then to search for that mouse thingy to click things.
When working with terminals and shells it's also natural to use Linux over Windows because even the new Windows Terminal is far from what Linux shells provide. And you can customize Linux even more to be keyboard-only by using tiling window managers while you have certain problems using Windows only with a keyboard in an efficient way.
Same with word, programmers use their text editor all day so they like plain text manipulation, version control etc.; Word is inferior to TeX in that regard. Ultimately, I think it should not be the logic of liking the hardest, just the logic of working too much in front of a screen to not optimize productivity towards own habits ;)

2 hours later…
8:31 AM
@JosephWright will in the new siunitx, \SI{300}{\kelvin} work in a \protected@xdef or still give an undefined command error for the \kelvin?

@UlrikeFischer That should work fine with the current release: I adjusted some of the code a while ago

@JosephWright right, hm so why did it explode in xr-hyper .

Is there an equivalent to \maxdimen for a newcount? (I'm working on this feature request github.com/josephwright/beamer/issues/675 and would need a default value. At the moment I'm working around this with a hardcoded value github.com/samcarter/beamer/blob/… but this feels rather hacky)

8:52 AM
@samcarter_looks_forward_TUG'21 expl3 has \c_max_int, but I don't think that there is an equivalent in latex2e, it is not something you really now. Imho everything above 100000 should be more than fine in your case.

@TeXnician thank you, I like your point of view. Yes you are right. Working with keyboard is very important for them. For me, I am not a professional programmer who has everything in mind. So I should alwyas use mouse to open browser, search for code to get myself out of the hell and move to the next hell! :)) so in my experience being fully text and shell dependent has never been easy at all. Professional programmers are not the same.
They have everything in mind and the only time consuming thing should be the time they spend to write things.

@UlrikeFischer Thanks for the feedback!

9:29 AM
@UlrikeFischer Could you make sense/use of Ken's latest replies on gs-devel?

9:50 AM
@samcarter_looks_forward_TUG'21 tyes, it's called \maxdimen
@AlexG I think basically it comes down to using a different top level script than ps2pdf and as noted earlier if we use a different script there are several ways to control the ps commandline.

@DavidCarlisle Not that it would make any practical difference, but I can go larger than \foo=\maxdimen, can't I?

@samcarter_looks_forward_TUG'21 no

OK, then I don't understand
\documentclass{article}

\newcount\foo

\begin{document}

\foo=\maxdimen

\the\foo

\foo=2147483647

\the\foo

\end{document}

@DavidCarlisle Thanks. I tried his last suggestion, but gs-9.54.0 says Error: /undefinedfilename in /setpagedevice.
<<
/CompatibilityLevel 1.2
/OutputDevice (pdfwrite)
>> setpagedevice
showpage

Then :

gs -sOutputFile=out.pdf <input.ps>

10:05 AM
@samcarter_looks_forward_TUG'21 either that or you would have to contemplate the possibility that I was wrong. Hmmm "7FFFFFFF is perhaps a more natural way of writing it.

@AlexG only half but I didn't try very hard. If a solution requires to change the calling script, then it is imho much easier to add a comment to the PS and to ask Akira to change the ps2pdf script so that it parse the file. The script use lua, so it should be easy to do. The main question is how to encode the version. Is e.g. a comment like %%PreferredPDFversion: 1.7 allowed?

Yes, I am in favour of a customized ps to pdf script too.

@DavidCarlisle I'll refuse steadfastly the second possibility! :)

@AlexG you have to dig it out of the correct dictionary, hanfg on..

@UlrikeFischer So, does there exist a ps2pdf script in TeXLive yet? I cannot find one in TL21 (linux x64).

10:10 AM
@AlexG I have it in scripts/tlgs/gswin32, it is called ps2pdf.tlu.

@UlrikeFischer None such in a full install for Linux...

@AlexG linux is perhaps relying on the distrib tools. That complicates things ... Do you have a ps2pdf binary in the bin folder?

@UlrikeFischer No. I did: find ~/bin/texlive/2021/ -name '*ps2pdf*'
GS must be installed separately on Linux.

@AlexG :-(. Well we could ask on the texlive list, how they see the option to add a special script for linux too.

@AlexG sorry that was nonsense

10:16 AM
@UlrikeFischer My ps2pdf* scripts are in /usr/bin as they should.

@AlexG just in windows I think, linux/mac/cygwin texlive use a system installed script

@DavidCarlisle Yeah, that's what makes the most sense. I just remember the annoyances that result from MiKTeX's bundled GS.

@AlexG it does except when the system supplied scripts don't work:-)

quack

@PauloCereda (Breakfast) show
@PauloCereda /duck pop

10:20 AM
@DavidCarlisle (println "oh no")

@AlexG well yes, it sometimes complicate things when there are two ghostscripts around, but in this case it would be really useful, if texlive had the control over the scripts.

@PauloCereda that is a string. We are talking PostScript not lisp this morning

@AlexG but I have to prepare lunch now, so later ...

@DavidCarlisle oh

@UlrikeFischer apart from the non trivial problem of getting users to call a different script having a new script just for texlive would work OK. texps2pdf or whatever

10:26 AM
@UlrikeFischer Guten Appetit!

@AlexG ooh nak nak

@samcarter_looks_forward_TUG'21 cool ^__^

@enthu all the keys you need to go keyboard only :)

@DavidCarlisle Yes, or putting the TL bin directory in front of everything else in PATH.

10:45 AM
@DavidCarlisle well not every user has to use them, only user who care about the pdf version and don't want to use command line options. Imho a special script would at least help with the testsuites, so I think we should try it. The first step is to agree about a sensible comment and test if we can get it into the ps @AlexG

11:37 AM
@UlrikeFischer yes but the users won't know when they need them and won't know how to configure the pipelines in their editor configuration when they do....

@UlrikeFischer @DavidCarlisle There are guidelines for non-Adobe DSC comments. Not sure whether it is mandatory to register them with Adobe: See Section 9 in www-cdf.fnal.gov/offline/PostScript/5001.PDF

@AlexG @UlrikeFischer might be best to have a new script dvipspdf that can have whatever commandline options we need and controls the whole dvips ps2pdf pipeline then one less command for the user and we can control the whole thing

Also remains the problem of how to place %%PreferredPDFversion at the correct place with dvips.

@DavidCarlisle that would be nice too.
@AlexG but if a DSC comment always starts with two percent chars, then we could simply use one to get a normal comment, couldn't we?

@UlrikeFischer With a "!" special as in \special{! %%PreferredPDFversion 2.0}, perhaps?

11:48 AM
@AlexG I was just trying this. It surrounds it with some postscript. Would that harm?
TeXDict begin @defspecial

%blub

@fedspecial end

@UlrikeFischer I don't know, actually. But whith this kind of special we get it at the earliest possible location in the PS. In the linked spec they say that non-Adobe DSC comments begin with %!<vendor prefix of up to 5 chars>
Er, sorry. without excl mark: %<prefix>....

@AlexG well we don't need to be very early. And \special{ps:\@percentchar blub} works and adds only the line.

@UlrikeFischer Sounds sensible.

@samcarter_looks_forward_TUG'21 interesting :))

@AlexG one can also do something like this:
\newcommand\myversion{2.0}
\special{header=versionheader\myversion.ps}
Then you get this in the ps
%%BeginProcSet: versionheader2.0.ps 0 0
%blub 2.0

%%EndProcSet
After all we have only a quite restricted set of pdf versions to support.

12:04 PM
@UlrikeFischer Looks cool.

@AlexG nak nak :)

@PauloCereda quack quack :) I grew uo with this in East Germany. And I like the voice a lot. The speaker hass passed away some years ago, though (at a high age).

@AlexG yes, I quite like this variant. We load a header file anyway, and in case we ever need different code for different pdf versions we could even use it for real code.

@AlexG oh

@AlexG A local supermarket recently sold super big stuffed animals of the characters. In the parking lot I saw a little boy carrying a Sandmännchen two heads taller than the boy himself. That looked so funny :)

12:14 PM
@PauloCereda And, as I learned recently, it is through this children's TV series that only East Germans transliterate the duck voice with this sound.

@AlexG ooh :)

@PauloCereda <3

@AlexG <3

@samcarter_looks_forward_TUG'21 Oh, thus they are now well known in Bavaria too?
@samcarter_looks_forward_TUG'21 ... which is not Bavaria at all .)

@AlexG I just checked their list of branches: looks like they recently launched two new ones in Leipzig and Riesa - maybe that explains it
@AlexG Franconia :)

12:27 PM
@samcarter_looks_forward_TUG'21 ... which is not Bavaria at all .)

oh wait, it's not this Bavaria, sorry

@PauloCereda Cerveja da bavaria brasileira. Ha uma coisa assim?
baviera?

@AlexG It's a brand from Heineken Brazil. :)

@PauloCereda Baviera neerlandesa brasileira.

@AlexG You are right, the "correct" region in Portuguese is Baviera. :)

12:35 PM
@AlexG <3

@AlexG I would definitely favour "holandesa" to "neerlandesa", although both are synonyms, I guess. :)

@PauloCereda no Holland is a small part of the Netherlands: de.wikipedia.org/wiki/Holland

@UlrikeFischer uh-oh

1 hour later…
1:48 PM
Hi everyone, I am trying to figure out how can I ref a citation. \href{\cite{cite-identifier}}{text} gives TeX capacity exceeded, sorry [input stack size=5000]. Any suggestions?

@DavidCarlisle and you're obviously a heretic who chose the wrong side!

@aeyalcinoglu the first argument of href should be an url or something like this, certainly not a citation.

@enthu you don't have to. It's only natural to think someone who writes TeX code without a single bug would choose a decent editor as well.

@aeyalcinoglu the argumant to href has to be a URL, \cite isn't expandable but even uts typeset output is ususally something like [2] what do you want this construct to do?

@UlrikeFischer Hmm, I understand I wanted to have custom text for the \cite, any easy suggestions for that? I have [1], instead of having "As you can see in [1] ..." I want to have something like [As you can see ...], like href

1:57 PM
@aeyalcinoglu the visible link text is the second argument to \href (you could use \cite there) the first argument is the URL to link to. But you have no URL here as far as I can see?

@DavidCarlisle The citation has a URL inside of it. But the behavior I want is simply \cite with custom text instead of [1], so that when the person clicks it, it goes to the citation.

@aeyalcinoglu the URL in the citation isn't releavant here then, you could presumably use the hyperref command to link to the bibitem id (so not \href) and then use the form of \cite that does not make a link, to avoid nested links.

@aeyalcinoglu you would need the destination name of the citation, which depends on which bibliography system you are actually using. So without small complete example no answer is possible.

@enthu an attempt at a short answer to this: The keyboard is faster than the mouse.

I am using \bibliographystyle{plain}. Okay, I will try to figure it out, thanks for the help!
How come citation with custom text is complex...

2:07 PM
@aeyalcinoglu because citations are in the core labels which should allow to identify a bibliography entry, this defines their content. An arbitrary link to a bib entry is something else.

@aeyalcinoglu well it won't be that complex, you just need to use the right commands so not \href, which would be like going <a href="see the item on page 2">??</a> in html. But it is unusual as latex cross referencing is built around \cite and \ref mostly, and they generate the link text (usually just a number)

I use \newcommand{\sref}[2]{\hyperref[#2]{#1 \ref*{#2}}} for custom referencing with \ref, but I couldn't find such an easy solution for \cite

@aeyalcinoglu yes exactly: you want hyperref not \href to reference an internal key. I am just trying to recall if there is a user syntax like \ref* to access the original no-link citation (obviously the original code is there)

2:27 PM
@DavidCarlisle you still need the destination name, which still depends on the bib system.

I gave up, will use [1]

@aeyalcinoglu If you could come up with a MWE, people might be able to help you. :)

Hello!

@Broxigar 'ello!

Howdy, I require some assistance with some LaTeX issue that I am trying to solve. It regards the package of algorithm2e
Here's my relevant question and the MWE I've written for it:
https://tex.stackexchange.com/questions/592519/align-algorithm-lines-on-the-equals-assignment-symbol

2:40 PM
Okay, it works, thanks everyone. I used \usepackage{natbib}, \defcitealias and \citetalias

2:55 PM
@UlrikeFischer yes
@UlrikeFischer You have to love Sebastian's comments in the cite section of hyperref.dtx:-)

@DavidCarlisle one of my favorites is "Revtex (bless its little heart) ..."

@UlrikeFischer I need to come back to your umlauts example. It doesn't work with dvilualatex + dvips +ps2pdf. What is needed here?

@AlexG what doesn't work? Sorry overlook dvips. Well dvips can't use open type fonts.
@AlexG can't you use dvilualatex and dvipdfmx?

@UlrikeFischer Why can dvilualatex not use Type1 fonts?
@UlrikeFischer PSTricks, for example.

3:12 PM
@AlexG well it can, but then why using lualatex at all? Why don't you stick to latex?

@UlrikeFischer Memory size issues, for example, esp with long animations.

@AlexG well the best would be if dvips could handle open type fonts. We really should try to get this. But until then you need something like the following. luainputenc does something like this, but I don't know if it handles all the details, like bookmarks etc.
\documentclass{article}
\usepackage[T1]{fontenc}

\begin{document}
Grüße

\catcode\ß=13
\protected\def ß{\ss}

Grüße
\end{document}

@UlrikeFischer Thanks a lot. I need to get this bookmarked...

3:34 PM
@UlrikeFischer we could blame @PhelypeOleinik for any quirks there.

Hey guys
I haven't found much information about text alignment on the algorithm2e package.

@DavidCarlisle I thought once to try to get rid of some of these patches like I removed the babel patches, but imho none of these packages (apart from revtex) are actively maintained, so it would be difficult to find someone to push ...

So, is there an alternative? Should I use a listing of a supported language (e.g., \lstinputlisting[language=c]{c.c}) and write the pseudocode of the algorithm there? Would that work?

@DavidCarlisle and place a large message at the start "Why don't you use biblatex?"

3:40 PM
@Broxigar it might if your pseudo code is sufficently c like but lots of peopel manage with algorithm2e or algorithmx or one of the pther algorithm packages. If something doesn't work as you expect make a test document and post a question on the main site, somome will answer.
@UlrikeFischer because journal blub doesn't allow it.

Yes I did try that @DavidCarlisle. I posted on the main site but I haven't got any replies. So I thought to ask here.

@Broxigar you asked two hours ago. Have some patience.

@Broxigar the people here are a small subset of the people who read the main site, so that doesn't help often I'm afraid.

Sorry @UlrikeFischer. You're right. Its just that I've tried almost everything and I ran out of patience. I will wait ;D

        \begin{tabular}{@{}p{1cm}ll}
\VARA  & := & 123
\end{tabular} \\
\begin{tabular}{@{}p{1cm}ll}
\VARB  & := & 123
\end{tabular}\\
\begin{tabular}{@{}p{1cm}ll}
\TEMP  & := & 423
\end{tabular}\\

3:54 PM
@Broxigar have you tried one of the more structured packages such as algorithmix? as you have it there is clearly nothing to make an alignment (you could put the lefthand sides into \makebox[3cm][r] so they were the same width but I'd avoid such explicit spacing, also don't write new and old in math ode, use \mathrm{new} and \mathrm{old}

@Broxigar ^^ dirty
@DavidCarlisle you were fast :)

Yikes!

@DavidCarlisle and your approach is better

Okay lemme try that ^^

@PauloCereda if you ar going to use a tabular anyway just use 1 ad {r@{}l} and they would align naturally

3:55 PM
@DavidCarlisle no, I did not try the algorithmix package. I will also investigate on that

@DavidCarlisle You lose the line thingy (I wouldn't mind)
@DavidCarlisle But I agree, I'd do that :)

@PauloCereda if all variables are called x and all functions are called f then there are no alignment problems.

@DavidCarlisle kids nowadays don't fancy α-conversion, it seems :)

@DavidCarlisle I thought all functions are called z

@AlanMunn that's Riemann, not Carlisle :)

3:59 PM
Those were the times eh.

@AlanMunn z is an anomaly caused by it being in a handy location on a keyboard, mathematics should be written with a biro and use x

@PauloCereda I tried your approach. It works. I am playing with the command to try to reduce the rhs spacing as well. I've seen this {@{}p{1cm}ll} namely, the @ symbol being used in the tabular environment. What does it stand for?

@Broxigar @{} supresses spaces between columns, but you should go with @DavidCarlisle's suggestion first. :)

I am reading the algorithmicx package docs if that's what you mean. but I was curious because I've seen this workaround in many 'relevant' topics
(meaning the one you suggested)

@Broxigar algorithmicx yes, but the \makebox thingy too. :)

4:08 PM
@PauloCereda eqparbox ...

@UlrikeFischer ooh even better

@UlrikeFischer ooh

Much appreciated also @UlrikeFischer

4:23 PM
@UlrikeFischer still pokes you in the eye with _{new} though:-)

Uh sorry bout that :P I am still learning

Hi everybody!

Hey there!

I'm trying to put this equation to the left
Is there any way I can do that?

\begin{equation*}
faro(x,z) =
\begin{cases}
z & \text{se x = $\eps$}\\
a.faro(z,y) & \text{se x = ay}
\end{cases}
\end{equation*}

@DavidCarlisle yes ;-)

4:27 PM
I mean: I just would like the equation not to be in the center of the page, but on the left side

@UlrikeFischer, @DavidCarlisle, @JosephWright : I hope this is only a bug: ghostscript.com/pipermail/gs-devel/2021-April/010431.html

@AlexG ups.
@LukeTheWolf option fleqn?

@UlrikeFischer It seems right, thanks!

4:42 PM
@AlexG Oh great

@JosephWright gnats :)

@JosephWright , @UlrikeFischer Fortunately, /_objdef is spec-compliant for several PDF features, amongst which /ANN: help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/…

2 hours later…
6:32 PM
@AlexG @UlrikeFischer
%!PS-Adobe-3.0
<<
/CompatibilityLevel 2.0
/OutputDevice (pdfwrite)
/OutputFile OutputFile
>> setpagedevice
newpath
0 0 moveto
200 400 lineto
stroke
showpage
gs  -sOutputFile=out.pdf -dNOPAUSE -dBATCH ks.ps
$pdfinfo out.pdf | grep version PDF version: 2.0 @DavidCarlisle That's cool! @AlexG basically as Ken S suggested but you have to copy the filename into the dictionary passed to setpagedevice @DavidCarlisle I didn't get the idea of putting the placeholder OutputFile as value of key /OutputFile into the setpagedevice dictionary. Great that you figured it out! @AlexG if you stare at the error message long enough while crossing your eyes, you realise that's what it is telling you to do:-) @DavidCarlisle it still would need a special script, but beside it looks good, it would avoid the hassle to check the file for a comment. Can we create such a postscript from dvips? 6:40 PM @UlrikeFischer yes you need to use gs but it seems cleaner than having to pre-scan the file looking for a magic comment @UlrikeFischer I guess so, let's see... ... @UlrikeFischer @AlexG tex followed by dvips followed by the above gs incantation makes PDF 2.0 from \special{!<< /CompatibilityLevel 2.0 /OutputDevice (pdfwrite) /OutputFile OutputFile >> setpagedevice } abc \bye @DavidCarlisle latex works to (I put it in \AtBeginDvi). @UlrikeFischer the downside is that the PS then can't be used for anything else, also of course you could write the filename in instead of use OutputFile then you wouldn't need to pass it in again on the commandlline.... @DavidCarlisle I'm not sure, didn't write Ken that one then has problem with the file access? I at least get errors. @UlrikeFischer ah yes @DavidCarlisle and regarding the PS: if we create a dvipspdf script which combine the calls, then it shouldn't matter much, one could even clean it up. 6:53 PM @UlrikeFischer what is ps2pdf on windows, a batch file or a compiled program? @DavidCarlisle it is a small wrapper which calls a luascript, probably using runscript.exe or so (at least in texlive, will have to check miktex). @UlrikeFischer ah yes of course it's a tex-only script in that case isn't it. we could use a lua wrapper everywhere keep it all the same. @DavidCarlisle Yes, it is a texlive script, at least if one doesn't force the use of an external ghostscript. The gs call is a bit OS dependant (I had to use gswin64c), but beside this it should work. @UlrikeFischer on the other hand how bad would it be if we just left things as they are but changed the site default compatibility level to 2.0 ? @DavidCarlisle I don't think that I would dare to do it, in view that for example pdftk doesn't like 2.0. 7:25 PM @DavidCarlisle It used to be ps2pdf.bat, but I am not sure it still is. (The gs bundled ps2pdf) @AlexG in the external ghostscript it is still a batch file. 7:52 PM @DavidCarlisle You can prevent non-ps2pdfwr devices (PS printers, PS viewers) from trying to execute this: \special{! mark << /CompatibilityLevel 2.0 /OutputDevice (pdfwrite) /OutputFile OutputFile >> setpagedevice systemdict /pdfmark known not {cleartomark} if } abc \bye @AlexG ah thanks I wondered about checking (for something) but hadn't actually got a plan. @DavidCarlisle But wait, maybe it constitutes a chicken-egg problem. because the ps2pdfwr device is set by the code itself. @AlexG also don't you want to not do the setpagedevice rather than just clear the satck, so re-arrange the conditional a bit? @AlexG how about: %!PS-Adobe-3.0 systemdict /OutputFile known {<< /CompatibilityLevel 2.0 /OutputDevice (pdfwrite) /OutputFile OutputFile >> setpagedevice} if newpath 0 0 moveto 200 400 lineto stroke showpage 8:29 PM @DavidCarlisle Good suggestion. But we need to prevent other file-based output devices from exploding, such as PNG, PCL etc. So my suggestion for refinement: \special{! systemdict /OutputFile known systemdict /DEVICE known not and { << /CompatibilityLevel 2.0 /OutputDevice (pdfwrite) /OutputFile OutputFile >> setpagedevice } if } abc \bye For example: gs -dDEVICE=png16m -sOutputFile=out.png -dNOPAUSE -dBATCH ks.ps @AlexG looks good 9:02 PM @DavidCarlisle -- and weight in stone. (Yes, this is late, but we've been on airplanes and other non-connected conveyances and locations.) 9:13 PM @Skillmon I understand if a professional user like you or others here says this. But for not professional coder, things may be different.... 9:36 PM @JosephWright l3build in luatexbase $ l3build check
...ocal/texlive/2021/texmf-dist/scripts/l3build/l3build.lua:162: too many C levels (limit is 200) in main function near 'config'
build.lua is in the old style but error message seems a bit unexpected (or perhaps it is expected:-)

@enthu -- Probably minority opinion here. For many years I worked for a math publisher. When professional metal type composition became unavailable, many other things were tried. TeX is the first thing that came along that approached the quality and complexity needed to publish the existing line of math journals and books. To learn TeX, I was first required to learn emacs. This combination has been successful throughout my career. (cont'd)

9:52 PM
(cont'd) Emacs is "in my fingers", and if I try to use something else with a radically different philosophy, I make so many mistakes the task is hardly worth undertaking. I don't participate in editor wars; use whatever fits your style and satisfies your needs. "Fitting your needs" is paramount, and all needs are not the same. I've worked in a "mixed mode" environment, and different people are comfortable with different tools, aiming for the same result. If the result is what is wanted, good.