« first day (3361 days earlier)      last day (1573 days later) » 

12:57 AM
@DavidCarlisle Oh. I thought it was just clickable links.
 
 
4 hours later…
5:27 AM
Is Martin Scharrer ever in chat?
 
5:50 AM
Is anyone around who owns pre-press tools, e.g., Acrobat Pro or something like PitStop Pro? I'm having trouble with a tikz fading. My printer says it's crashing his RIP and I can confirm that it will crash Acroread 9 under Linux when trying to output PostScript. @HenriMenke maybe?
 
6:48 AM
@FaheemMitha Last time I found searching for him: chat.stackexchange.com/transcript/message/43612256#43612256
 
@CarLaTeX Oh, that's a long time.
Thank you for the link.
 
@FaheemMitha The fact he is not active in chat doesn't mean he is not here, his user page says Last seen Jan 9 at 11:28 tex.stackexchange.com/users/2975/martin-scharrer
 
@CarLaTeX Yes, I understand that visiting the site and visiting chat are not the same things. :-)
I was hoping to ask him for his thoughts about transitioning from BitBucket.
I guess I could send him email.
 
@FaheemMitha Yes, I think it's better
Happy rubber duck day!
 
7:03 AM
@CarLaTeX Ok.
@CarLaTeX What's that?
 
@CarLaTeX Oh, I see.
I just ran into this - I don't see why hyperref can't deal with this.
22
Q: hash-tag in \href causes error

YotamI'm creating a beamer presentation. I want to put a link to a source which has a hash-tag in it (#). When I try to compile this I get an error: ! Illegal parameter number in definition of \test. <to be read again> } l.91 \end{itemize} % ends low level ? x ...

Odd. The hyperref manual says the following:
> The text is made a hyperlink to the URL; this must be a full URL (relative to the base URL, if that is defined). The special characters # and ~ do not need to be escaped in any way (unless the command is used in the argument of another command).
This text appears directly below:
\href[options]{URL}{text}
This appears to contradict my experience. Am I missing something?
 
7:42 AM
@JosephWright no, currently active commas and equals aren't handled. And I wrote it expandable because a) that's a unique selling point, and b) it wasn't that much of an overhead.
 
7:56 AM
ooh rubber ducks
 
8:10 AM
@JosephWright \keyval_parse:NNn is not the equivalent of \setkeys, but I compare performance with \setkeys, so I think I should compare to \keys_set:nn (which is what I do).
 
In software engineering, rubber duck debugging is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. Many other terms exist for this technique, often involving different inanimate objects. Many programmers have had the experience of explaining a problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. In...
 
@HaraldHanche-Olsen :)
 
8:39 AM
Oh, actually the \hrefs are arguments to \multirow. Perhaps that explains it.
 
@FaheemMitha not only perhaps. If you use it as an argument to anything, it wouldn't be able to change the category codes and fail.
 
@Skillmon Oh. Why can't it change the category codes?
 
@FaheemMitha once something was read by TeX, the category codes are fixed during the tokenization. If you now change the category codes this won't affect anything already tokenized. What hyperref does is, it first changes the category codes of problematic characters (like #) and after that reads its argument. If that argument hasn't yet been tokenized everything will work out correctly.
@FaheemMitha that's the same way \verb and the like work.
 
@Skillmon I see. So, a design feature?
 
@FaheemMitha a TeX limitation (or design feature of TeX, if you want to put it that way). Only way to get around that is using \scantokens, but that one has more pitfalls than it has benefits normally, so its usage has to be well considered.
 
8:46 AM
There is no way to do a first pass to see whether something inside that string wants to change the catcodes?
 
