4:37 AM
@barbarabeeton "fanfold greenbar" would be printed paper output, it take it. Quite a while back, presumably.
I bet debugging with punch cards was fun too.
@Skillmon I did qualify it with "not completely" below.

4:52 AM

I tried mark size (when tikz package is loaded) but it doesn't seem to work. I want it to scale with the text.

5:09 AM
@marmot I'm all for not making errors.
As long as it doesn't involve satanic rituals and selling one's soul.

You can use \setbox\aMark\hbox{\begin{pgfpicture}\pgftransformscale{2}
\pgfuseplotmark{*}\end{pgfpicture}} , i.e. use \pgftransformscale, but I do not now what transform with the text means. Do you want to make it large if the text is \large?
If you want it to scale with the text, try
\documentclass{article}
\usepackage{pgf}
\usepgflibrary{plothandlers,plotmarks}
\begin{document}
\newcommand\mymark{\pgfmathsetmacro{\myscale}{1em/10pt}%
\begin{pgfpicture}\pgftransformscale{\myscale}
\pgfuseplotmark{*}\end{pgfpicture}}
\noindent\mymark\ Hello

{\Large\noindent\mymark\ Hello}

{\Huge\noindent\mymark\ Hello}
\end{document}
@FaheemMitha I was just kidding. ;-)
@bp2017 ^^^
@bp2017 There is also \pgfsetplotmarksize{<dimension>}.
\documentclass{article}
\usepackage{pgf}
\usepgflibrary{plothandlers,plotmarks}
\begin{document}
\newcommand\mymark{\begin{pgfpicture}\pgfsetplotmarksize{0.6ex}
\pgfuseplotmark{*}\end{pgfpicture}}
\noindent\mymark\ Hello

{\Large\noindent\mymark\ Hello}

{\Huge\noindent\mymark\ Hello}
\end{document}
\documentclass{article}
\usepackage{pgf}
\usepgflibrary{plothandlers,plotmarks}
\begin{document}
\newcommand\mymark[1]{\begin{pgfpicture}\pgfsetplotmarksize{0.6ex}
\pgfuseplotmark{#1}\end{pgfpicture}}
\noindent\mymark{*} Hello

{\Large\noindent\mymark{*} Hello}

{\Huge\noindent\mymark{*} Hello}

\noindent\mymark{o} Hello

{\Large\noindent\mymark{o} Hello}

{\Huge\noindent\mymark{o} Hello}
\end{document}

5:56 AM
@marmot, thank you very much. (These would serve as bullets for my custom list.)

6:20 AM
So, I'm having a weird problem here. I was trying to debug the problem I was seeing yesterday. So I copied the relevant files to a different directory in order to isolate the problem. But once I copied the files over I could no longer reproduce the problem.
I then tried reproducing in a clone of my repository, and that didn't reproduce either.
So I'm not sure what is going on. Perhaps there is a stray file which is causing problems, but I'm not sure what it could be.
Is there an easy way of finding out what files a TeX file is looking at during compilation, short of running an strace or similar?
When I rm the aux file, it goes away for one run, but reappears on the second run.

6:35 AM
@FaheemMitha Yes, I saw that after posting my comment, and was too lazy to then remove it :)

@FaheemMitha pdflatex --recorder

@DavidCarlisle same for lualatex?
I'm seeing a bit of weirdness that is probably relevant. Does lualatex write label information anywhere other than in the .aux file?

@FaheemMitha yes (although I'm not sure if that logs files opened from Lua)
@FaheemMitha no

7:27 AM
Ok, mystery probably solved. Part of my code isn't been run because a file isn't present in those other copies. I wonder if conditional compilation is really a good idea.
In this case, compilation conditional on the presence of a file.
Thanks to --recorder for tipping me off.

8:24 AM
@FaheemMitha interesting. One of our users is having a very strange problem with synctex. Interestingly enough I can replicate it if I move his files to my PC, but the problem goes away if I recompile in my end. But the problem persists in his end even after recompilation. Plus it is one ONE file that is problematic.
I can get problems in both emacs + evince and in texmaker (the latter does not just correctly to source either)

@daleif Is it some issue with the installation?
Those are harder to solve.
Stylistic question: is it bad style to run code when importing a .lua file, as opposed to wrapping it in a function, and then calling that function explicitly?

@FaheemMitha we do not know. But it does not make any sense that it is only one of the 6 chapters (separate files), chapter 5 is problematic. If we check out the project to a different folder, the problem disappears).

@daleif There is no problem in a different folder on the same machine?
Then it's not the installation, it's local files.
I'd suggest deleting everything in sight, and checking the list from --recorderin both places.
and if it's the same list, do a diff between the two locations across the list.
Oh, to be clear, delete everything, do one compilation run from scratch in both places. Compare. Then do another run. Etc.

8:45 AM
@FaheemMitha doesn't make a lot of difference, the ltluatex code for example that latex always loads into luatex just directly sets up its tables as a lua script it isn't run as a function

@DavidCarlisle Principle of least surprise?

@FaheemMitha ?

@DavidCarlisle It's less surprising to call a function explicitly. As opposed to hiding code away in some file.
Arguably.

@FaheemMitha well require is a wrapper around dofile and that basically defines an anonymous function that loads the script via loadfile and then runs it so the differences are minimal see lua.org/pil/8.html

@DavidCarlisle I was thinking call the function explicitly from the TeX file.
That way someone looking at it can see the function is being run.

8:54 AM
@JosephWright do you have any comment on the lower-uppercase rules here: tex.stackexchange.com/a/497479/2388 (see the comment from Ralf).

@UlrikeFischer Comment is right: I maps to dotless-i in Turkic scripts
@UlrikeFischer See SpecialCasing.txt

@FaheemMitha yes well that's a possibility of course and clearly better if it may be needed to called more than once. but for things like ltluatex it's all internal setup, noone ever wants to look at its call

@JosephWright and what about the other direction, is i to I right?

@DavidCarlisle Internal setup for LuaTeX?

@UlrikeFischer No, i is dotted-I
@UlrikeFischer The dot is an explicit accent-like mark in Turkic scripts

8:57 AM
@JosephWright dotless i and K for Kelvin are important examples for messing up "simple" ascii case changing:-)

