{latex-base} is about the inner workings of the LaTeX kernel. Do not use this tag for general questions about LaTeX or {macros}.

learn more… | top users | synonyms (1)

5
votes
1answer
193 views

Automatically run code at end of file

In typical LaTeX documents, the document content is typed inside the document environment, which is usually the last thing in the file: \documentclass{article} \begin{document} Content goes ...
22
votes
1answer
599 views

What packages are no longer necessary after TeX Live 2015 kernel update?

I see from this question that fixltx2e is no longer needed. This means the LaTeX kernel now finally has a \textsubscript command. Formerly that was provided by fixltx2e and also by the subscript ...
0
votes
0answers
27 views

Help me to make question bank and answer

I need you help. I have 3 group question. GroupA has 15 quest, group B and group C have 15 quest. I want to know how to make more 20 exam with 1 in group A, 1 in GB, 1 in GC. Thk alot
2
votes
1answer
158 views

Latex \newcommand usage

I would like to simplify the way to type indicator functions. So I used package bbm and defined \newcommand{\1}{\mathbbm{1}} But I actually want something like \mathbbm{1}_{XXX}=\newcommand{1}{XXX}. ...
9
votes
2answers
1k views

What is a macro, really?

From the list of catcodes, \ starts a new control sequence, { starts a group, and } ends a group. In LaTeX, a macro appears as \foo[opt-arg]{arg1}{arg2} However, TeX does not seem to have the ...
33
votes
3answers
781 views

Do fontsize environments exist?

Without any doubt there are fontsize switches in the form of control sequences (described here for instance.) But, from time to time I ran into code examples where environment versions of those were ...
4
votes
0answers
47 views

What does `\escapechar` do? [duplicate]

In latex.ltx you can find several situations where \escapechar is set to -1 -- from what it's clear that it has to be a count register. But, what does it actually "count" or control? A small ...
6
votes
2answers
95 views

Where is \@makefntext defined?

I was studying how footnotes come about in LaTeX and what processes exactly run behind the curtain, and noticed \@makefntext. But in fact, in latex.ltx there are only two occurences of this macro ...
11
votes
1answer
266 views

Why the new changes to LaTeX kernel breaks zref-perpage package?

Consider the following minimal example: \documentclass{book} \usepackage{zref-perpage} \zmakeperpage{footnote} \begin{document} \chapter{Test} \footnote{A footnote} \footnote{A footnote} \newpage ...
11
votes
1answer
183 views

Can one safely redefine \jobname?

I want to access labels from an external document -- in general this is not a problem with the xr package. But in this case both documents are compiled on sharelatex, and there \jobname is always set ...
11
votes
1answer
292 views

what is the equivalent of \reserveinserts in latex 2015

The release 2015 of LaTeX has included features of the etex.sty package. However, it does not have included the \reserveinserts command. My questions is very simple: what is the mechanism to use to ...
23
votes
2answers
1k views

Where is the LaTeX manual?

Helpful members of the community just solved my problem with \newcommand: What's wrong with my newcommand? But in trying to solve it, I got an error message referring to p. 192 of "the manual". ...
17
votes
1answer
323 views

! Corrupted NFSS tables

Update The LaTeX-bug described in this question has been resolved. With the new LaTeX in TeXlive 2015 (tested on 2015-05-14) there is no longer an error. Original Question The following code gives ...
1
vote
1answer
129 views

How to write totally expanded macro to file (with LaTeX kernel)

I want to write value of the macro \@authortofile to a file. Inside the macro it is another macro which is defined as separator between some words: \def\@separator{\def\@separator{, }} When I try ...
3
votes
0answers
66 views

Undefine a command in LaTeX [duplicate]

LaTeX, of course, has a protective mechanism that prevents you from doing some stupid things: \newcommand\a{a} \newcommand\a{b} %% LaTeX Error: Command \a already defined. Of course, if you know ...
5
votes
1answer
584 views

What do \@mkboth and \markboth do?

What do the toc related commands \@mkboth and \markboth do?
1
vote
1answer
176 views

What is LaTeX's \if@nobreak mechanism for and how does it work?