@FaheemMitha not without implementing a TeX parser in TeX. Not something you want to do (except if you're named Bruno)
2
 
@Skillmon THANK YOU
 
@Skillmon Fair enough.
 
@FaheemMitha but I think hyperref could get # and the like to work if nested, only % is a real problem, but that would slow things down a lot in the approach I have in mind, and has to be done really carefully.
 
@Skillmon What approach is that?
 
8:52 AM
@FaheemMitha doing something like \edef\myinput{\stringify #1\endmark} and \stringify being something that converts every character in #1 to category code 12 with \string, but \stringify would have to watch out for spaces, opening and closing braces, and some other stuff.
 
@Skillmon Sounds tricky.
 
9:08 AM
@PauloCereda Even more stars!!!
@PauloCereda I can't actually decide yet, whether I want to use lf or nnn.
@PauloCereda Oh, and do you know pass already? This has changed my life!
 
@HenriMenke :)
@HenriMenke I will try nnn in my laptop, sounds promising. :)
@HenriMenke ooh let me check
@HenriMenke it looks quite interesting!
 
@FaheemMitha I guess he might also be able to use \detokenize, this is like \verb but can't distinct between \foo {abc} and \foo{abc}, but that shouldn't be an issue here (I think....)
 
@PauloCereda You might also like this: github.com/pwmt/zathura
 
@HenriMenke ooh
 
@HenriMenke yay, my everyday PDF-viewer (except on Windows, there I use MuPDF)
 
9:17 AM
@Skillmon I think you mean "distinguish".
 
@FaheemMitha oh, stupid mistake :) Of course.
 
@Skillmon yay
Rabbits are very high-technical
 
@FaheemMitha ?
 
@DavidCarlisle Like something.
Which then becomes clickable.
 
@FaheemMitha isn't that what you asked for originally? perhaps I don't understand. A hyperlink whether its hyperref or html or whatever is always a link text and a specification of where to jump to if you activate the link isn't it? whether the markup is [foo]{bar} or <a href="bar">foo</a> or \hyperref{foo}{bar}
 
9:30 AM
@DavidCarlisle Well, one can just write the link as a URL, or one can write it in the form [text](URL).
I was asking about the latter. I already know that hyperref converts URLs to clickable links.
Though I thought the syntax was \href.
 
@FaheemMitha only if you specify the url as the link text as well as the url, \href{url} is just \hyperref{url}{url} it also makes Section 2 link to the section, and tables of contents link etc, most links generated by hyperref don't have the link target as the link text
 
@DavidCarlisle I'm not sure I follow. I'm doing \href{URL}{text}. This works. I didn't see \hyperref in the manual, but I didn't try to read all of it.
Oh, I see there are two different versions of \hyperref.
It doesn't look like I need to use those.
 
@FaheemMitha oh that's probably the form not looked at the manual for years I forget which is which, but the basic principle is that the fundamental command takes a link text and a target and any other link forms are just special cases of that
 
@DavidCarlisle The fundamental command being \hyperref?
 
9:53 AM
@DavidCarlisle quack
 
@FaheemMitha if that's the one with two arguments yes:-)
@PauloCereda Dinner
 
@DavidCarlisle oh no
 
10:14 AM
@DavidCarlisle, @UlrikeFischer, @egreg LaTeX2e 2020-02-02 PR3 and expl3 2020-01-19 off to CTAN
 
@JosephWright :-)
@JosephWright I had to update hhline, to keep Frank happy.
 
Meanwhile, any views on github.com/josephwright/siunitx/issues/371 would be useful
@DavidCarlisle Sure: I'll send tools in a few minutes: just re-building on Travis-CI
 
@JosephWright ooh a mouse
 
@JosephWright I know I've worked at NAG for 20+ years but at heart I'm still a pure mathematician, values are either wrong or right, never uncertain (and practically speaking I have no actual experience of typesetting these values other than occasional examples posted here)
 
@DavidCarlisle :)
@DavidCarlisle I think I'm going to push for NIST/BIPM to make their statements clearer, and talk to the chap about us deciding on a 'standard' by force of implementation
 
10:29 AM
@DavidCarlisle \hyperref takes both 2 and 4 arguments, according to the documentation. There are other commands in the hyperrefpackage that take two commands.
@DavidCarlisle Sometimes propositions are undecidable.
 
