¿Cómo incluir un parámetro al llamar a una macro?

¿Cómo incluir un parámetro al llamar a una macro?

Al principio, quiero definir un entorno de teorema.sin numero, entonces probé el siguiente código:

\LoadClass[a4paper]{article}

\RequirePackage{amsmath,amssymb,amsthm} 
\RequirePackage{thmtools}

\declaretheoremstyle[]{testbox}
\declaretheorem[style=testbox,name=Theorem]{theo}
\renewcommand{\thetheo}{}    %Cancelling the number

\begin{document}
    \begin{theo}
        Content.
    \end{theo}
\end{document}

Funciona bien. Luego intenté extenderlo a

\LoadClass[a4paper]{article}

\RequirePackage{amsmath,amssymb,amsthm}
\RequirePackage{thmtools}

\declaretheoremstyle[]{testbox}
\newcommand{\newtestbox}[2]{
    \declaretheorem[style=testbox,name=#1]{#2}
    \renewcommand{\the#2}{}    %Error
}
\newtestbox{Theorem}{theo}

\begin{document}
    \begin{theo}
        Content.
    \end{theo}
\end{document}

Pero ahora parece que \the#2se reconoce que se trata de una contrallamada mal formada. ¿Cómo puedo usarlo correctamente? Lo siento si la historia es demasiado larga.

Respuesta1

Uso numbered=no(página 3 del manual de thmtools).

\documentclass{article}

\usepackage{amsmath,amssymb,amsthm}
\usepackage{thmtools}

\declaretheoremstyle[]{testbox}
\declaretheorem[
  style=testbox,
  numbered=no,
  name=Theorem,
]{theo}

\begin{document}

\begin{theo}
Content.
\end{theo}

\end{document}

ingrese la descripción de la imagen aquí

Compárelo con el resultado (incorrecto) que obtiene sin numbered=nopero con \renewcommand{\thetheo}{}, es decir

ingrese la descripción de la imagen aquí

Respuesta2

puedes decir:

\LoadClass[a4paper]{article}

\RequirePackage{amsmath,amssymb,amsthm}
\RequirePackage{thmtools}

\declaretheoremstyle[]{testbox}
\newcommand{\newtestbox}[2]{
    \declaretheorem[style=testbox,name=#1]{#2}
    \expandafter\renewcommand\csname the#2\endcsname{}    %Error
}
\newtestbox{Theorem}{theo}

\begin{document}
    \begin{theo}
        Content.
    \end{theo}
\end{document}

información relacionada