@DavidCarlisle :)
@DavidCarlisle Also Dutch IJ?

@JosephWright Boris says that isn't a problem.

@DavidCarlisle For example all-caps to titlecase? IJMUIDEN is correctly IJmuiden in Dutch?

@JosephWright so turkish should add  \lccode\I\ı \uccode\i\İ  (I wonder if this will come out right, I always forget the right escape ... - no it didn't)

@UlrikeFischer Yes

9:10 AM
@JosephWright I wonder what is the "modern" way to add things like this to babel - I lost a bit the touch to the development ;-(

9:22 AM
@DavidCarlisle @JosephWright harftex seems to drop the fontforge library... Could you change lines 640 and 101 in l3build-check to if match(engine,"^lua") or match(engine,"^harf")  so that testing works with harftex too? I lost my changes after the last update.

@UlrikeFischer I'll do that as part of some other updates

@JosephWright there is no hurry, I have added it too my local version manually. But as I have to change the original file, it gets lost with updates and then I wonder why the tests fails ...

@JosephWright yes (my earlier reply was intended to be ignored)

ooh

9:39 AM
@UlrikeFischer Like I said, have some other adjustments to make
@UlrikeFischer Could you log it so I remember? (Also, we really should log issues if only to have a reference point)
@DavidCarlisle :)

9:56 AM
@FaheemMitha there does not seem to be much of a difference. I think Emacs is mainly complaining due the the synctex file from the OPs laptop is using absolute paths and thus does not exist on my system. But if I manually adjust the synctex file for my pc then a reverse search in evince ends me up in chapter-5 in emacs, note not .tex at the end. No idea why. I'll try installing TL19 on the laptop instead of TL18

10:38 AM
@daleif tl2019 changes some of the file search details for extensionless files and added case insensitive search on non-windows platforms if I recall correctly. Not sure if that had an effect on synctex

@JosephWright, @DavidCarlisle new model for L3: beerpay.io

11:06 AM
@PauloCereda it would all have to go to Frank:-)

