# Tag Info

7

The main error is that \relax isn't undefined. This test file is complete and can be run through latex, the terminal output is macro:-> macro:->streeeet macro:->ciiity2222 which is (I think) what you want in each of the three cases. \makeatletter \def \mystreet#1{\def\@mystreet{#1}} % Defines the \name command to set name \def ...

3

Why define \foo? May be I missed something but you can inglude \csname inside the definitions \newenvironment{variables} {\paragraph{Variables :} \csname alignat*\endcsname{2}} {\csname endalignat*\endcsname}

2

\csname endalignat*\endcsname expands to the command \endalignat* that you can't normally type. So \foo here is a helper macro that makes the environment definition that you intended except that the command names are passed as arguments #1 and #2, then \expandafter is used to make the command names socthe construction is the same as ...

3

The idea is to add a conditional that's true when a proof starts and change the code accordingly: if the conditional is false, we're not nesting, so we set \qed@current to \qed@empty, otherwise we use the same mechanism as in the other answer. \documentclass{book} \usepackage{amsthm,xpatch} \makeatletter \let\qed@empty\openbox % <--- change here, if ...

Top 50 recent answers are included