@JosephWright it's your fault
 
@DavidCarlisle Hope my reply on the XeTeX list doesn't conflict too much with yours
@egreg, @UlrikeFischer (@DavidCarlisle) We should I guess track down all the \tl_<thing>_case:n and \str_<thing>_case:n answers and alter to \text_<thing>case:n/\str_<thing>case:n
 
@DavidCarlisle engineers bah :)
 
@PauloCereda Probably
 
10:34 AM
@JosephWright :)
 
10:48 AM
@JosephWright no it's fine actually I'm glad you mentioned nfd I was trying to remember what was the additional information from the main unicodedata file, rather than just the smaller specialcasing etc
@FaheemMitha yes but you never write true(+/-0.5)
@JosephWright guess who I got mail from.
 
@JosephWright After the kernel is updated on CTAN.
 
@egreg Sure, yes, tomorrow or the day after I guess
@DavidCarlisle It's more recent but it's necessary (or at least I'd rather not have to hard-code the ~300 codepoints that are required for Greek), and we might expect over time more data to be added
@DavidCarlisle :)
@DavidCarlisle Er, Murray?
@DavidCarlisle The thing is, we might avoid reading UnicodeData.txt by pre-digesting, but for the common case of a format file that's not really necessary (The older XeTeX pre-digested stuff was not much faster than parsing everything on-the-fly)
 
11:04 AM
@JosephWright yes I think it should do format files, the pressure will be to push tikz (aka l3draw) hyperref some tagged pdf stuff plus all of expl3 into the format, then he has to load all that at run time on the simplest hello world document, it just seem wrong
@JosephWright you won't guess:-)
 
@DavidCarlisle ooh the Australian bloke
 
@DavidCarlisle I think even without that there's a big difference between a set up using plain and one using LaTeX; just the 'classical' kernel is already non-trivial
 
@JosephWright yes but he's timed that and decided it is workable to load every time but if by the time he's ready for release the kernel is rather bigger it may be better to have a backup plan
 
11:27 AM
@DavidCarlisle Yeah, perhaps, but the experience of others running service-like set ups is more toward custom formats
@DavidCarlisle Load time for core expl3 isn't actually so bad
 
11:41 AM
Benchmark #1: lualatex test.tex
  Time (mean ± σ):      7.875 s ±  1.381 s    [User: 4.4 ms, System: 15.1 ms]
  Range (min … max):    5.082 s … 10.287 s    10 runs

Benchmark #2: lualatex-dev test.tex
  Time (mean ± σ):      3.975 s ±  0.957 s    [User: 6.3 ms, System: 12.1 ms]
  Range (min … max):    3.061 s …  5.650 s    10 runs

Summary
  'lualatex-dev test.tex' ran
    1.98 ± 0.59 times faster than 'lualatex test.tex'
@PauloCereda ^^^
 
@JosephWright ooh :)
 
Benchmark #1: xelatex test.tex
  Time (mean ± σ):     10.947 s ±  1.062 s    [User: 10.2 ms, System: 18.8 ms]
  Range (min … max):    8.346 s … 12.208 s    10 runs

Benchmark #2: xelatex-dev test.tex
  Time (mean ± σ):      6.082 s ±  1.883 s    [User: 6.0 ms, System: 12.6 ms]
  Range (min … max):    4.812 s …  9.383 s    10 runs

  Warning: The first benchmarking run for this command was significantly slower than the rest (9.383 s). This could be caused by (filesystem) caches that were not filled until after the first run. You should consider using the '--warmup' option to fill those cache
@PauloCereda (@DavidCarlisle) ^^^
@PauloCereda A useful tool
 
yo'
@JosephWright yaaaay!
 
@JosephWright which tool is that? Does show why (with no format) he wants to not read the unicode-data though:-)
 
@JosephWright we ducks are very good at finding tools. :)
 
11:53 AM
@yo' Of course, this is not going to scale: it's the load-time that's shorter
 
@DavidCarlisle I am useful
 
@yo' My test was loading ctex and printing 'hello world'
 
