Получение двух таблиц в LaTeX с одинаковой (выровненной по правому краю) шириной столбца

у меня есть два очень коротких и последовательных раздела (для CV), каждый из которых содержит небольшую таблицу:

section{Work Experience}

begin{tabular}{r|p{11cm}}
Current & Your job at Your Company, Town 
Jan 2009 & What your company does 
& A description of what you do
multicolumn{2}{c}{} 
end{tabular}

section{Education}

begin{tabular}{r|p{11cm}}
Slightly wider first column & University, Town 
Jan 2009 & Thesis subject 
& A description of what you did
multicolumn{2}{c}{} 
end{tabular}

таким образом, каждая таблица имеет два столбца: первый, содержащий период, выровненный справа. Второй: дополнительная информация с определенной шириной, выровненной сверху (и слева).

на

5 ответов


если вы используете array пакет, вы можете положить \hfill в заголовке следующим образом, поэтому вам не нужно помнить, чтобы поместить его (или \parbox) в каждой строке.

\documentclass{article}
\usepackage{multicol}
\usepackage{array}
\begin{document}
\section{Work Experience}

\begin{tabular}{>{\hfill}p{5cm}|p{11cm}}
  Current & Your job at Your Company, Town \
  Jan 2009 & What your company does \
  & A description of what you do\
  \multicolumn{2}{c}{} 
\end{tabular}

\section{Education}

\begin{tabular}{>{\hfill}p{5cm}|p{11cm}}
  Slightly wider first column & University, Town \
  Jan 2009 & Thesis subject \
  & A description of what you did\
  \multicolumn{2}{c}{} 
\end{tabular}
\end{document}

дать:

alt текст http://www.freeimagehosting.net/uploads/5e29f675e3.jpg


вот вариант ответа @RTBarnard с использованием tabularx пакет:

\documentclass[a4paper,twoside,draft,12pt]{article}
\usepackage{tabularx}
\begin{document}

\section{Work Experience}

\begin{tabularx}{\textwidth}{>{\raggedleft}X|p{8cm}}
Current & Your job at Your Company, Town \
Jan 2009 & What your company does \
& A description of what you do\
\end{tabularx}

\section{Education}

\begin{tabularx}{\textwidth}{>{\raggedleft}X|p{8cm}}
Somewhat wider than first column, 
overflowing into additional lines & University, Town \
Jan 2009 & Thesis subject \
& A description of what you did\
\end{tabularx}
\end{document}

Примечания:

  1. почему tabularx? Потому что это часто легче узнать ширину, которую вы имеете доступный для всей таблицы, и позволить TeX вычислить неизвестное ширина столбца.
  2. первый параметр-общая ширина таблицы. Здесь я указал \textwidth чтобы заполнить ширину typeblock, но вы можете изменить это на любую меру, которая вам нужна.
  3. Я используется \raggedright, а не \hfill: если элемент перетекает во вторую строку,\hfill будет выравнивать только правую первую строку абзаца.
  4. был \multicol значительное? Я удалил его, чтобы сохранить ответ как можно более простым.

запуск с XeTeX под TeXLive.


вот одно из решений многих возможностей:

\begin{tabular}{r|p{11cm}}
\parbox{11cm}{\hfill Current} & Your job at Your Company, Town \
Jan 2009 & What your company does \
& A description of what you do\
\multicolumn{2}{c}{}\ 
\end{tabular}

в принципе, создать \parbox с нужной шириной и поставить \hfill в левом.


вы можете дать оба параметра p{width} и запустить каждую ячейку слева с помощью \hfill.


можно использовать array пакет, чтобы указать команду заполнения для каждой строки в первом столбце:

\begin{tabular}{>{\hfill}p{11cm}|p{11cm}|}

например:

\documentclass{article}
\usepackage{array}
\begin{document}

\begin{tabular}{>{\hfill}p{5cm}|p{11cm}|}
This is a test & test
\end{tabular}

\begin{tabular}{>{\hfill}p{5cm}|p{11cm}|}
Test & this is a test
\end{tabular}
\end{document}