テキストを揃えるための不均等なタブ

テキストを揃えるための不均等なタブ

どのように調整すればよいですかプログラムそして''(カンマ)同じ縦線に私のコードは

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

タブは偶数

答え1

Bubaya が指摘しているように、1 つの可能性は「ラベル」を固定幅のボックスに配置することですが、ファントムなどを「いじる」ことはしません。これを行うためのコマンドを定義しました。さらに改良を加える (たとえば、幅を最長のラベルに自動的に設定する) ことが望ましいことは間違いありません。

また、次の点にも注意してください:

  • 列挙リストが必要な場合は、ラベルを手動で設定するのではなく、列挙リストを要求します。
  • アイテム ラベルの後に余分なスペースを入れるために sを追加することは承認できません\quad。リストが期待どおりでない場合は、\labelsepと (必要な場合)を変更します\labelwidth。アドホックなスペース コマンドを追加するときは常に、(おそらく) 何か間違ったことをしています。

最後に注意: これを複数のインスタンスで使用する場合は、実行しないでください。適切に実行してください。リスト型を設定します。設定時に考慮する必要があることは、使いやすさとエラーのなさという点で、何度も報われます。

両方の代替案を以下に示します。当然ながら、本番環境ではリスト定義をプリアンブルに配置します。

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

出力結果

答え2

テーブルの使用が選択肢にない場合は、\phantomまたは、を手動で調整することができます\hphantom。後者は\makebox\widthofcalcパッケージ。したがって、「program」という単語の下に「」を配置するには、次のようにします。

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

ここに画像の説明を入力してください

ただし、リストが長くなる場合は、tabular環境の使用を検討してください。

関連情報