12:22 AM
@FaheemMitha Mine is throttled after a while, but unlimited is not a lot more expensive. I don't bother because I don't really watch streaming media and almost never go over my limit.

12:33 AM
@bp2017 In some cases you can replace a dimen register by an equivalent definition. However a dimen register has a known value which can be used, and a definition has to be parsed by TeX every time it's used, so it's slower.
@bp2017 Also, this, with a register: \newdimen\mydim \mydim=10pt \mydim=2\mydim \showthe\mydim looks the same as this, with a definition: \newdimen\mydim \def\mydef{10pt} \mydim=2\mydef \showthe\mydim, but produces very different results.
@bp2017 Unless you are allocating an absurd amount of registers this shouldn't be a problem.

1:03 AM
@bp2017 \dimexpr is essentially an anonymous register and is not in classic tex, so previously using a register saved space and was needed for arithmetic

1 hour later…
2:28 AM
@egreg, @DavidCarlisle, I appreciate your help, thank you (for the insight and explanations).
I happened to come up with something that looks like a good solution candidate (in my opinion, that is).
\def\setter#1#2%
{ \ifcsname#1\endcsname
% ASSIGN TO EXISTING CSNAME
\csname#1\endcsname#2
\else
% CREATE NEWDIMEN
\expandafter
\newdimen\csname#1\endcsname
% ASSIGN TO NEWLY CREATED DIMEN
\csname#1\endcsname#2
\fi
}
\newdimen\testt
\testt5.0pt
% RESETS (EXISTING) \testt DIMEN TO ANOTHER VALUE
\setter{testt}{10.0pt}
Log shows only these, which means there are no redefinitions of same name to another register:
\testt=\dimen179
\otherTestt=\dimen180

3 hours later…
5:46 AM
@DavidPurton I see.

6:46 AM
@bp2017 you could move \csname#1\endcsname#2  outside the if of course, to save duplicating it, and I would write it as \csname#1\endcsname\dimexpr#2\relax which saves problems with the space at the end, and allows\setter{foo}{\textwidth-5pt} etc. (beware though about hiding \newdimen inside a macro it is usually a bad idea (and plain TeX makes it \outer so that it is an error) the allocation is global but the assignment is local.
@bp2017 you also have a spurious space before the { at the start

So, I should not use \\ if I want a newline? I was just looking at
167

\par is a TeX primitive and is the same as a blank line (except in special environments such as verbatim where the usual rules don't apply). It ends horizontal mode, causes TeX to break the horizontal text into lines placed on the current vertical list, and exercises the page breaker which may p...

> In normal running text when it forces a linebreak it is essentially a shorthand for \newline this does not end horizontal mode or end the paragraph, it just inserts some glue and penalties at that point into the horizontal material so that when the paragraph does end a linebreak will occur at that point with the short line padded with white space.
There should probably be a semi-colon or even a full stop after "horthand for \newline".

@FaheemMitha if you want a newline, you should use \par but 999 times out of a thousand, when people say they want a newline, they should not be wanting that.

@DavidCarlisle A common use is that I want to format a mailing address over several lines.

@FaheemMitha probably yes.

@DavidCarlisle Should I edit it?

6:52 AM
@FaheemMitha if you want:-)

@DavidCarlisle Should not be wanting what?

@FaheemMitha a newline

@DavidCarlisle Sometimes one wants a newline. As mentioned above, it's conventional for addresses to be spread over several lines. If one doesn't do that, people will probably think one weird.

@FaheemMitha except for very final edits prior to printing to hand tune things, there are almost no use cases for forced newline within the document, almost always it should either be a new paragraph or some structural think which should have custom markup

Also, it will probably run off the page.

6:55 AM
@FaheemMitha yes a custom address markup (but often that is a tabular internally, as author/address are in the standard classes) so the \\  there is a completely different command unrelated to \newline

@DavidCarlisle Well, in any of the letter classes, for example. E.g. scrlttr2.

@FaheemMitha also of course poetry where the line endings are part of the work, but these are all special kinds of texts, but the above was discussing \\  in "normal text"

@DavidCarlisle So it's ok to use \\ in addresses?

@FaheemMitha sure

@DavidCarlisle Ok. Thank you.
@DavidCarlisle I made that into a full stop. And added some commas.
You might consider that an excess of commas, though.
But it's a relatively long sentence.

7:02 AM
@FaheemMitha Ask @barbarabeeton to adjudicate, she knows about commas (she's not so good on capital letters though)

@DavidCarlisle Ok.
@barbarabeeton, take a look at my edit for tex.stackexchange.com/a/82666/3406 if you wish.
@DavidCarlisle Capital letters are good in moderation.

@FaheemMitha barbara famously doesn't (or didn't while working for the ams) use capitals at all in posts unless it was an official position of the ams, so my capital letters comment was a long running joke at her expense.

@DavidCarlisle Yes, I think I read as much somewhere. Possibly in her profile.
Can l3build be used to build and package a single TeX package?

7:22 AM
@FaheemMitha Yes: that's its job

@JosephWright Ah. Good to know.

7:49 AM
@JosephWright an expl3 version of the bitset package would be nice. (And with 1-based option instead of 0)

8:05 AM
@UlrikeFischer I think we need it, hence the question: probably a straight addition to l3kernel (via a branch: I'm thinking that's the better way to add stuff avoiding the 'not yet stab;e' business)
@UlrikeFischer What option do you mean?
@UlrikeFischer The underpinning big in stuff is done other than division: Bruno might not have time, but I can likely hack up a slow-but-working approach to division

@JosephWright the bitset package adds flag values 0 indexed, but pdf uses an 1-index, that it rather awkward, it would be nice if this were in sync.

@UlrikeFischer We've gone for indexing from 1 (as it makes sense for typesetting, Lua, ...), so that's fine: it will match up nicely
@UlrikeFischer Sounds like it's a +1 from you ;)

@JosephWright yes. I'm sitting in the train to Berlin, but without table, so I can't write long mails ;-). There is a question about everypar hooks on the main site.

