# Tag Info

43

TeX is based on macros and macro expansion. When you type something like \mbox{abc}, you're telling TeX to perform a possibly very complicated sequence of commands. The case of \mbox is not really so complicated, because the definition is % latex.ltx, line 4573: \long\def\mbox#1{\leavevmode\hbox{#1}} which basically means When you find \mbox, look for ...

22

Textures was such an implementation, on Mac OS, and it was created in the mid eighties. It had a “Flash Mode” feature which worked exactly as Knuth describes in the TeXbook. I suppose Knuth was referring to Textures among others. It has been extant until a couple of years ago. Since then, I've got no news about it… What happened to Textures and Bluesky ...

20

For example, the switch \ifv@ can be split into two switches for the height and depth: \ifv@ht@ and \ifv@dp@. The the macros are changed in this way (unchanged macros are commented): plain TeX % \newif\ifh@ \newif\ifv@ht@ \newif\ifv@dp@ \def\vphantom {\v@ht@true \v@dp@true \h@false\ph@nt} \def\hphantom {\v@ht@false\v@dp@false\h@true \ph@nt} ...

16


11

To answer the questions backwards, the difference is that \spx{} expands to nothing whereas ^{} produces an empty superscript atom. Such an empty superscript field is not equivalent to not having a superscript, and can affect the position of a subscript on the same base. \expandafter\@gobble \else \expandafter\@firstofone \fi {^{#1}}% removes the ...

9

The command \message is pretty similar to \write in its working: it accepts a token list as argument and shows its expansion on the terminal; unexpandable tokens are shown by their name, followed by a space if they are control words. No command is executed, in particular assignments are not performed. So your try with \message{\catcode/=0 \catcode\\=13 ...

7

A TeX engine in the initial state ('IniTeX') knows only the primitives and a very small number of pre-defined settings. For almost all practical use you want a set of macros on top of this. That can be achieved by doing tex -ini and then typesetting them in interactively, but is much more practically achieved by having them saved into a file. You could ...

6

Ad 1. (From TeXbyTopic). \hfil is a "horizontal command": a "Horizontal skip equivalent to \hskip 0cm plus 1fil. The "one-liner" you provide is a horizontal box of no specified width. What is there to fill? Consider this line: \hbox{This \hfill question is really a continuation of my previous question. Basically, I'm wondering why this does not work: ...

6

\def\outmac #1,#2.{% \def\inmac ##1,##2.{Parameters are 1:##1 and 2:##2, while outer parameters are 1:#1, 2:#2.}% }

6

Lacking any evidence of the contrary, and in view of the comments that have been posted, I’ll assume that this is a genuine error that has somehow escaped close scrutiny until now, and I’ll proceed with the bug report. Unfortunately, I cannot think of any correction I could suggest: I repeat that, in my humble opinion, the whole exercise loses its sense.

5

The first case is \leaders with a rule. The rule can be easily extended to the desired width. The result is just one rule with the specified leaders width. The second case is a box with fixed dimensions. The width of the box is the default rule width 0.4 pt. Then the space to be filled is filled with the boxes. There are three variants: \leaders sets the ...

5

IMHO, you needn't to redefine output routine. \def\Epoem{\epoem\epoem\epoem\epoem\epoem} \def\EEpoem{\Epoem\Epoem\Epoem\Epoem\Epoem} \def\Spoem{\spoem\spoem\spoem\spoem\spoem} \def\SSpoem{\Spoem\Spoem\Spoem\Spoem\Spoem} \newbox\ebox \newbox\sbox \newif\ifout \def\outtwotexts{\par \setbox\ebox=\vbox{\unvbox\ebox\vfil} ...

2

TeX's core engine does not use dynamically allocated memory but preallocated memory pools. So there's nothing like a heap to get dumped. The TeX base code does not provide a way to show the contents and pointers into the preallocated memory pools. So the answer to your question is: No, its impossible to generate a "usefull" TeX heap dump (which should be ...

2

This doesn't extend the existing \vphantom definition, but provides an alternative. It works in text mode as well as all styles of math mode. EDITED to remove package dependence on scalerel, but the \thisstyle and \savedstyle definitions that remain largely mimic those from the package (\ThisStyle and \SavedStyle). EDITED to add \wdphantom, \htwdphantom, ...

1

Run > CMD attrib +h *.aux /s Makes .aux a hidden file type. I did it for .synctex.gz, .nav, .out, .snm, and .toc. Pretty nice. At first I got the pdfLaTeX error "I cannot write on the file." I'm not sure why but I went and deleted all of these files and now the new ones that are generated are able to be written on.

Only top voted, non community-wiki answers of a minimum length are eligible