列の内容をテキスト内の特定の文字 (たとえばダッシュ) に揃える方法はありますか?

列の内容をテキスト内の特定の文字 (たとえばダッシュ) に揃える方法はありますか?

履歴書にこのセクションを作成しようとしていますが、これらの表の内容をうまく揃える方法がわかりません。すべてを「|」または em ダッシュで揃えたいのですが。

これが現在のコードです。3 列のテーブルを作成します。

\usepackage{tabularx}

\begin{document}

\section*{LANGUAGES}
    \begin{tabularx}{1\textwidth}{
    >{\raggedright\arraybackslash}X 
   >{\raggedright\arraybackslash}X     
>{\raggedright\arraybackslash}X 
   }
      \textbf{English} (Native) & \textbf{French} & \textbf{Polish} \\ \\
      
    Speaking | \textit{Fluent} & Speaking | \textit{Limited} & Speaking | \textit{Proficient} \\ 
    
    Listening | \textit{Fluent} & Listening | \textit{Limited} & Listening | \textit{Proficient} \\ 
    
    Reading | \textit{Fluent} & Reading | \textit{Proficient} & Reading | \textit{Limited} \\ 
    
    Writing |  \textit{Fluent} & Writing | \textit{Intermediate} & Writing | \textit{Basic} \\
    \end{tabularx}

\end{document}

出力されるのは次のようになります。

私が今持っているもの

次のような出力をしたいです

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

すべてがダッシュに揃えられます (ただし、3 つの列すべてで実行されます)。

テーブル内でそれを実行する方法はありますか? テーブル内にサブテーブルを作成してこれを行うことはできますか? または、そのための何らかのパッケージがありますか?

答え1

でそれができますtabular*

\documentclass{article}
\usepackage{geometry}% for less generous margins

\begin{document}

\section*{LANGUAGES}

\noindent
\begin{tabular*}{\textwidth}{
  @{\extracolsep{\fill}}
  l @{\ ---\ \extracolsep{0pt}} l @{\extracolsep{\fill}}
  l @{\ ---\ \extracolsep{0pt}} l @{\extracolsep{\fill}}
  l @{\ ---\ \extracolsep{0pt}} l
  @{}
}
\multicolumn{2}{@{}l}{\textbf{English} (Native)} &
\multicolumn{2}{@{}l}{\textbf{French}} &
\multicolumn{2}{@{}l@{}}{\textbf{Polish}} \\[2ex]
Speaking & \textit{Fluent} & Speaking & \textit{Limited} & Speaking & \textit{Proficient} \\
Listening & \textit{Fluent} & Listening & \textit{Limited} & Listening & \textit{Proficient} \\
Reading & \textit{Fluent} & Reading & \textit{Proficient} & Reading & \textit{Limited} \\
Writing &  \textit{Fluent} & Writing & \textit{Intermediate} & Writing & \textit{Basic} \\
\end{tabular*}

\end{document}

ダッシュはないと入力します|。 が em ダッシュを生成する可能性があるという事実は|単なる偶然であり、たとえば、T1 エンコーディングを使用すると失敗します。 em ダッシュは と入力します---

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

答え2

の場合tabularx、右揃え - 左揃え:

\documentclass{article}
\usepackage{geometry}
\usepackage{tabularx}

\begin{document}
    \begin{tabularx}{\textwidth}{@{}
                                 *{3}{r @{\ ---\ }
                                    >{\raggedright\arraybackslash\itshape}X}
                                 @{}}
%
 \multicolumn{2}{l}{\textbf{English} (Native)} 
        &   \multicolumn{2}{l}{\textbf{French}} 
                &   \multicolumn{2}{l}{\textbf{Polish}}             \\[1ex]

Speaking    & Fluent    &   Speaking    & Limited       & Speaking  & Proficient    \\
Listening   & Fluent    &   Listening   & Limited       & Listening & Proficient    \\
Reading     & Fluent    &   Reading     & Proficient    & Reading   & Limited       \\
Writing     & Fluent    &   Writing     & Intermediate  & Writing   & Basic         \\
    \end{tabularx}
\end{document}

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

関連情報