텍스트의 특정 문자(예: 대시)에 열 내용을 정렬하는 방법이 있습니까?

텍스트의 특정 문자(예: 대시)에 열 내용을 정렬하는 방법이 있습니까?

내 이력서에 이 섹션을 만들려고 하는데 이러한 표 내용을 적절하게 정렬하는 방법을 알 수 없습니다. 나는 그것들을 모두 "|"에 정렬하고 싶습니다. 또는 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-dash는 다음과 같습니다.~ 아니다로 입력합니다 |. em-dash를 생성할 수 있다는 사실은 |부수적인 것이며, 예를 들어 T1 인코딩을 사용하면 실패할 것입니다. em-dash는 로 입력됩니다 ---.

여기에 이미지 설명을 입력하세요

답변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}

여기에 이미지 설명을 입력하세요

관련 정보