ungleichmäßige Registerkarte zum Ausrichten von Text

ungleichmäßige Registerkarte zum Ausrichten von Text

Wie kann ich ausrichtenProgrammUnd''(Kommas) in derselben vertikalen Zeile war mein Code

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

Tab ist gerade

Antwort1

Wie Bubaya bemerkt, besteht eine Möglichkeit darin, das „Label“ in ein Feld mit einer festen Breite zu setzen, obwohl ich nicht mit Phantomen und dergleichen „herumspielen“ würde. Ich habe einen Befehl dafür definiert. Weitere Verfeinerungen (z. B. um die Breite automatisch auf Ihr längstes Label einzustellen) wären zweifellos wünschenswert.

Beachten Sie auch:

  • Wenn Sie eine Aufzählungsliste wünschen, würde ich um eine Aufzählungsliste bitten und die Beschriftung nicht manuell festlegen.
  • \quadIch kann das Hinzufügen von s, um nach der Artikelbezeichnung zusätzlichen Platz einzufügen, nicht gutheißen . Wenn die Liste nicht so ist, wie sie sein sollte, ändern Sie \labelsepund (falls nötig) \labelwidth. Immer wenn Sie Ad-hoc-Abstandsbefehle hinzufügen, machen Sie (wahrscheinlich) etwas falsch.

Und zum Schluss noch ein Hinweis: Wenn dies mehr als einmal verwendet wird, würde ich es nicht tun. Machen Sie es richtig. Richten Sie einen Listentyp ein: Die Überlegungen, die Sie bei der Einrichtung anstellen müssen, zahlen sich immer wieder durch Benutzerfreundlichkeit und Fehlerfreiheit aus.

Beide Alternativen werden unten demonstriert. In der Produktion würde ich die Listendefinition natürlich in die Präambel setzen.

\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}

Ausgabeergebnisse

Antwort2

\phantomWenn die Verwendung einer Tabelle für Sie keine Option ist, können Sie immer manuell mit oder \hphantom, \makeboxund herumspielen \widthof, wobei letzteres von dercalcPaket. Um also Ihr " unter dem Wort 'Programm' zu haben, können Sie Folgendes tun:

\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}

Bildbeschreibung hier eingeben

Wenn es sich jedoch um eine lange Liste handeln soll, sollten Sie die Verwendung der tabularUmgebung in Betracht ziehen.

verwandte Informationen