yo'
@JosephWright well, but that's the big annoyance: that a small document took ages to even start compiling.
 
@yo' Yes, true: saves a lot of time on the test suite for example
@DavidCarlisle I did think about that ...
 
11:56 AM
@DavidCarlisle oh no
 
12:42 PM
It's too quiet today.
NOISEEEEEEEEEEEEEEEEE
ooh
 
Oct 7 '19 at 10:28, by Paulo Cereda
We Brazilians are very quiet. :)
:-)
 
@PhelypeOleinik oh no
@PhelypeOleinik shhh
 
@PauloCereda WHAT DID YOU SAY!?
 
@PhelypeOleinik Hit the road Jack and don't you come back no more no more no more... ooh
 
@PauloCereda Ooh, I heard this before, somewhere :)
@PauloCereda The song, I mean
 
12:49 PM
@PhelypeOleinik Tell me it was in the Super Mario Bros show that was broadcasted on TV when we were kids. :)
 
@PauloCereda I don't know where. But I didn't watch that show. Was it good?
 
@PhelypeOleinik youtube.com/watch?v=qoLllXlNcmI (no PT-BR, sorry)
@PhelypeOleinik Around 12:40. That was the first time I heard Ray Charles. :)
@PhelypeOleinik well, being a child living in a rural area, I didn't have a lot of options. The show was good. :)
 
@PauloCereda The live action guys in the beginning remind me of Castelo Ra-Tim-Bum
 
@PhelypeOleinik ooh que som é esse? :)
 
@PauloCereda That show was good (most of the ones in TV Cultura were :)
 
12:56 PM
@PhelypeOleinik Yes. :) Remember mundo da lua?
TV Cultura started the daily broadcast by playing the national anthem. Good times.
 
@PauloCereda I think so... vaguely :)
 
@PhelypeOleinik :)
 
@PauloCereda I don't remember about that
 
@PauloCereda What I remember is that from 5 to 6pm there was an hour of political propaganda. That hour took ages to end
 
12:59 PM
It starts around 0:22.
 
@PauloCereda 2015? The video quality looks a tad older :-)
@PauloCereda late 1990s, maybe...
 
@PhelypeOleinik 1996 IIRC.
@PhelypeOleinik Dude, my eyes water with the national anthem, holy cow.
 
@PauloCereda It is a beautiful song, indeed :)
 
@PhelypeOleinik Yes!
 
yo'
1:50 PM
@JosephWright btw, we're discussing this in Overleaf just now, and we'll try to get TL2020 as fast as we can, especially for lualatex speeding up.
 
2:12 PM
@yo' Sure, but I know you need to test carefully there
 
yo'
@JosephWright yeah, we will. (Well, testing takes quite some time for TL19 as well just now)
 
2:54 PM
@yo' :)
 
3:34 PM
@yo' Overleaf has a lot of good/useful introductory TeX tutorials, and they seem to be of relatively recent vintage. Or Google very recently noticed they existed. I don't know which, but I've only started seeing them very recently. Do you know who wrote them?
 
@FaheemMitha There are Plans in the area of basic tutorials :)
 
@JosephWright Plans?
 
yo'
@FaheemMitha as far as I know, most are by my colleague LianTze Lim.
 
@FaheemMitha I have ideas about having a properly curated set of beginners 'lessons'
 
@yo' Ah. Well, congratulate him from me. How old is Overleaf?
 
3:36 PM
@yo' Ah, that's useful to know
 
yo'
@FaheemMitha her
@FaheemMitha about 8 years
@JosephWright what for?
 
@yo' Who wrote the Overleaf content
 
@JosephWright I see. You know, 'curated' might have been a reasonable word once, but is now hideous corporate buzzspeak.
 
yo'
@JosephWright yeah, but I wonder why is it useful to know the author :)
 
@yo' I beg your pardon. Her.
 
3:37 PM
@yo' :)
 
@DavidCarlisle when I compile this
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\url{www.abc.de}
\end{document}
 
