Error del compilador al crear una macro/entorno

Error del compilador al crear una macro/entorno

Estoy intentando crear un nuevo comando o entorno o algo para formatear lo que es esencialmente una sección, pero necesita tener su propio contador. Me gustaría no utilizar ninguno de los \section \subsection, etc. a medida que profundizo en toda la profundidad que proporcionan.

La idea es que escribiría algo similar a...

\session{Hello World}

... y daría como resultado algo como (aunque centrado) ...

Sesión 1: Hola mundo

El comando que tengo actualmente es el siguiente:

\newcounter{sessioncounter}
\newcommand{\session}
{
\begin{center}
\begin{emph}
\begin{textbf}
\begin{Large}
Session \value{sessioncounter}\stepcounter{sessioncounter}: 
}{
\end{Large}
\end{textbf}
\end{emph}
\end{center}
}

Al intentar esto exactamente, el compilador de Latex arroja el siguiente error (tenga en cuenta que esto ocurre incluso antes de que se haya llamado a \begin{document}).

Error de LaTeX: \begin{document} terminado en \end{Large}

También intenté crear un nuevo entorno cambiando literalmente \newcommand{\session} por \newenvironment{session}. Mientras esto se compila, aparece el siguiente error en la línea de \begin{session}.

Falta \endcsname insertado.

        <to be read again> 

\después del grupo

l.13 \begin{sesión}

¿Alguien puede ver dónde me estoy equivocando? Por el error supongo que el nuevo comando no se puede usar exactamente con esta sintaxis para lo que quiero; sin embargo, también estoy confundido en cuanto a por qué el entorno tampoco funciona.

Respuesta1

Su definición coincide con el formato de unambiente, no un comando.

Así se definen los entornos:

\newenvironment{example}{<starting commands>}{<ending commands>}

Luego se usan así:

\begin{example}
<text>
\end{example}

Pero creo que quieres undominioeso requiere un argumento, como en este ejemplo. Además, \thesessioncounterte proporciona el número como texto; \valuees para usar en otros comandos internos. (También ajusté un poco los comandos de formato).

\documentclass{article}
\newcounter{sessioncounter}
\newcommand{\session}[1]{%
    \hfil\bgroup\Large\itshape\bfseries 
    Session~\thesessioncounter: #1\egroup\par\bigskip
    \stepcounter{sessioncounter}%
}

\begin{document}
\session{Hello World}
\session{Hello again}
\session{Hello for the last time}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

No puedes hacer \begin{textbf}ni \begin{emph}deberías hacer \begin{Large}ninguna de las dos cosas.

Quieres

\newcommand{\session}[1]{%
  \begin{center}\Large\itshape\bfseries
    \stepcounter{sessioncounter}%
    Session \value{sessioncounter}: #1%
  \end{center}%
}

en el preámbulo y uso

\session{Hello world}

en el documento.

información relacionada