8:28 AM
@UlrikeFischer Id' seen: l3galley
@UlrikeFischer DocEng?

Roesser's comment have the flavor of a dinosaur complaining about those pesky mammals in the undergrowth.

@JosephWright yes

Though I'm not sure what he means by:
> 2. Goes all around the barn for double spacing after sentences. Is it worth it?
"all around the barn"?

That's not a standard expression.

8:38 AM
@JosephWright the interesting part is the hook part which fits in your discussions. Does l3galley has something there?

@UlrikeFischer Yes, of course: \everypar is moved completely out of the way, and everything is done using token lists
@UlrikeFischer \g_galley_par_begin_hook_tl
% \section{Hooks and insertion points}
%
% \begin{variable}{\g_galley_par_begin_hook_tl}
%   Token list inserted at the beginning of every paragraph in horizontal mode.
%   This is inserted after any paragraph indent but before any other horizontal
%   mode material.
% \end{variable}
%
% \begin{variable}{\g_galley_par_end_hook_tl}
%   Token list inserted at the end of every paragraph in horizontal mode.
% \end{variable}
%
% \begin{variable}{\g_galley_par_reset_hook_tl}
%   Token list inserted after each paragraph. This is used for resetting
@UlrikeFischer ^^^

I didn't realise TeX was being widely used as early as 1982, the apparent (approximate) date of that set of articles and comments.

Hi all,
can someone tell me spontaneously where the \color-command is defined? I need to locally deactivate it, including its optional argument

Though whoever set that up really should have done a better job of dating it. There's not a single visible date.

@Lupino Package color, but overloaded by xcolor: what are you up to?

8:42 AM
i want to print the color name currently used instead of expanding the macro

Hmm, the symbol for LaTeX looks different from the modern version.

@JosephWright I had forgotten this. What is "each" paragraph here?