11:30 AM
Hello! I saw we made the worldwide headlines with 300000 people meeting in Prague :)

1 hour later…
12:41 PM
@FaheemMitha -- Indeed. quite a long time. And the input had been on punched cards. (I became quite adept at correcting punched cards in a manner not recommended by the manufacturer. As I later did with paper tape, although the latter required surgery with a razor blade and a hand punch. It's a wonder that I still have all my fingers.)
@yo' -- Yes, most impressive. In the pictures of the square, it looked like very few more people could be squeezed in. I hope that the outcome is positive and peaceful.

Hi :) Have you ever seen, that on Windows using the siunitx package, the \degree gets rendered as ř?

@pH13-YetanotherPhilipp windows shouldn't make any difference, what math fonts are you using?

@pH13-YetanotherPhilipp Nope

1:05 PM
@barbarabeeton Adventures in Computing? Extreme Computing?

@barbarabeeton for a long time, there was still a queue of people coming in and the organizers asked people many times on air to squeeze better or to move aft. The outcome: the thing is that our PM does not understand how the people can do it for no financial benefit, so he's (uttermost) convinced they are paid by someone. In his world, the only value is in capital. So we'll never be able to convince him of anything.

@yo' -- Sounds like somebody in this country. Greed is not good. Good luck.

2:09 PM
Hmm, mentioned at one point that we have observed issues with running Adobe Reader in full screen mode: It may cut the top of the displayed PDF. Just noticed today that it is not related to LaTeX as I now have a PDF from PowerPoint that give the same issue.
So it seems it is related to the OS plus for now we have only observed it on laptops. Hmm. The issue goes away if you drop out of full screen and back in again. Then one have to restart Adobe to make it show this issue again.

@barbarabeeton well, yes. Btw, the Italian media call Babiš (the PM) "Babisconi" :) @egreg

@yo' Not really: I think to have seen it just a few times. But the similarity is quite apparent.

@egreg well, It's catching, obviously :)

2:25 PM
@yo' Were you at the Letná march?

2:42 PM
@egreg not a march :) and yes I was there. Not going there when you at least a bit can would be chutzpah.

@bp2017 Maybe this is then an overkill. You only need a \pgfpathcircle or draw a circle in tikz and use some fraction of 1em for the radius. But of course you can use plot marks there.

3:18 PM
@marmot or \circle and no pgf at all:-)

3:33 PM
@manooooh -- As someone located in Argentina, do check on the path of the total solar eclipse that's expected next Tuesday. Even if you're not in the direct path, a partial eclipse can be very interesting. My favorite method of watching a partial eclipse is to punch some holes in a large sheet of cardboard, and watch the shape of the images as they're projected on a surface. Don't look directly at the sun unless you have special glasses or a good welder's mask.

@barbarabeeton at first I thought you'd suggest to punch one's eyes, so a partial eclipse would be seen with a partial vision. :)

@PauloCereda -- Nah, wouldn't do that. Would make it hard to read anything, which is a distinct disadvantage for a (La)TeXer.

@barbarabeeton quite. :)

@barbarabeeton Why several and not just one hole? Wouldn't multiple holes produce multiple projections that superimpose?

@yo' I wish several hundred thousand people would march against the loathsome people who run our country here.
Ditto for the USA.

3:49 PM
@barbarabeeton Last time I got to see a partial eclipse, there were translucent clouds passing in front of the sun, so you could look straight at it without further protection. I had to interrupt a lecture to go outside with the class to watch it, and we had only one pair of protective glasses. So that worked out really well.

@AlexG -- Certainly there are multiple projections, but whether or not they superimpose depends on how far from the surface the hiole-y sheet is held. A totally entrancing effect is made by a tree that provides only partial shade -- the sun shining through the leaves does result in multiple overlaid crescents that change in thickness as the eclipse progresses. Not scientifically informative, but mesmerizing.