@JosephWright ooh that secret. :)
 
@DavidPurton Do you still need help with this? I have Acrobat XI Pro (on a Mac).
 
@DavidCarlisle ^^^ It happens only with texlive, and the problem seems to be the ps2pdf step.
 
3:43 PM
@JosephWright Actually, there is already that LaTeX Wikibook thing - en.wikibooks.org/wiki/LaTeX
 
@FaheemMitha yes that's why we need to have some good tutorials
@UlrikeFischer ah what ghostscript do you have
 
@DavidCarlisle It's quite reasonable, and relatively useful. But it would help to develop it further.
 
$ gs --version
9.27
 
@DavidCarlisle I think 9.50
 
@UlrikeFischer ^^
 
3:45 PM
@DavidCarlisle It's quite reasonable, and relatively useful. But it would help to develop it further.
Much of it is just stubs.
 
Site problems?
 
@AlanMunn not here, it seems
 
@DavidCarlisle Now I'm getting a site generated error page at least.
 
@AlanMunn normal behaviour here...
 
@PauloCereda Seems to have recovered by itself. Weird.
Must have been @UlrikeFischer 's fault.
 
3:51 PM
@AlanMunn Which site?
 
@FaheemMitha It was our site (TeX.se). Lasted a few minutes for me.
 
@AlanMunn Oh. I just had some problems with sending messages to chat. I thought it was my connection (which tends to be flakey). Possibly related.
Seems to have gone away now.
 
@DavidCarlisle the ghostscript in texlive has version 9.50, in miktex it is 9.25. Was there an option somewhere to force texlive to use an external ghostscript?
 
@FaheemMitha Chat was working fine for me (which is usually the case; the chat and the regular site are independent from each other, AFAIK).
 
You know, what Linux needs is a nifty logo, like the TeX and LaTeX ones.
@AlanMunn Right. It might have been unrelated. I.e. my crappy connection.
Unfortunately, LiNuX looks kind of weird.
Meaning, a text logo. Not Tux.
 
4:04 PM
@UlrikeFischer I think it's always external except on windows
 
Works here with GS 9.27
 
what happens if you add -dNOSAFER
 
@DavidCarlisle well it is clearly the border, with gs 9.50 I get a value of [0 0 8.33333302] instead of [0 0 1]. And if I suppress the hyperref border patch with \def\Hy@BorderArrayPatch{} the border behaves again <--@JosephWright
@DavidCarlisle doesn't change the output.
 
Can someone confirm that the unicode-math package loads fontspec?
 
4:21 PM
@FaheemMitha yes (as you can see in the terminal output)
 
@DavidCarlisle Oh. I didn't look at that. Sorry.
Thank you for the confirmation.
 
@JosephWright with category code safety against active commas and equals I'm currently at 3.5 times slower than keyval, but that should further increase, I just patched it in pretty ugly to test things.
 
4:42 PM
Hmmm... tex.stackexchange.com/questions/524076/… Strange. Seems some problem in finding the bounding box at \end{axis}
The MWE works in my standard Ubuntu distro but fails in an up-to-date TeXLive.
 
@Rmano there have been recent updates to tikz/pgf....
 
@DavidCarlisle Yes... I suggested the OP to report it.
Ah, ok, the Cat nailed it. But it's strange too; old circle(2pt) still works in tikzpictures, but fails in axis--- well, it has been deprecated for ages, so maybe it's all ok.
 
5:02 PM
From my university travel office:
I'll take the readable version please. :)
 
@AlanMunn ooh :)
 
@Skillmon Pretty impressive then
@Skillmon I've wondered about chasing more speed in l3keys, but it's tricky to find much and keep all of the features; in the end, if we want maximum performance then xtemplate's plan is the way to go - pre-parse the keys and use the actual values only at runtime
 
yo'
5:32 PM
@DavidCarlisle agreed.
 
@Skillmon I guess I could look to squeeze a bit more from l3keys ... I suspect \keyval_parse:NNn is as tight as I can make it, or very close to, but there might some wiggle room in the higher-level code
 