okay, i'm now scanning my texmf-dist/tex/latex/xcolor/xcolor.sty, but there is no definition of the CS "color"

I need the name of the macro that is used after argument expansion, i.e. the command that takes #1 and #2 for the optional and the mandatory argument

@UlrikeFischer Every time we trigger the top-level \par token: that's a 'user' paragraph, not the \par primitive

It looks that article could have been written any time between 1982 and 1984. And did LaTeX exist that long ago?

8:49 AM
@Lupino Why? If all you want to do is redirect stuff, add a new definition of \color after loading xcolor
@FaheemMitha Around 1983

@JosephWright The article date?

@UlrikeFischer Which sessions are you going to?

> LaTeX was created in 1983 by Leslie Lamport, when he was working at SRI.

My usecase is: someone put "\color[RGB]{xyz}" as #1 into a macro \foo{#1}; i want \foo to print "Options: 'RGB', color: xyz".

@FaheemMitha Rough release date for LaTeX

8:51 AM
So it was new at the time of that article.
@JosephWright Ah, ok.

@Lupino \renewcommand{\color}[2][]{Options: '#1', color: '#2'}

@JosephWright does renewcommand work within the definiton of another macro?
Because i expand \foo in differnet places, and in one place i actually want the font to change...

@Lupino Macros do not create a scope in the sense one might see in other languages: if some macro \foo contains \color, they will use whatever the current defintion of \color is

okay, more precisely:
\def\printContent#1{\texttt{#1}}
\def\myComment#1{\printContent{#1}; #1}

\myComment{\color[RGB]{blue}}

How do i need to define \printContent to print the values of the arguments of \color ?

@Lupino You could localise:
@Lupino Use a group, but really I think you should post a full question on the site

8:59 AM
sigh okay…

@JosephWright this afternoon something about pdf, I don't know yet about the next days. I'm mostly there because Frank wanted me to meet someone.

@UlrikeFischer Ah, right
@UlrikeFischer He going to rope you into the judging? ;)

wait, i know how to use scope in tex; i just need to know, where to find the original definition of the \color control sequence… grepping the texmf-tree didn't give me anything…

@DavidCarlisle ^^ :)

