[latex3-commits] [git/LaTeX3-latex3-latex2e] develop: protected commands for graphics for issue #208 (6bee0ea3)

David Carlisle d.p.carlisle at gmail.com
Sat Nov 30 12:06:48 CET 2019


Repository : https://github.com/latex3/latex2e
On branch  : develop
Link       : https://github.com/latex3/latex2e/commit/6bee0ea3e7913e54156fc614c2b4ddfa0c8f9ad7

>---------------------------------------------------------------

commit 6bee0ea3e7913e54156fc614c2b4ddfa0c8f9ad7
Author: David Carlisle <d.p.carlisle at gmail.com>
Date:   Sat Nov 30 11:06:48 2019 +0000

    protected commands for graphics for issue #208


>---------------------------------------------------------------

6bee0ea3e7913e54156fc614c2b4ddfa0c8f9ad7
 required/graphics/graphics.dtx                     |  17 +-
 required/graphics/graphicx.dtx                     |   5 +-
 .../graphics/testfiles/robust-graphics-gh208.lvt   |  20 ++
 .../graphics/testfiles/robust-graphics-gh208.tlg   | 230 +++++++++++++++++++++
 .../graphics/testfiles/robust-graphicx-gh208.lvt   |  20 ++
 .../graphics/testfiles/robust-graphicx-gh208.tlg   | 230 +++++++++++++++++++++
 6 files changed, 514 insertions(+), 8 deletions(-)

diff --git a/required/graphics/graphics.dtx b/required/graphics/graphics.dtx
index ac570c02..dde6049f 100644
--- a/required/graphics/graphics.dtx
+++ b/required/graphics/graphics.dtx
@@ -25,7 +25,7 @@
 %<driver> \ProvidesFile{graphics.drv}
 % \fi
 %         \ProvidesFile{graphics.dtx}
-          [2019/11/01 v1.3d  Standard LaTeX Graphics (DPC,SPQR)]
+          [2019/11/30 v1.4a  Standard LaTeX Graphics (DPC,SPQR)]
 %
 % \iffalse
 %<*driver>
@@ -870,9 +870,10 @@
 % \changes{v1.1a}{2017/03/17}
 % {\cs{leavevmode} added before the group in \cs{Gin at iii} so that
 % settings in \cs{everypar} are cleared}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 % Top level command for the standard interface, just look for a |*|.
 %    \begin{macrocode}