@PabloGonzálezL ah, I knew there was something. But I wonder if it still works, at least locally in the command line it seems to have no effect.
 
@UlrikeFischer Win or Linux?
 
@PabloGonzálezL windows.
 
@UlrikeFischer With TeXLive 2018 it worked (win10) playing with the environment variables...
 
@PabloGonzálezL I will make a real try later, I made only a short test with set on the command line.
 
6:28 PM
@UlrikeFischer I used to test GS compatibility for a script that way (in the past), now I use Hyper with saved points for the different tests :)
 
6:57 PM
@JosephWright ok, now I'm down to 3.3 times slower than keyval with (from my few tests) robustness against active commas and equals, and without unpredictable brace stripping. With overall 238 lines of code.
 
@Skillmon Could you send me your test file?
 
 
2 hours later…
8:35 PM
@DavidCarlisle I think I found the change to the link border in ghostscript: git.ghostscript.com/…. And it probably means that we will need (and also l3backend) a variant "before gs 9.50" and one after.
 
@UlrikeFischer so they are intentionally not following the spec, to follow distiller, what happens if distiller gets fixed?
 
Good evening to all users active at this moment.
 
@DavidCarlisle ;-(. But for us it means that we need some user switch to activate/deactivate this BorderArrayPatch, I don't think that we have any chance to detect the gs version.
 
I hope you're in good health and everything's okay.
 
8:54 PM
anyone want to bet against @egreg preparing an l3regex answer at the current time?
@UlrikeFischer yes I guess so, bit of a pain.... I wonder if we could make it part of the texlive (miktex?) site setup oh can't we write the test in postscript?
 
@DavidCarlisle I don't quite see a site setup test if people like you can use more or less arbitrary external ghostscript versions. And I don't know postscript enough to decide if BorderArrayPatch can contain some "detection" code for the ghostscript version ;-(.
@DavidCarlisle no.
 
@UlrikeFischer well the PS test could be (GPL Ghostscript) product eq 950 revision gt and but I'll have to look what the patch does....
 
@DavidCarlisle basically it is adding a factor to the border size. We discussed this last year: chat.stackexchange.com/transcript/message/50072059#50072059
 
@UlrikeFischer it's using ps code there so we could wrap it in {......} (GPL Ghostscript) product eq 950 revision lt if
 
@DavidCarlisle If you can add it to hdvips.def I can test as I have both ghostscript types.
 
9:08 PM
@UlrikeFischer OK give me a sec...
 
@JosephWright I can do, it is currently not that well written but serves the purpose for me. What I still want to add is some automatic test suite for possible bugs (e.g., does it handle braces correctly, does it handle catcodes), those I do by hand currently.
 
@UlrikeFischer mail sent
 
@DavidCarlisle got it. Just trying.
 
@JosephWright I'll tidy up a bit, expect mail in an hour (my wife will come home soon, so it might take a while)
 
@UlrikeFischer testing? it will never catch on.
 
9:29 PM
@DavidCarlisle it changed something - texlive still has a large border but in miktex it is gone completly now ;-( If I exchange the two /BorderArrayPatch is seems to work.
 
@UlrikeFischer I probably got the logic (or the arguments to ifelse reversed:-) let me check the manual
 
@DavidCarlisle I thought you knew about \check@mathfonts.
 
@egreg yes but it was middle of the night and I didn't look at the ams code I just stuck in the empty math list as it looked suspiciously like the kind of problem that would fix:-)
@egreg I left a comment under my answer
 
@DavidCarlisle :-)
 
@UlrikeFischer I think it should be
    %if  using gs and release < 9.50 patch, otherwise make this a no-op
    (GPL Ghostscript) product eq revision 950 lt and
    {
    /BorderArrayPatch{%
      [exch{%
        dup dup type/integertype eq exch type/realtype eq or%
        {BPToDvips}if%
      }forall]%
    }def%
    }{
    /BorderArrayPatch{} def
    }
    ifelse
@UlrikeFischer I guess this is kind of urgent if windows releases (or anyone who has updated gs recently) gets massive borders in all hyperref docs by default
 
9:40 PM
@DavidCarlisle it doesn't work for me. I need this order:
  %if  using gs and release >= 9.50 make this a no-op
    (GPL Ghostscript) product eq 950 revision le and
    {
    /BorderArrayPatch{} def
    }
    {
    /BorderArrayPatch{%
      [exch{%
        dup dup type/integertype eq exch type/realtype eq or%
        {BPToDvips}if%
      }forall]%
    }def%
    }
    ifelse
   % end of gs version test
@DavidCarlisle we would probably get a good overview about how many people still use the dvips route ;-)
 
@UlrikeFischer More than one ;)
@UlrikeFischer Lots and lots of publishers, Japanese users, ...
 