9:18 AM
@Lupino Like I said, it's in the color package
\DeclareRobustCommand\color{%
\@ifnextchar[\@undeclaredcolor\@declaredcolor}
\def\@undeclaredcolor[#1]#2{%
\@ifundefined{color@#1}%
{\c@lor@error{model #1'}}%
{\csname color@#1\endcsname\current@color{#2}%
\set@color}%
\ignorespaces}
\def\@declaredcolor#1{%
\@ifundefined{\string\color @#1}%
{\c@lor@error{#1'}}%
{\expandafter\let\expandafter\current@color
\csname\string\color @#1\endcsname
\set@color}%
\ignorespaces}
@Lupino ^^^

@JosephWright thanks. I was looking for \def\color… And of course, xcolor has a line break between \color and the bracket…

9:47 AM
@JosephWright although counting bits is the one place where 0-based counting is more natural than 1 based.
@FaheemMitha but even if it was released, tugboat would have been set in plain those days (and not sure small caps was available, and certainly isn't loaded by default by plain) hence the a not A also you are probably more used to the latex2e version of \LaTeX which has a different definition to the 2.09 one.

@DavidCarlisle Perhaps, but our entire set up is indexed-from-one

10:31 AM
@DavidCarlisle that's why I thought about some option.

@UlrikeFischer Options don't work so well at the code level, though we could have two sets of functions (as for treating sequences as stacks)

10:46 AM
For those who love Microsoft Technology, don't forget that .net core 3.0 will be released in 5 hours (counting down dotnetconf.net). :-)

11:19 AM
@DavidCarlisle Yes, I'm used to the LaTeX 2e version of \LaTeX. I'm don't even know what the earlier version looks like. But they could still have put dates on their articles.

@FaheemMitha it is the source of tugboat so as used there it doesn't really need a date, the date of the journal issue is on the front cover. These pdfs were made available in public some years later as a convenience but the pdfs are what they are.

@DavidCarlisle Oh. Well, it's nice to have the date on individual articles.
Though I'm not even sure if TUGBoat does that now.
@barbarabeeton Perhaps you can tell me the date of the articles in tug.org/TUGboat/tb04-2/tb08letters.pdf
After all, you were there. And a couple of the articles are by you. And you might even have edited the periodical.
It sounds like you (or the AMS) were not entirely satisfied by this STI system, which I can't easily find any other information about online.
Reading between the lines, so to speak.
It seems likely that this was around 1982/1983, but LaTeX existed, and is referred to various places in these articles.

The curious terms "keyboarders" and "keyboarding" were apparently current in the early 80s.

@FaheemMitha Vol. 4, No. 2 is from September 1983

11:33 AM
@PhelypeOleinik So I see. Thank you.
1983 seemed like the most likely single possibility. But the artlcles were presumably written earlier than September 1983.
And in 1983, even TUGboat was fairly new.

11:56 AM

12:13 PM
@DavidCarlisle I see the hyperref plan gets a +1
@DavidCarlisle See email also

@JosephWright ooh more plans

@JosephWright bah what have secret plans ever done for us? :)

1:01 PM
just of curiosity, anyone using TeXShop? Can one switch between the editor and the PDF viewer by only using the keyboard? As far as I could read one had to use the mouse on both of the two ways one can activate sync

1:16 PM
@FaheemMitha -- Oops! Yes, that's worth a good chortle. (Okay. @DavidCarlisle, you got me.)
@FaheemMitha -- "all around the barn" is a very common and "standard" expression in the U.S. It means to take a very circuitous route, go well out of the most direct way. Sometimes it's phrased as "around Robin Hood's barn", where "Robin Hood's barn" is traditionally the whole of Sherwood Forest.

@barbarabeeton oi that's my neck of the woods

@barbarabeeton Google didn't return any obvious hits for that.
@barbarabeeton So, these articles by Roesser etc. were written in 1983?
And in hindsight, how did STI work for you back then? Before the advent of TeX?
@DavidCarlisle Thank you for the link.
The use of "especially" is becoming less common, I think.

1:37 PM
@FaheemMitha I think it's common enough in the UK

@DavidCarlisle and @FaheemMitha -- That collection of messages appeared in TUGboat 4:2, September 1983. (We got smarter later, and included the year in the running head.) TUGboat was definitely set in plain for several years after that. It's probable that that particular issue was set with TeX78. I think the sources still exist and could be checked, but that's not so easy; the production platform has changed many times, and the underlying coding didn't always transfer cleanly.

@barbarabeeton So were they written right around that time? The fall of 1983?
Do you have all the source archives of TUGboat?
@DavidCarlisle I seem to be seeing it less. Though I don't read a lot of British media. Except the Guardian.

@DavidCarlisle and @FaheemMitha -- The LaTeX logo wasn't really defined in "final" forn until sometime after that. It really doesn't depend on the existence of small caps, which, however, did exist in the original Computer Modern family, and can easily be added into a plain-based style.

@barbarabeeton I'm not even sure what "small caps" are. Capital letters that are "smaller"? Is that a standard part of a font, or just capital letters shrunk slightly?

@FaheemMitha maybe at .01% this is just noise not real data but this at least doesn't show much of a drop in recent years books.google.com/ngrams/…

1:46 PM
@DavidCarlisle Ok. I could be wrong. Just an impression.

@FaheemMitha -- The STI system required skilled/trained input keyboarders. Less expensive than Monotype. but still costly, and requiring a separate step between author and printing. (La)TeX content can be prepared directly by authors, lowering cost and transferring responsibility. I do have some (legitimate) criticisms of the STI system, but they're irrelevant here. Author preparation was and is the main reason for the preference.

@DavidCarlisle ooh

@FaheemMitha -- We have most of the sources, but not all. Especially in the earlier issues (through volume 5, I think), many pages were photographed from copy on paper submitted by the author. PDF didn't yet exist, remember, and even PostScript wasn't universally available.

@barbarabeeton yet there were no bugs in @DavidCarlisle's packages. :)

2:03 PM
@FaheemMitha -- "True" small caps are (or should be) explicitly designed; they are not simply "smallified" uppercase. For a truly well-designed example of small caps, see a (preferably) printed copy of The Economist. It's even possible to tell the difference between a lowercase and a small-cap "s" when they're set next to one another.
@PauloCereda -- But lots of "features".

@barbarabeeton undocumented, of course. :)

@PauloCereda -- Of course!

@PauloCereda I notice:
> ... we’re planning to follow up with a TeX Live 2019 release later this year.

@JosephWright ooh

@PauloCereda It's pretty important to the team, that

@JosephWright :)

@PauloCereda wow ;-)

3:09 PM
@PauloCereda Just tested with a new project: TL'18 as promised :)

@barbarabeeton don't encourage him

@JosephWright :)

3:31 PM
@DavidCarlisle AS neither you nor Frank will make the meeting ... just go for it on the hyperref business?

4:03 PM
@barbarabeeton I see. So it was an expensive proprietary system that required handling by "trained" personnel?
@barbarabeeton I see. I hope you have backups. :-)
@barbarabeeton I see - I didn't know that.
@barbarabeeton that article (technically a series) is a fascinating window into the "prehistory" of TeX. I was alive at the time, but wasn't taking any interest in computers.
> Warnock left with Chuck Geschke and founded Adobe Systems in December 1982. They, together with Doug Brotz, Ed Taft and Bill Paxton created a simpler language, similar to Interpress, called PostScript, which went on the market in 1984.
From the Wikipedia PostScript page.
So PostScript arrived around that time too.
I see that nobody uses the word "keyboarders" now, though.

@FaheemMitha -- The STI system was definitely proprietary. Because of the agreement with the creators, it was relatively inexpensive (tens rather than hundreds of thousands of dollars); however, I don't feel I have authority to divulge the actual cost although I do know it. (I was the technical contact between AMS and STI.) STI did express the hope that they could create an interface that could be usable directly by authors, but it would have been menu-driven, not directly typed input. (cont'd)

