¡Error de "Secuencia de control no definida" a pesar de la definición de \newcommand!

¡Error de "Secuencia de control no definida" a pesar de la definición de \newcommand!

He instalado el paquete completo texlive:

Utilizo TeXmaker y este es un código en el que quiero dibujar una cuadrícula como en tikzpicture. Solo quiero llamar a la \gridkarfunción definida a continuación. Entonces lo definí en \newcommand. Lamentablemente devuelve dos errores:

Undefined Control Sequence \gridkar

y

Package PGF Math Error: Unknown Function 'x' (in 'x')

\documentclass[12 pt]{exam}
\usepackage[T1]{fontenc}
\usepackage{tgtermes}
\usepackage{amsmath,amssymb,color}
\usepackage{enumerate,graphicx}
\usepackage{tikz}
\usepackage{xargs}
\usepackage{latexsym}

\pagestyle{head}      
\firstpageheader{Math110}{October 2}{Quiz 3}
\shadedsolutions
\definecolor{SolutionColor}{rgb}{.87,.87,.87}
\newcounter{x}
\newcounter{y}
\newcommand{\gridkar}[2]
{
    \begin{tikzpicture}[scale=0.4]
    \forLoop{-#1}{#1}{x}
    {
        \draw[-] (x,-#2) -- (x,#2);
    }
    \forLoop{-#2}{#2}{y}
    {
        \draw[-] (-#1,y) -- (#1,y);
    }
    \end{tikzpicture}
}

\begin{document}
\noindent Name:\hfill Section: 008
\noindent Directions: For each problem please show all your work in the space provided. Calculators are permitted; however, in order to receive partial or full credit on a problem you must show your work. You could use the blank side of this sheet too.\\

\textbf{Maximum Points: 6}\hspace*{\fill}\textbf{Time Limit: 10 minutes}

\begin{questions}
\question [2]\gridkar{7}{8}
\question [3]
\question [1]
\end{questions}
\end{document}

¿Cómo arreglar esto? ¿Hay algún paquete que me perdí incluir?

Respuesta1

No necesitas una operación de bucle, TikZ tiene la suya propia. He incluido una posibilidad, pero también puedes usar la gridtecla TikZ. He puesto también otro ejemplo.

\documentclass[12 pt]{exam}
\usepackage[T1]{fontenc}
\usepackage{tgtermes}
\usepackage{amsmath,amssymb} % No need and deprecated -> color
\usepackage{enumerate} % % No need -> graphicx
\usepackage{tikz} % Tikz loads graphicx and xcolor
\usepackage{xargs}
\usepackage{latexsym}

\pagestyle{head}      
\firstpageheader{Math110}{October 2}{Quiz 3}
\shadedsolutions
\definecolor{SolutionColor}{rgb}{.87,.87,.87}
\newcommand{\gridkar}[2]
{
    \begin{tikzpicture}[scale=0.4,baseline]
    \foreach\x in {-#1,...,#1}
    {
        \draw[-] (\x,-#2) -- (\x,#2);
    }
    \foreach\y in {-#2,...,#2}
    {
        \draw[-] (-#1,\y) -- (#1,\y);
    }
    \end{tikzpicture}
}

\begin{document}
\noindent Name:\hfill Section: 008
\noindent Directions: For each problem please show all your work in the space provided. 
Calculators are permitted; however, in order to receive partial or full credit on a problem 
you must show your work. You could use the blank side of this sheet too.

\textbf{Maximum Points: 6}\hspace*{\fill}\textbf{Time Limit: 10 minutes}

\begin{questions}
\question [2]\gridkar{7}{8}
\question [3]\tikz[baseline,scale=0.4]\draw (-7,-8) grid[step=1] (7,8);
\question [1]
\end{questions}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Tu problema es que leíste mal el archivo de registro. La terminal y el archivo de registro dicen:

! Undefined control sequence.
\gridkar ...gin {tikzpicture}[scale=0.4] \forLoop 
                                                  {-#1}{#1}{x} { \draw [-] (...
l.40 \question [2]\gridkar{7}{8}

La primera línea dice que hay una secuencia de control indefinida. Eso es todo. La secuencia no se menciona aquí. La segunda línea está rota en el lugar del problema. Incluye una parte del cuerpo macro. A la izquierda se menciona qué macro se está procesando actualmente. El problema está en el lugar de \forLoop. Significa que esta es la secuencia de control indefinida.

La última línea (con el prefijo l.40) dice que el problema ocurre cuando el archivo de entrada se lee en la línea 40. El contenido de esta línea se muestra aquí.

información relacionada