@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.
@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.
@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
@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
@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
\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 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
@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
@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"
@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.
@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 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.
@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
@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
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…
@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 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.
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
@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.
@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.
@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 -- 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.
@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.
@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.
@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.
@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.
@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....
@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.
@FaheemMitha -- While the authors definitely have the best knowledge, it's a fair question whether manuscript preparation takes away time from research.
@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 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
@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)
@FaheemMitha so for your intended question yes of course that is the most basic latex usage: \newcommand gives an error on commands that are defined and \renewcommand ins the same but gives an error unless the command is already defined.
@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