(cont'd) The program as used at AMS definitely required highly trained keyboarders. The input would not be comprehensible to an ordinary human being unfamiliar with the highly compact encoding conventions. Even at AMS, a mnemonic preprocessor was devised that was readable by an "uninitiated" mathematician or copyeditor.

@barbarabeeton So not as easy to typeset as LaTeX?

@FaheemMitha -- I still have the tech manuals, which will be deposited at the Museum of Printing in Haverhill, Massachusetts, when I finally get my "retirement boxes" sorted and catalogued. It wasn't widely used, so I'm not surprised that it's not widely known.

4:17 PM
@barbarabeeton Ok. The article and response from Roesser is particularly interesting.
One gets the feeling he didn't quite understand what was going on.
I thought that Palais's summary predicted quite well what actually happened.

@FaheemMitha -- "Easy to typeset" isn't really precise. The program basically did what it was told. Telling it what to do was not nearly as easy as it is with (La)TeX. And yes, Roesser really didn't understand what was happening. He didn't comprehend the fallout from the loss of administrative help for typing up the initial manuscripts for math faculty/authors.

@JosephWright yes, I plan to wait until the weekend then just move things and mail interested parties and let them know, sorry about lack of notice about clash, in theory I knew when the AGM was but....

@DavidCarlisle It's fine

4:22 PM
You had a budget crunch or something?
But really, the math authors should be the ones typing their thing. They're the ones best qualified to do it correctly, after all.
To the rest of the planet it's basically gibberish with some English words mixed in.

@FaheemMitha -- There used to be lots more secretaries in university departments. These days, very few, and they have other things to do than type manuscripts for submission to journals or meetings. Faculty (and grad students) became, by default, responsible for their own manuscript preparation. Of course, once (La)TeX had taken hold, the nature of journal/book production staff also changed. Similarly, with the appearance of personal computers and desktop workstations, mail became electronic.

@barbarabeeton True with or without LaTeX: much the same across the board I think

@barbarabeeton I've met technical typists in the US, but very few. It's quite unusual. And I think they get paid by grants and stuff.

@FaheemMitha -- While the authors definitely have the best knowledge, it's a fair question whether manuscript preparation takes away time from research.

@barbarabeeton Well, yes. There's that.

4:48 PM
@DavidCarlisle There's only one, really ... I'll drop him a line

5:48 PM
Lua has a relaxed approach to checking function arguments. It will happily run
function foo (a, b)
return a
end
print(foo("xxx"))

@FaheemMitha not exactly surprising...

@PauloCereda Opinions vary.
Is there any way of getting it to insist on a second variable being assigned?

@FaheemMitha including yours. :)
@FaheemMitha only through explicit checking.

