我正在嘗試為我的簡歷創建此部分,但我不知道如何很好地對齊這些表格內容。我希望它們都在“|”處對齊或破折號。
這是我現在的程式碼。它會建立一個包含 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}
請注意,破折號是不是輸入為|
.|
可能產生破折號的事實只是偶然的,例如,如果您使用 T1 編碼,它就會失敗。長破折號輸入為---
。
答案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}