pestaña desigual para alinear texto

pestaña desigual para alinear texto

¿Cómo puedo alinearme?programay''(comas) en la misma línea vertical que estaba mi código

            \item [1.]\quad Identifier\quad   program
            \item [2.]\quad White\_Space\quad' '

La pestaña es par

Respuesta1

Como señala Bubaya, una posibilidad es poner la "etiqueta" en una caja de ancho fijo, aunque yo no "juguetearía" con fantasmas y cosas por el estilo. He definido un comando para hacerlo. Sin duda, sería deseable realizar más ajustes (por ejemplo, establecer automáticamente el ancho de la etiqueta más larga).

Tenga en cuenta también:

  • Si desea una lista enumerada, le pediría una lista enumerada, no establecería la etiqueta a mano.
  • No puedo aprobar la adición de \quadmensajes para poner espacio adicional después de la etiqueta del artículo. Si la lista no es como debería ser, cambie \labelsepy (si es necesario) \labelwidth. Cada vez que agrega comandos de espaciado ad hoc, (probablemente) esté haciendo algo mal.

Y tenga en cuenta finalmente: si esto se usa para más de una instancia, no lo haría. Hazlo apropiadamente. Configure un tipo de lista: el pensamiento que tiene que hacer al configurarlo se amortiza una y otra vez con facilidad de uso y ausencia de errores.

Ambas alternativas se demuestran a continuación. Obviamente pondría la definición de la lista en el preámbulo en producción.

\documentclass{article}
\usepackage{enumitem}

\newcommand{\parsedescription}[2]{%
  \makebox[2.5cm][l]{#1}{#2}}

\begin{document}

\section{Hand rolled}

This is a hand-rolled version
\begin{itemize}
\item Output of scanner:
  \begin{enumerate}
\item\parsedescription{Identifier}{program}
\item\parsedescription{White\_Space}{' '}
\end{enumerate}
\end{itemize}

\section{Properly done}

And this is, much more semantically correct:

\newcounter{parsecounter}

\newlist{parse}{description}{1}
\setlist[parse]{style=sameline,
  labelwidth=3cm,
  leftmargin=!,
  labelindent=1em,
  font=\normalfont,
  before={%
    \setcounter{parsecounter}{0}%
    \renewcommand\makelabel[1]{%
      \stepcounter{parsecounter}%
      \arabic{parsecounter}.\enspace##1}}}


\begin{itemize}
\item Output of scanner:
  \begin{parse}
\item[Identifier]program
\item[White\_Space]' '
\end{parse}
\end{itemize}
\end{document}

Resultados de salida

Respuesta2

Si usar una tabla no es una opción para usted, siempre puede jugar manualmente con \phantomo \hphantom, \makeboxy \widthof, de los cuales este último lo proporciona elcalcpaquete. Entonces, para tener tu " debajo de la palabra 'programa', puedes hacer:

\documentclass{article}
\usepackage{calc}
\begin{document}
    \begin{enumerate}
        \item \makebox[\widthof{White\_Space}][l]{Identifier}\quad program
        \item White\_Space \quad \makebox[\widthof{program}]{''}
    \end{enumerate}
\end{document}

ingrese la descripción de la imagen aquí

Sin embargo, si la lista va a ser larga, considere utilizar el tabularentorno.

información relacionada