@PauloCereda Horray. Manual argument checking.

@FaheemMitha it's your code, so it's fault as well. :)
Unless you are @DavidCarlisle, of course.

5:56 PM
@PauloCereda I think there is a word (or two) missing there.
@PauloCereda Are you sure you don't have Chuck Norris in mind?

@FaheemMitha you idea got the.
@FaheemMitha David, surely. :)
@FaheemMitha of course, it can get even better:
local function foo(...)
for _, j in pairs({...}) do
print(j)
end
end

foo()
foo(1)
foo(1, 2)
foo(1, 2, 3)
foo(1, 2, 3, 4)
foo(1, 2, 3, 4, 5)

6:40 PM
@PauloCereda Well if you are going to do "..."...

@FaheemMitha it's very useful in some contexts.

@PauloCereda Sure.

@JosephWright Very interesting, thanks!

@JosephWright ah!
@JosephWright This is quite Leflochian!

1 hour later…
8:14 PM
Does anyone know off the top of his/her head what happens if you have multiple key values in pgfkeys with different values for the same key?

@FaheemMitha they are just evaluated in order aren't they? (that's what keyval package keys do)

@FaheemMitha As @DavidCarlisle says, they are processed in order, so it depends on what the code implementing each key does

8:44 PM
@DavidCarlisle @JosephWright From left to right? For simplicity, let's restrict it to string or boolean assignment. So, if I have a=true, a=false, then the result is false?

@FaheemMitha Yes, assuming simply Boolean implementation

@JosephWright Ok, thank you.

@FaheemMitha left to right but it depends what the code does, if it has a code specified that does \newcommand\zzz{#1} then the second key will be an error

@DavidCarlisle Ok, thanks for the warning.
Presumably you can't redefine \newcommand?

@FaheemMitha yes you can redefine anything (but newcommand was just an example)
@FaheemMitha basically what you have above is just syntax for \some_internal_command_a{true}\some_internal_command_a{false} so it can do anything depending on the definition of \some_internal_command_a (ie the definition of the key a)

8:53 PM
@DavidCarlisle You lost me. What I meant is that \newcommand gives an error if already defined. So you can't run it twice with the same name.

@FaheemMitha oh I thought you meant can you \def\newcommand{some new definition)

@DavidCarlisle I didn't express that correctly.


The moral of the story being - don't write code that can't be run multiple times.

@FaheemMitha as I say \newcomand was just an example, the key might increment a counter so doing it twice isn't an error but isn't the same as doing it once, it is basically just running arbitrary user-specified code, it can do anything

9:03 PM
@DavidCarlisle Right, write code that can be run multiple times, assuming it makes sense to do so.

9:16 PM
If I want the current key values associated with a particular family, should I use \pgfkeysgetvalues, or something else?

2 hours later…
10:56 PM
FINLAND IS TYPING...