@yo' Yesterday he was in my home-town (Dresden). A few protesters were there.
@barbarabeeton Ah, I see. Multiple holes for aesthetical reasons.

Excuse me to all users into the chat.
0

I designed this header, but it doesnt my ideal drawing thank you \fancypagestyle{mainstyle}{% \fancyhf{} \fancyhead[LO,RE]{\myfancynum} \fancyhead[LE]{% \begin{tikzpicture}[overlay,remember picture] \node[anchor=west] at ([xshift=12ex,yshift=-14ex]current page.north west) {\textcolor{cya...

This user if I remember correctly, had already asked for such a question. I think I marked it as unclear just today. What should we do? It probably deleted the previous one.

@HaraldHanche-Olsen -- As I mentioned in another comment, look for a partially foliated tree if there are trees in leaf. For the last partial eclipse I witnessed, I had prepared cardboard, glasses, and a tree. And the projections under the tree were the most fun to watch. (Not, of course, up to the glory of the corona in a total eclipse, but yes, majorly aesthetic.)

@barbarabeeton @AlexG Here's one I took at the last eclipse that was visible in the US.
Aug 21 '17 at 18:54, by Alan Munn

3:56 PM
@barbarabeeton Unfortunarely, it was at a time of year with not a leaf in sight.

@AlanMunn -- Yes! Neat! Thanks. (And it's even more fun when there's a gentle breeze.)

@Sebastiano it's not deleted but closed as unclear by votes (including yours) it seems to have been closed after @marmot answered it so closing it as unclear was perhaps wrong but the new question doesn't seem any different

4:24 PM
@DavidCarlisle That would be heresy, wouldn't it? ;-)

@DavidCarlisle Thank you so much. I remembered something. If there is something I have to do or change, I am 100% available. Hi.

4:55 PM
@DavidCarlisle What are the emacs equivalent of !TeX TS-program= magic comments? tex.stackexchange.com/a/84687/2693 doesn't list them.

@AlanMunn we are talking about editors, not operating systems. :)
Meanwhile, Javier is quite busy in GitHub. :)

5:20 PM
6

@marmot, I went with this (and glad it works)

\newbox\myCircleBox
\def\myCircleBullet{\setbox\myCircleBox\hbox{\begin{pgfpicture}\pgfpathcircle{\pgfpoint{0}{0}}{1ex/2}\pgfusepath{draw}\end{pgfpicture}}\copy\myCircleBox}
\newbox\mySquareBox
\def\mySquareBullet{\setbox\mySquareBox\hbox{\begin{pgfpicture}\pgfpathrectangle{\pgfpoint{0}{0}}{\pgfpoint{1ex}{1ex}}\pgfusepath{draw}\end{pgfpicture}}\copy\mySquareBox}

\huge
\noindent\myCircleBullet\ item\newline
\mySquareBullet\ item\newline\par
\normalsize
Now I have to make filled variants but have no clue what pgf command to use to fill the shape.

5:40 PM
@bp2017 \pgfusepath{fill}

Installing PowerShell... for Linux.

@AlanMunn local variables I guess
2

I use auctex to edit my .tex files. Each time I create a new file .tex file via C-x C-f, I want to insert two local variables informations: % Local Variables: % coding: utf-8-unix % TeX-engine: luatex % End: Until now, I do M-x add-file-local-variable two times. Is there a way to automate this?

@bp2017 why box and copy?
@PauloCereda all these years no one ever used powershell on windows, and now they push it for linux:-)

@DavidCarlisle I am trying this Snap thingy... quite... weird.

1 hour later…
7:01 PM
It appears that the Stack Overflow technical people think they have the ad situation fixed. However, when I check around on our main site, I'm seeing a relative lot of paid ads (mostly Microsoft), nearly as many "team" ads, and very few community promotion ads. While it has been stated by the tech folks that community ads never appeared on every question on the main site, my recollection is that they appeared on maybe half the pages, maybe a bit more. They also were quite varied. (cont'd)
(cont'd) I'd like other people's input on this -- what do you remember? I find the current situation quite unsatisfactory, and will add another update/complaint to my current "answer": We're testing advertisements across the network (That posting has received more attention than almost anything I've ever posted on our site. I think other people object as well.)

@barbarabeeton I disabled my ad blockers for some tests. All the time I get team ads and occasionally (very rarely) one of our ads, alongside with the other one (the team).

@PauloCereda -- That's what I've seen too. Thanks for checking and reporting. (I never turned on an ad blocker, since I wasn't bothered by the community ads, and in fact found it useful to keep up with what was being announced with them. What's there now is an abomination, not at all helpful w.r.t (La)TeX.)

7:24 PM
Is the world going completely insane ^^^^^^ ?

@marmot hm?

@PauloCereda That's what my appstore suggested me to install?

@marmot oh. :) Cyberduck is probably one of the most classic apps for Mac. :)