@UlrikeFischer i'm confused. your working version says "if ((gs=product) and (9.50 <= revison) do nothing else patch but don't you need the patch for old gs ??
@JosephWright you've got mail!
 
@DavidCarlisle Er, that's odd, I'll take a look
 
@DavidCarlisle I clearly need the patch with miktex (which has an internal, older ghostscript). And it looks as if my version of the code enables the patch, but I don't understand the logic ...
 
10:07 PM
@DavidCarlisle does the miktex ghostscript count as "GPL Ghostscript "?
 
@UlrikeFischer ah can you run gs on the commandline (it may be called gswin32c or something similar, and type product == to the gs> prompt?
@UlrikeFischer like this session:
$ gs
GPL Ghostscript 9.27 (2019-04-04)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
GS>product ==
(GPL Ghostscript)
GS>
 
@DavidCarlisle for miktex I get this:
GS>product ==
(MiKTeX GPL Ghostscript)
GS>revision ==
925
 
Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
I can't do it for the internal texlive, it says it can't find gs_init.ps
 
@UlrikeFischer I'll look up what the ps for "contains substring" is:-)
 
10:17 PM
@DavidCarlisle ;-). I will go to bed now - skiing is tiring ...
 
@UlrikeFischer have a holiday, you don't have to do tex (I'm sure I have never done tex support or chatted here when on family holidays:-)
 
Did you know that TeX is faster in doing \catcode`\@=11 than in doing \catcode`\@11?
 
@Skillmon ald with a space after =?
 
@DavidCarlisle slower than without it.
 
@Skillmon Try
\documentclass{article}
\usepackage{l3benchmark}

\ExplSyntaxOn
\cs_new_eq:NN \benchmark \benchmark:n
\ExplSyntaxOff

\begin{document}

\benchmark{\catcode`@=11 }

\benchmark{\catcode`\@=11 }

\benchmark{\catcode`@11 }

\benchmark{\catcode`\@11 }

\end{document}
On my machine I get
7.41e-8 seconds (0.381 ops)
7.35e-8 seconds (0.374 ops)
8.06e-8 seconds (0.405 ops)
8.07e-8 seconds (0.408 ops)
 
10:31 PM
@egreg I'm getting similar values.
@JosephWright you got mail.
 
@Skillmon With the = it takes slightly less time because the optional equal hasn't to be looked for, otherwise TeX sees the 1, puts it aside and reprocesses it.
 
@egreg sounds logical.
 
@Skillmon Thanks
 
10:49 PM
@UlrikeFischer (when you have time)
    %if  using gs and release < 9.50 patch, otherwise make this a no-op
    product (Ghostscript) search {pop pop pop  revision 950 lt } {pop false} ifelse
    {
    /BorderArrayPatch{%
      [exch{%
        dup dup type/integertype eq exch type/realtype eq or%
        {BPToDvips}if%
      }forall]%
    }def%
    }{
    /BorderArrayPatch{} def
    }
    ifelse
If anyone else has gs 9.50 and wants to try^^ :-)
@UlrikeFischer go away
 

« first day (3361 days earlier)      last day (1573 days later) »