-\def\includegraphics{%
+\protected\def\includegraphics{%
 %    \end{macrocode}
 % Clear |\everypar| before starting a group.
 %    \begin{macrocode}
@@ -1651,8 +1652,9 @@
 % \changes{v0.7a}{1995/04/11}{\cs{leavevmode} added graphics/1521}
 % \changes{v1.0n}{2001/07/07}
 %     {Made long (CAR) graphics/2908 and 3345}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\long\def\rotatebox#1#2{%
+\protected\long\def\rotatebox#1#2{%
   \leavevmode
   \Grot at setangle{#1}%
   \setbox\z@\hbox{{#2}}%
@@ -1866,8 +1868,9 @@
 % The top level |\scalebox|. If the vertical scale factor is omitted it
 % defaults to the horizontal scale factor, |#1|.
 % \changes{v0.3d}{1994/03/06}{Better support for negative arguments.}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\scalebox#1{%
+\protected\def\scalebox#1{%
   \@ifnextchar[{\Gscale at box{#1}}{\Gscale at box{#1}[#1]}}
 %    \end{macrocode}
 %  \end{macro}
@@ -1905,8 +1908,9 @@
 %  \begin{macro}{\reflectbox}
 % Just an abbreviation for the appropriate scale to get reflection.
 % \changes{v0.3e}{1994/03/09}{Macro added}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\reflectbox{\Gscale at box-1[1]}
+\protected\def\reflectbox{\Gscale at box-1[1]}
 %    \end{macrocode}
 %  \end{macro}
 %
@@ -1915,10 +1919,11 @@
 % \changes{v0.3b}{1994/03/01}{Recode \cmd\resizebox.}
 % \changes{v0.7b}{1995/04/27}
 %         {Add \cs{leavevmode} for graphics/1512}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 % Look for a |*|, which specifies that a final vertical size refers to
 % `height + depth' not just `height'.
 %    \begin{macrocode}
-\def\resizebox{%
+\protected\def\resizebox{%
   \leavevmode
   \@ifstar{\Gscale@@box\totalheight}{\Gscale@@box\height}}
 %    \end{macrocode}
diff --git a/required/graphics/graphicx.dtx b/required/graphics/graphicx.dtx
index 4134c4ee..aefe4ec2 100644
--- a/required/graphics/graphicx.dtx
+++ b/required/graphics/graphicx.dtx
@@ -17,7 +17,7 @@
 %<driver> \ProvidesFile{graphicx.drv}
 % \fi
 %         \ProvidesFile{graphicx.dtx}
-          [2017/06/01 v1.1a  Enhanced LaTeX Graphics (DPC,SPQR)]
+          [2019/11/30 v1.2a  Enhanced LaTeX Graphics (DPC,SPQR)]
 %
 % \iffalse
 %<*driver>
@@ -845,8 +845,9 @@
 % Look for an optional argument.
 % \changes{v0.3b}{1994/03/11}{Remove star form}
 % \changes{v1.0g}{2014/04/25}{\cs{leavevmode} added graphics/1521}
+% \changes{v1.2a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\rotatebox{%
+\protected\def\rotatebox{%
   \leavevmode
   \@ifnextchar[\Grot at box@kv\Grot at box@std}
 %    \end{macrocode}
diff --git a/required/graphics/testfiles/robust-graphics-gh208.lvt b/required/graphics/testfiles/robust-graphics-gh208.lvt
new file mode 100644
index 00000000..f6c757e0
--- /dev/null
+++ b/required/graphics/testfiles/robust-graphics-gh208.lvt
@@ -0,0 +1,20 @@
+\documentclass{article}
+\input{test2e}
+\usepackage{graphics}
+\begin{document}
+
+\START
+
+\typeout{\fbox{abc}}
+
+\typeout{\parbox{3cm}{abc}}
+
+\typeout{\reflectbox{abc}}
+
+\typeout{\scalebox{2}{abc}}
+
+\typeout{\rotatebox{90}{abc}}
+
+\typeout{\includegraphics{abc}}
+
+\END
diff --git a/required/graphics/testfiles/robust-graphics-gh208.tlg b/required/graphics/testfiles/robust-graphics-gh208.tlg
new file mode 100644
index 00000000..fcb92fcc
--- /dev/null
+++ b/required/graphics/testfiles/robust-graphics-gh208.tlg
@@ -0,0 +1,230 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+\fbox {abc}
+\parbox {3cm}{abc}
+\reflectbox {abc}
+\scalebox {2}{abc}
+! Undefined control sequence.
+\Grot at setangle #1->\edef \Grot at angle 
+                                     {#1}
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...ulateCos \Grot at angle \edef \Grot at sin 
+                                                  {\UseSin \Grot at angle }\ede...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...\UseSin \Grot at angle }\edef \Grot at cos 
+                                                  {\UseCos \Grot at angle }\Gro...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...ce \Grot at d -\Grot at y \ifdim \Grot at sin 
+                                                  \p@ >\z@ \ifdim \Grot at cos ...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at box ... \Grot at sin \p@ >\z@ \ifdim \Grot at cos 
+                                                  \p@ >\z@ \Grot at Py \Grot at he...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at start ...currentpoint translate \Grot at angle 
+                                                  \space neg rotate neg exch...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+\unhbox \voidb at x \edef {90}\setbox \z@ \hbox {{abc}}\Grot at x \z@ \Grot at y \z@ \begingroup {}{}\edef {0 }\edef {1 }\Grot at r \wd \z@ \advance \Grot at r -\Grot at x \Grot at l \z@ \advance \Grot at l -\Grot at x \Grot at h \ht \z@ \advance \Grot at h -\Grot at y \Grot at d -\dp \z@ \advance \Grot at d -\Grot at y \Grot at height \Grot at r \advance \Grot at height \Grot at h \Grot at right \Grot at r \advance \Grot at right -\Grot at d \Grot at left \Grot at l \advance \Grot at left -\Grot at h \Grot at depth \Grot at l \advance \Grot at depth \Grot at d \advance \Grot at height \Grot at y \advance \Grot at depth \Grot at y \dimen@ \Grot at x \advance \dimen@ -\Grot at y \dimen at ii \Grot at x \advance \dimen at ii \Grot at y \dimen@ -\dimen@ \advance \dimen@ -\Grot at left \dimen at ii -\dimen at ii \advance \dimen at ii \Grot at y \setbox \z@ \hbox {\kern \dimen@ \raise \dimen at ii \hbox {\special {ps: gsave currentpoint currentpoint translate  neg rotate neg exch neg exch translate}\box \z@ \special {ps: currentpoint grestore moveto}}}\ht \z@ \Grot at height \dp \z@ -\Grot at depth \advance \Grot at right -\Grot at left \wd \z@ \Grot at right \unhbox \voidb at x \box \z@ \endgroup 
+\includegraphics {abc}
diff --git a/required/graphics/testfiles/robust-graphicx-gh208.lvt b/required/graphics/testfiles/robust-graphicx-gh208.lvt
new file mode 100644
index 00000000..99e5285d
--- /dev/null
+++ b/required/graphics/testfiles/robust-graphicx-gh208.lvt
@@ -0,0 +1,20 @@
+\documentclass{article}
+\input{test2e}
+\usepackage{graphicx}
+\begin{document}
+
+\START
+
+\typeout{\fbox{abc}}
+
+\typeout{\parbox{3cm}{abc}}
+
+\typeout{\reflectbox{abc}}
+
+\typeout{\scalebox{2}{abc}}
+
+\typeout{\rotatebox{90}{abc}}
+
+\typeout{\includegraphics{abc}}
+
+\END
diff --git a/required/graphics/testfiles/robust-graphicx-gh208.tlg b/required/graphics/testfiles/robust-graphicx-gh208.tlg
new file mode 100644
index 00000000..fcb92fcc
--- /dev/null
+++ b/required/graphics/testfiles/robust-graphicx-gh208.tlg
@@ -0,0 +1,230 @@
+This is a generated file for the LaTeX2e validation system.
+Don't change this file in any respect.
+\fbox {abc}
+\parbox {3cm}{abc}
+\reflectbox {abc}
+\scalebox {2}{abc}
+! Undefined control sequence.
+\Grot at setangle #1->\edef \Grot at angle 
+                                     {#1}
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...ulateCos \Grot at angle \edef \Grot at sin 
+                                                  {\UseSin \Grot at angle }\ede...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...\UseSin \Grot at angle }\edef \Grot at cos 
+                                                  {\UseCos \Grot at angle }\Gro...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+<argument> \Grot at angle 
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Missing number, treated as zero.
+<to be read again> 
+                   )
+l. ...\typeout{\rotatebox{90}{abc}}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+! Undefined control sequence.
+\Grot at box ...ce \Grot at d -\Grot at y \ifdim \Grot at sin 
+                                                  \p@ >\z@ \ifdim \Grot at cos ...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at box ... \Grot at sin \p@ >\z@ \ifdim \Grot at cos 
+                                                  \p@ >\z@ \Grot at Py \Grot at he...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px #1#2#3->#1\Grot at cos 
+                             #2\advance #1-\Grot at sin #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Px ...->#1\Grot at cos #2\advance #1-\Grot at sin 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py #1#2#3->#1\Grot at sin 
+                             #2\advance #1\Grot at cos #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at Py ...3->#1\Grot at sin #2\advance #1\Grot at cos 
+                                                  #3
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+! Undefined control sequence.
+\Grot at start ...currentpoint translate \Grot at angle 
+                                                  \space neg rotate neg exch...
+l. ...\typeout{\rotatebox{90}{abc}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+\unhbox \voidb at x \edef {90}\setbox \z@ \hbox {{abc}}\Grot at x \z@ \Grot at y \z@ \begingroup {}{}\edef {0 }\edef {1 }\Grot at r \wd \z@ \advance \Grot at r -\Grot at x \Grot at l \z@ \advance \Grot at l -\Grot at x \Grot at h \ht \z@ \advance \Grot at h -\Grot at y \Grot at d -\dp \z@ \advance \Grot at d -\Grot at y \Grot at height \Grot at r \advance \Grot at height \Grot at h \Grot at right \Grot at r \advance \Grot at right -\Grot at d \Grot at left \Grot at l \advance \Grot at left -\Grot at h \Grot at depth \Grot at l \advance \Grot at depth \Grot at d \advance \Grot at height \Grot at y \advance \Grot at depth \Grot at y \dimen@ \Grot at x \advance \dimen@ -\Grot at y \dimen at ii \Grot at x \advance \dimen at ii \Grot at y \dimen@ -\dimen@ \advance \dimen@ -\Grot at left \dimen at ii -\dimen at ii \advance \dimen at ii \Grot at y \setbox \z@ \hbox {\kern \dimen@ \raise \dimen at ii \hbox {\special {ps: gsave currentpoint currentpoint translate  neg rotate neg exch neg exch translate}\box \z@ \special {ps: currentpoint grestore moveto}}}\ht \z@ \Grot at height \dp \z@ -\Grot at depth \advance \Grot at right -\Grot at left \wd \z@ \Grot at right \unhbox \voidb at x \box \z@ \endgroup 
+\includegraphics {abc}





More information about the latex3-commits mailing list