@barbarabeeton Probably but I wasn't aware of this one @PauloCereda .

7:28 PM
@marmot

Do you have a good TikZ-example for 3D-Planes?

@marmot do you think we should suggest this for Tikz Planes?

@DavidCarlisle Yes that's good. But I am looking for
In mathematics, a plane is a flat, two-dimensional surface that extends infinitely far. A plane is the two-dimensional analogue of a point (zero dimensions), a line (one dimension) and three-dimensional space. Planes can arise as subspaces of some higher-dimensional space, as with a room's walls extended infinitely far, or they may enjoy an independent existence in their own right, as in the setting of Euclidean geometry. When working exclusively in two-dimensional Euclidean space, the definite article is used, so, the plane refers to the whole space. Many fundamental tasks in mathematics, geometry...

@cis yawn...

@JosephWright -- I'm not at all sure that many people will see this (chat.stackexchange.com/transcript/message/50827238#50827238) and respond. Would this be a legit question for tex.meta? (I'm just trying to be very conservative, and not bother too many people unnecessarily.)

@cis You can just switch to a canvas is xy plane at z=0, say, and draw a plane. Or draw it as in tex.stackexchange.com/questions/497482/…

7:34 PM
@marmot My impression was that planes in TikZ did not come out so well.
In pstricks they came out well.

@cis Sorry, that's nonsense. It may not come out that well if you use inappropriate commands.

@DavidCarlisle, to avoid nesting pictures, it's going to be used inside a tikz picture.

@bp2017 but you are boxing and using immediately so you would still be nesting, or is that just for testing?

7:50 PM
@DavidCarlisle, is it any different from enclosing a picture inside an \sbox in the preamble and then calling it inside a picture with \usebox?
I mean, it's still inside a box.
23

Not exactly an answer, but the nearest I can get. TeX's approach to grouping means that you cannot easily isolate the 'inner' environment from the 'outer' one. The best approach is therefore to typeset the inner code first, by storing it in a box, then using the box in the 'outer' code \newsaveb...

@bp2017 it's not being in a box that is important it is not doing the inner picture in the scope of the outer one, so boxing then using it straight away does nothing useful (also better yo use \usebox rather than \copy no latex box construct exposed a primitive \hnox
@bp2017 yes exactly, typeset the inner code first (ie before entering the outer picture) the box is just a means to do that not something useful in itself.

@DavidCarlisle, oh, I get it now. The macro will expand inside the picture and my box (with the picture inside) will be defined inside it.

@bp2017 yes you need to save the box first then use the box with \usebox inside the outer picture

@DavidCarlisle, now I run into problem with scaling a bullet to the font size: if picture is not defined inside the macro, it won't be able to contain current font size (1ex would be normalsize).
I somehow have to pass current font size to the macro and yet to pass it through the macro to the boxed picture.

8:13 PM
@bp2017 boxes are typeset you could set a 10pt one then use \resizebox to resize it to the current size, or if you know in advance what size you need you can use it at the point of saving, but also as you are only calling a single pgf command to draw a circle why do you need a tikzpicture at all why can't you simply call that in the outer picture?