many LaTeX sectioning-related commands have a block in manipulating the \@nobreak flag. Taking the following example for the sake of example: \begingroup \parindent \z@ \rightskip \@pnumwidth ...
24
votes
1answer
413 views

Why is the .toc file created at end document?

To create a Table of Contents (for example), LaTeX2e follows the process: Run 1 .aux file is created from scratch after \begin{document}. When processing section headers, write \addtocontents to ...
9
votes
1answer
234 views

Is there a generic dummy command?

I would like to add in the title field of some bib entries a dummy command which I can redefine to force e.g. a linebreak in certain cases. I need a command which normally doesn't do anything, doesn't ...
29
votes
1answer
563 views

What is .tex file in TeX Live for?

If I run kpsewhich .tex I get /usr/local/texlive/2013/texmf-dist/tex/latex/tools/.tex This file belongs to LaTeX core files and is nearly empty: %% %% This is file `.tex', %% generated with the ...
26
votes
1answer
272 views

Which primitives does LaTeX2e rename/move?

TeX's primitives can be renamed by macro formats/packages: this allows new/altered features or behaviours. Usually this is done such that the originals are still available ('renamed'): certainly ...
16
votes
1answer
302 views

Why is there a \null in \verb?

In source2e.pdf, the definition of \verb is \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi \bgroup \verb@eol@error \let\do\@makeother \dospecials \verbatim@font\@noligs ...
5
votes
2answers
95 views

Does the LaTeX kernel define font-shape macros that expand to `it', `sc', etc.?

I need to perform a test on the current font shape. More specifically, I need to detect whether the current font shape is italic or slanted. Joseph Wright already provided a solution in his answer to ...
1
vote
0answers
170 views

Reference of Latex/Plain Tex control sequences [closed]

I'm looking for a reference of the control sequences defined in Latex and plain Tex similar to this one for the build-in primitives. The Texbook states that there are about 600 macros in plain Tex. ...
16
votes
2answers
739 views

What's the meaning of the macro `\m@th`?

I found this macro from Voss' Math mode v2.47, page 21: \makeatletter \newif\if@borderstar \def\bordermatrix{\@ifnextchar*{% \@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}% ...
17
votes
2answers
257 views

\@ifnextchar's twin in the kernel

In latex.ltx you can find \let\kernel@ifnextchar\@ifnextchar What was this needed for?
0
votes
1answer
72 views

Vertically centering page with @texttop and @textbottom

I am trying to use \@texttop and \@textbottom to vertically center a page in a manner similar to Use of \@texttop and \@textbottom for vertical positioning. Everything works fine if I do ...
4
votes
1answer
332 views

Documentation of LaTeX2e source

Where are the best places to look if one would like to understand the LaTeX2e source code? Related: Comprehensive online manual for LaTeX2e user macros and environments Are there guidelines on how ...
3
votes
1answer
145 views

Setting initial value of a storage macro

