{tex-core} is for questions that are independent of formats and macro packages. Such questions usually relate to low-level TeX programming or the behaviour of TeX at an underlying level. Note that even Plain TeX is a format in itself; for questions about it, use {plain-tex}.
28
votes
2answers
350 views
Why no vertical-mode Knuth-Plass?
I have only basic knowledge of the TeX internals, so I hope what I am saying here is not complete nonsense. If I understand correctly, in TeX, horizontal positioning / line breaking is done using a ...
7
votes
2answers
154 views
Stupid error caused by doing stupid things
When I was writing my thesis I wrote the following two commands which I found useful (and still do). They are both ways of defining other commands.
\usepackage{ifthen}
\makeatletter
\def\optional ...
7
votes
2answers
102 views
Why does TeX attempt to insert 'missing' tokens?
"Missing \cr inserted", but it looks to me like it's already there!
Missing $ inserted
...
Why does TeX attempt to insert missing tokens? Why doesn't it simply throw up and die?
...
3
votes
0answers
41 views
What is a working python code snippet for escaping a string, so that it can be included in a tex file? [closed]
I'm using python to populate a tex template with arbitrary strings - and I would like to escape the strings so they're interpreted and displayed properly inside the tex file (rather than having them ...
5
votes
1answer
28 views
How to use tangle to merge to get a single merged file from original source and change files
I'm trying to read and understand the TeX source, but it is difficult to keep track of when I should be reading code from the original file and when I should be reading code from the change file. I ...
13
votes
3answers
95 views
Difference between \mskip and \mkern
What are the differences between \mskip and \mkern? The TeXbook writes the following (ch. 18):
You can insert math glue into any formula just by giving the command
‘\mskip⟨muglue⟩’. [...] ...
7
votes
3answers
85 views
How do I get the width of \hfill?
In my LaTeX document, I have a first line with a given spacing obtained using \hfill, then a paragraph, and then a third line in which I would like to use the same spacing as in the first line.
The ...
3
votes
1answer
61 views
TeX document allowing any byte sequence being inserted
Out of a hacker's interest, I looked for a TeX document into which an arbitrary byte sequence can be inserted without causing the TeX process to fail, but had a similar issue; I basically set all ...
19
votes
2answers
369 views
Outright impossible TeX byte sequence
Out of a hacker's interest, I am wondering if there is any byte sequence that can never occur in any valid TeX document before \end is processed.
I thought of things like
{\catcode`}=9\catcode`\=9
...
1
vote
0answers
42 views
Errors after TeX Live 2012 update on Ubuntu 12.04 [duplicate]
I wanted to use mdframed package but I was getting the error package not found. I followed the advice here to update to Text Live 2011. However, I figured out there is Tex Live 2012 and therefore ...
3
votes
3answers
110 views
How exactly are TeX and LaTeX related? [duplicate]
I know that plain TeX is the low-level typographical language that describes nearly every aspect of presentation, taking care of things like paragraph breaks, new pages, and the like.
I know (well, ...
12
votes
3answers
331 views
How to compile the source code of TeX
I am more and more interested in the system TeX (and LaTeX) and I want to study it more deeply. I am not telling that I want to learn how to use it, but I want to understand its mechanism now.
The ...
6
votes
1answer
65 views
\pdfstrcmp or \strcmp in pure TeX
I'm trying to get LaTeX3 working with an old e-TeX kernel, and it fails due to the lack of \pdfstrcmp (or XeTeX's \strcmp equivalent).
Is there a pure TeX definition of \pdfstrcmp that I could insert ...
34
votes
2answers
561 views
Electronic version of Knuth's “TeXbook”?
I have a printed copy of the TeXbook (from D.E. Knuth) at home. Now that I travel a lot, I don't want to take my library with me every time. Question:
Is there a legal way to obtain (=purchase) a PDF ...
11
votes
3answers
119 views
Understanding etoolbox \ifdefempty and \ifdefvoid
I am trying to understand the etoolbox \ifdefempty and \ifdefvoid macros. The documentation says that \ifdefempty
Expands to true if the control sequence is defined and is a
parameterless macro ...
7
votes
2answers
63 views
Determining the math class of a non-keyboard symbol
What is the "right" way of determining the math class (e.g. ordinary/0, relation/3, closing/5, etc.) of a non-keyboard symbol?
Something like \oplus is easy enough to guess, but I wasn't immediately ...
6
votes
1answer
99 views
How to not have widows and orphans without using raggedbottom
I know I can set \clubpenalty and \widowpenalty to 10 000 to make them “really bad”, but then TeX sees it equally bad to cut the page short when there is no vertical stretch (i.e. \parskip=0pt), and ...
4
votes
2answers
60 views
Change display style in xlop package
I recently discovered the package xlop to typeset automatically elementary school calculations. Using this for division for example like this, gives the output below.
\documentclass{article}
...
19
votes
2answers
311 views
TeX's algorithms for “breaking paragraph into lines” and “setting the glue”
I want to learn more about the implementation of TeX's text-justification algorithm (setting the glue).
After scanning through ch.12 of Knuth's TeXbook, I'm guessing that setting the glue must ...
7
votes
2answers
94 views
Deleting an element from a comma separated list
In this answer we learnt how to remove the n-th element from a comma-separated list.
How can I remove an element from a list by its value, rather than its position? For example: if my global variable ...
40
votes
3answers
801 views
Why/When should I pay attention to warnings?
I often see warnings in the compilation-log of my tex-files.
I searched in the internet and did not find a good answer to this question.
And in my opinion there must be a reason why tex warns me about ...
15
votes
1answer
100 views
What is the differences between mathcode and catcode and how can I use mathcode?
The command \catcode is often used to change some internals. E.g. the command \makeatletter changes the catcode @. But what is \mathcode and how does it work?
catcodes are well explained here: Wiki ...
1
vote
0answers
36 views
Is there an interface to call the Hyphenation Algorithm in plain TeX?
As the title said. Which TeX engine can do that? Knuth TeX, XeTeX, pdfTeX, or LuaTeX?
7
votes
3answers
120 views
Sorting to match a given list
I am looking for ideas on the following task. I want to sort the entries in \listb to those in \lista. It cannot always be assumed that only the elements of \lista are in \listb; neither can it be ...
10
votes
1answer
79 views
How to get the natural width of the last box in a paragraph?
I want to get the natural width of the last line in a paragraph. For example, the last line of the following paragraph
Georg Friedrich Bernhard Riemann (September 17, 1826 – July 20, 1866) was an ...
20
votes
2answers
172 views
What are lccode and uccode used for?
In TeX, each of the 256 bytes has an associated \lccode and an \uccode, integers in the range [0,255] which indicate among other things how \lowercase and \uppercase act. There are of course a bunch ...
8
votes
1answer
128 views
Using \toks registers
I was reading this tutorial for TeX programming:
http://pgfplots.sourceforge.net/TeX-programming-notes.pdf
recommended in the 2-nd answer here: Where do I start LaTeX programming?
It says:
...
3
votes
1answer
50 views
Suppress output for a group
I have an \item style command where I need to be able to suppress output for the following text. I can do this with \nullfont, but that seems like a poor hack. Is there a declaration that will ...
10
votes
1answer
117 views
How to install or replace fonts in old TeX files?
I got interested in a research paper from 1991, which I cannot get an electronic online version of. The author was kind enough to send me his tex sources, but is himself unable to produce a pdf file ...
1
vote
1answer
50 views
How to check if a fragile macro value is empty or will not create text with plain TeX conditionals?
A similar question has been already asked here, but has not been answered yet for fragile commands such as eg. \@author?
What would be the right way to get detect if \author has been called with a ...
4
votes
3answers
255 views
How could the macro xii.tex be simplified into a better readable form
I was reading some TeX guides from where I have found this source:
\let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF
PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP
...
4
votes
1answer
70 views
representing literal characters in a \newcommand or \def
Consider this short LaTeX document:
\documentclass[11pt]{article}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\def\name{...}
\begin{document}
Hello: \name
...
3
votes
2answers
84 views
List of tokens from TeX mouth
Is it possible to get list of tokens which comes from TeX "mouth"? If I understand correctly: in mouth all macros, conditionals and special operations (like \the and \input) are expanded and then goes ...
2
votes
1answer
79 views
How to check if token is a macro?
I am thinking about possibility to parse LaTeX document. What I really need is to track category codes of symbols. As I understand TeX expands all of macros in his mouth and tracks changes of category ...
22
votes
1answer
246 views
What does list mean in relation to skip? (What is David on about?)
In two previous question When is it good practice to use \unskip and What is a token? the default meaning of token in LaTeX and the behaviour of \unskip were asked. However in the first question was ...
16
votes
2answers
272 views
When is it good practice to use \unskip
One sees in source2e the command \unskip used in various places. My understanding in general terms is that the macro is the equivalent of \ignorespacesbehind.
Where would it be recommended to use ...
30
votes
2answers
364 views
What is a token?
Please forgive such a basic question, but I did some Google searching and looked around on this site, and while there are many threads and online resources that involve tokens, I can't seem to find a ...
10
votes
1answer
82 views
(Re)definition of commands that use delimiters other than braces (e.g. \underbrace)
How do you go about redefining a command such as \underbrace, which uses an "uncommon" delimiter, i.e. _, between its two arguments, so that the redefined command be usable in exactly the same way as ...
8
votes
1answer
79 views
Why doesn't \mathord work to turn an Acc atom into Ord?
Writing ${\dot X^a}^b$ produces a very cryptic "double superscript" error: this has been explained here on this forum: the reason is that {\dot X}^a generates an Acc atom and that, for a reason that ...
1
vote
0answers
39 views
How to break long expressions automatically in displaymode? [duplicate]
Whenever an expression is too long, it will be broken automatically in inline mode but done nothing in displaymode
E.g.
MWE:
\documentclass[11pt]{article}
\begin{document}
...
14
votes
3answers
184 views
Parsing strings containing diacritical marks (macros?)
I apologize that this question may seem very much like several other recent ones I have asked (Parsing leading hardspaces, Parsing a \$ as part of an improved \getargs command). They are all related ...
6
votes
1answer
76 views
Macros in \special
I tried to compute a bounding box in LaTeX and pass the value on to dvisvgm via DVI specials. The resulting code (which I copy-and-pasted together from all over the internet) looked as follows:
...
0
votes
0answers
41 views
$*$ versus \(*\), which is better? [duplicate]
In LaTeX, $*$ and \(*\) both introduce inline math mode; but are they identical?
By this question \[*\] is better than $$*$$, so do $*$ and \(*\) in the same story?
5
votes
2answers
97 views
Variadic arguments macro
I am trying to make macro with variadic arguments, iterating over them.
The final result is supposed to be:
\foreach[x]((var = \x )){foo}{bar}{baz}\null
evals to
var = foo var = bar var = baz
My ...
6
votes
3answers
172 views
Why are some characters not allowed in command sequences
From my understanding a control sequence is ended by any non-alphabetic character such that \mycsA is one token, but \mycs1 is two tokens. This means things like starred commands \mycs* are actually ...
2
votes
0answers
158 views
How to edit the LaTeX path in LyX on Windows (x64)
I was using MiKTeX 2.9 (x64) on my Win 7 machine for some time with TeXnicCenter. Now I tried to install LyX on the same PC. The problem I get is Lyx does find neither latex.exe nor sees all the other ...
7
votes
2answers
105 views
Is there a way of defining a command \nullifyifmoved{arg} that will normally act like its argument but act like a no-op if the macro is “moved”?
I'm interested in a macro \nullifyifmoved that takes one argument arg and acts like arg in normal contexts, except it acts like a no-op wherever it is written to a file. Some background:
Martin ...
11
votes
2answers
218 views
How does math mode work?
When writing an a in TeX, it is typeset as an upright "a" by default. When writing an a in math mode it is typeset in italics. Furthermore, in math mode white spaces are ignored and no empty lines ...
5
votes
3answers
97 views
Metacommand for commands that dynamically select a parameter?
Original question
I would like to create a metacommand for creating new projection commands. Specifically, \newproj{\cmd}{<n>}{<m>} should create \cmd as a new command of <n> ...
12
votes
1answer
166 views
Am I programmatically tieing my hands behind my back by insisting on a particular engine?
I've read Differences between LuaTeX, ConTeXt and XeTeX, but still have a niggle at the back of my mind that I'd like to ask about.
I'm developing a LaTeX package/class/stuff with the aim of making ...