8:24 PM
@DavidCarlisle, neither can find \resizebox in TeX reference nor in latex2e sources. Did you mean a user-defined macro \resizebox? (In this case I don't understand how a box can be resized, unless there is a predefined command provided by eTeX or l2.)

As for creating boxes for each font size, it's better to find a way to "catch" the current font size for single definition of the box (rather than having a different box for each font size).

Good point on using circle directly in the outer picture rather than creating a separate inner picture for it and nesting the latter picture in the oute

@bp2017 \resizebox is a core latex command documented in the latexbook for example or there must be 1000s of examples on site if you search for it, it's in the graphicx package (er which means i wrote it but...)
@bp2017 scaling of course just scales everything so if you make the circle twice as big the line thickness is doubled, if you redraw the circle you can draw bigger circles with same stroke width, it depends what you want....

@DavidCarlisle, I'll have to see how \resizebox works first (on to reading graphicx).
P.S. I thought all core latex commands can be found in l2e sources.
Oh, I think packages ending in x are l3 packages.

@bp2017 graphics package is part of the required core latex distribution (ctan latex/required/{base,tools,graphics.amsmath,babel} as opposed to latex/contrib for contributed packages.
@bp2017 no graphicx is not l3 code
@bp2017 if you meant you looked in source2e.pdf then there are lots of commands that you will not see in there that you think of as latex, not just \resizebox, but \includegraphics, or \section for example they are all defined in files loaded by the document, not built in to the format

8:43 PM
@DavidCarlisle, thanks. Got it done.

\newbox\myCircleBox
\setbox\myCircleBox\hbox{\begin{pgfpicture}\pgfpathcircle{\pgfpoint{0}{0}}{1ex/2}\pgfusepath{fill}\end{pgfpicture}}
\def\myCircleBullet{\resizebox{1ex}{1ex}{\copy\myCircleBox}}

\huge
\noindent\myCircleBullet\ item\newline
\normalsize
\noindent\myCircleBullet\ item\newline

@DavidCarlisle ... yet

@JosephWright shh
@bp2017 as I say you should use \usebox not \copy otherwise you get weird behaviour at the start of a paragraph (which is why you are needing \noindent (or \indent) (actually \resizebox has done that for you so not an issue in that version)

@DavidCarlisle, OK. I just try to keep everything e-tex and use LaTeX 2/3 only when necessary.

On a sidenote I wonder if resizing a box in a macro is the same as defining that box inside of it. If it is the same, then it won't solve the nesting problem.

@bp2017 it's different in almost every conceivable way:-) resizing a box is essentially a no-op as far as tex is concerned (it just passes literal postscript or pdf coordinate transformations, and leaves some space) and all it gets as an argument is the \copy\circlebox and a box is opaque to tex resizebox can have no information that the contents of that box were constructed with tikz

9:09 PM
@bp2017 Huh?

@DavidCarlisle, thank you for your help.
@JosephWright, we were discussing the use of boxes to avoid nesting of tikz pictures by enclosing inner picture inside a box (and I referenced one of your answers as an example). I also had to scale a custom-list bullet (drawn with pgf) to reflect currently selected font size (which wasn't simple for me to solve due to the boxing of the bullet picture: once you box, you can't change the contents, unless you know \resizebox exists [and I didn't]).

@bp2017 I meant 'keep everything e-tex and use LaTeX 2/3 only when necessary': I don't get it

@JosephWright oh I didn't notice that:-) (@bp2017 some people prefer to stick to tex primitives as a learning curve but by the time you have used tikz that aim has long gone)

9:56 PM
Do we have a general "how to use arara" question?

@AlanMunn a general question but @PauloCereda's answer is less than comprehensive
2

I am interested in using "arara" package. According to it's manual my below code should run without any error: % arara: pdflatex \documentclass{article} \begin{document} Hello world. \end{document} but I get nothing and have problem with this code. It should be mentioned that I install Java a...

@DavidCarlisle lol

10:35 PM
PGF/TikZ now has an official mailing list at pgf-tikz@tug.org (tug.org/mailman/listinfo/pgf-tikz). You can post your bug reports and feature requests there if you don't have a GitHub account. It's also a channel for discussion among developers, so please join in!
5

@HenriMenke I think this looks like a tikz bug, the \i-variable is not local:
\documentclass{article}

\usepackage{tikz}
\begin{document}

Testing the acute accent í í í ...
\show\listitem\show\i
\foreach \listitem [count=\i] in {1,...,4} {x}
\show\listitem \show\i
Testing the acute accent í í í ...

\end{document}

10:53 PM
@UlrikeFischer Nice!

@JosephWright, I may be wrong but I always thought of LaTeX 2 or 3 as of a "framework" or "library" that is written in TeX. So I tend to do what I can in TeX and more complicated things in LaTeX. Because core LaTeX commands support (I think) more functionality than I need so I write a simplified re-implementations to the extent of my knowledge. I think the code is faster this way (than when you have extra functionality of a complicated "framework").

11:10 PM
@bp2017 it's really a bad way to approach things in 99% of cases. It is better to view latex a high level language and poking in unsupported lower level constructs is most likely to break something. It's possible if you know what you are doing to poke assembly language kernels into high level C++ but most of the time it's a bad idea to do so (although sometimes it is not....)

@UlrikeFischer I opened a ticket github.com/pgf-tikz/pgf/issues/702 and I just pushed a fix to my GitHub github.com/hmenke/pgf/commit/… but I'm not sure whether I'll fix this, because this has huge potential for regression and there might actually be people out there relying on this behaviour right now, see this mandatory XKCD: xkcd.com/1172

@bp2017 take for example your box setting commands, latex goes to great lengths to make box setting colour safe but if you go \setbox0\hbox{....}... \copy0 where ... is some arbitrary latex input that happens to have \color{zzz} in it, then you will get no tex error but in some cases you will crash your postscript or pdf interpreter , if you use the latex \sbox instead then that won't happen.

@HenriMenke At least, a warning about using an existing macro as count should appear in big letters in the log file.

11:33 PM
@DavidCarlisle \sbox is also not great. vvvvvvv
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}

%% BOOM!
%\sbox0{\tikz\matrix[matrix of nodes] {a & b \\};}
%\box0

\makeatletter
\long\def\bettersbox#1{%
\def\sbox@color@group{\setbox#1\hbox{\color@setgroup\unhbox#1\color@endgroup}}%
\afterassignment\sbox@color@group
\setbox#1\hbox
}
\makeatother

\bettersbox0{\tikz\matrix[matrix of nodes] {a & b \\};}
\box0

\end{document}

@HenriMenke that's a feature same as \mbox could be defined as \leavevmode\hbox but is defined to take an argument so all latex commands act the same way
@HenriMenke it is tikz there breaking the latex conventions by making a catcode change. That said, latex should probably make & active always, and \let to the usual halign catcode, then tikz could redefine it without catcode changes

I am so happy <3 (alerted by a bronze badge -- 1000 views in one post)
3 palindrome in 3 rows!!

@HenriMenke \bettersbox10\hbox{???}
@HenriMenke also it's not colour safe as far as I can see?
@HenriMenke putting the colour group around the unbox does nothing, the damage is already done and the colour stack is already corrupted with the push in the box and the pop in the main vertical list.

11:50 PM
@DavidCarlisle I see, so the only remedy which is sort of catcode-stable would be something like \long\def\sbox#1#2{\setbox#1\hbox{\color@setgroup\scantokens{#2\noexpand}\color@endgroup}}, but that is not desirable for obvious reasons.
@UlrikeFischer ... and it broke. travis-ci.com/hmenke/pgf/builds/117061612

@HenriMenke no you could grab the box number with something like \afterassignment\zz\count@ then define \zz to add \bgroup\aftergroup\egroup to double up the groups, but that isn't the latex model, the latex model is to not allow catcode changes mod document except for verb and document verb doesn't work in macro arguments

@barbarabeeton wow, amazed by the notice, many thank Barbara!!

@barbarabeeton Not if you are @DavidCarlisle :)