Я пытаюсь создать этот раздел для своего резюме, но не могу понять, как красиво выровнять содержимое таблицы. Я хочу, чтобы они все были выровнены по "|" или длинному тире.
Вот такой у меня сейчас код. Он создает таблицу с 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}
Вот что он выводит.
Я бы хотел, чтобы он вывел что-то вроде этого
Где все выровнено по тире (но сделано во всех трех столбцах).
Есть ли способ сделать это внутри таблицы? Могу ли я сделать подтаблицы внутри таблиц, чтобы сделать это, или есть какой-то пакет для этого?
решение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}