When I create a "storage macro" I often initialize it to be empty with \newcommand{\@mymacro}{} \newcommand{\mymacro}[1]{\renewcommand{\@mymacro}{#1}} Instead of initializing it to empty I could do ...
3
votes
0answers
114 views

Value from LaTeX package to plain TeX [closed]

If I say \usepackage{lastpage} I got \xdef\lastpage@lastpage{53} at the end of .aux-file. I tested and \xdef\sometest@sometest{53} \newcount\tmp \advance\tmp \sometest@sometest \relax \advance\tmp ...
9
votes
2answers
970 views

What the first argument for `\l@subsection` actually is?

Consider for example the code \makeatletter \renewcommand{\l@subsection}[2]{\@dottedtocline{2}{1.6em}{1.6em}{\S#1}{#2}} \makeatother It allows me to obtain in my table of contents records ...
8
votes
1answer
143 views

What's the differences between the kernel commands \trivlist and \list?

LaTeX defines the two environments \trivlist and \list. Both can be used creating own environments. What exactly is the differences between \trivlist and \list?
23
votes
2answers
601 views

Redefining \include

A puzzling choice made by Leslie Lamport was to define \include in such a way as to issue a \clearpage before reading the file. This has been puzzling me for sometime as it is not a very good choice ...
9
votes
1answer
175 views

LaTeX2e \makebox !=\hbox?

The source2e documentation (pg. 233) when describing \makebox states: ... If wid  is missing, then pos is also missing and obj  is put in an \hbox of its natural width... This, ...
9
votes
1answer
446 views

Strange behaviour with \AtEndDocument

I'm creating a document class that has draft and final versions. The final version has a front page generated by \maketitle, but in draft mode \maketitle is \let to \relax. I decided to insert a test ...
13
votes
2answers
358 views

Why is \thepage set to \relax in a \protected@write?

In the kernel the definition of protected@write includes the setting of the \thepage to \relax. Why is this and are there other means to ensure that thepage is not expanded? \long\def ...
8
votes
1answer
1k views

Why does LaTeX make \DeclareMathSymbol and \DeclareSymbolFont preamble-only?

Is there any good and convincing reason to explain why LaTeX restricts usage of \DeclareSymbolFont and \DeclareMathSymbol to the preamble? and I could also ask the question for many other macros. ...
28
votes
3answers
1k views

@tempdima, reserved@a, @tempcnta, what else?

I'm aware that some "temporary" LaTeX dimensions etc. exist. I would, however, like to know all of them. I know \reserved@a (macro), \@tempdima (dimension) and \@tempcnta (counter).
9
votes
1answer
109 views

\@ifnextchar inside pmatrix?

I created a function which handles a superscript followed after the function. I do that by using \@ifnextchar^. Everything works well, except in any pmatrix environment. Why? As a quick-and-dirty ...
12
votes
1answer
298 views

Counters and their “partners”

A counter created via \newcounter{<counter>} is stored internally as \c@<counter>, just like a reference made using \label{<label>} is stored internally using \r@<label>. ...
6
votes
1answer
256 views

Some assignments in the definition of \parbox

Why are these assignments necessary in the LaTeX's definition of \parbox? \let\hss\vss\let\unhbox\unvbox EDIT I should have added that I wondered if the assignments will affect any in-parbox calls ...
9
votes
4answers
161 views

Restore the original array code

The arraypackage redefines array in various ways. I was woundering if anyone had made a package containing a localized (prefixed) version of the kernel array? I have a document were we have a simple ...
10
votes
3answers
1k views

Are commands defined by \newcommand[.][.]{.} robust?

This question is from the comments at the foot of Abbreviations for AM, PM (small caps) for use within \textbf. Readers will get the remaining gist from there. With ...
23
votes
6answers
1k views

\@ifnextchar and friends documentation

While reading this question and its answers I tried to find where, for instance, \@ifnextchar is documented. I'm afraid I couldn't... I looked in TeX: The Program and TeX for the Impatient which can ...
40
votes
2answers
4k views

Understanding \@ifnextchar

I understand the definitions of the \makeatletter and \makeatother commands and also \def and \newcommand somewhat. But, explained in a simple way, what is happening in the following line? ...
8
votes
2answers
551 views

What exactly does \DeclareOldFontCommand and \DeclareRobustCommand do?

In the article class appears the following code related with the font selection: \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} ...
27
votes
1answer
248 views

Why is there no \provideenvironment?

LaTeX2e provides a \providecommand but there is no \provideenvironment which defines an environment only if it (or a macro with the same name) was not defined before. Is there a specific reason why it ...
16
votes
2answers
655 views

What does the command \@dblarg in a class?

In the definition of a command appears the declaration of \@dblarg, as follows: \def\title{\@dblarg\CJ@title}. What exactly does \@dblarg do?
27
votes
4answers
1k views

Why does the LaTeX kernel define \usepackage *and* \RequirePackage?

The ubiquitous \usepackage command is used to load packages in the preamble of a document; the command syntax is \usepackage[<package-option-list>]{<package-list>}[<version>] ...
47
votes
2answers
5k views

What does \z@ do?

in parcolumns it has \z@ all over the space. I don't see it define it anywhere so I assume it is some internal command or something? I can't really make heads or tails of it though and I can't really ...