Ottenere due tabelle in LaTeX per avere lo stesso (allineato a destra) larghezza della colonna
Domanda
Ho due sezioni molto brevi e consecutive (per un CV), ciascuno contenente un tavolino:
\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}
Quindi, ogni tavolo ha due colonne: la prima contenente il periodo, allineato a destra. La seconda:. Un po 'di informazioni con una certa larghezza, superiore (e di sinistra) allineate
Il problema è che la larghezza della colonna di sinistra nelle due tabelle è diverso, e non sembra bello dato sezioni (quindi tabelle) sono consecutivi ed in una sola pagina. Non posso dare r
una larghezza simile p
:
\begin{tabular}{r{11cm}|p{11cm}}
non funziona. Come posso ottenere le larghezze delle prime colonne dei due tavoli la stessa lunghezza pur avendo anche loro diritto allineati?
Modifica Grazie per le risposte, tutto il lavoro per me, così ho upvoted tutti loro, e accettato quello che mi piaceva di più (e più upvoted), in quanto non si dispone di secondo il \hfill
in ogni riga. Tuttavia, se non si desidera utilizzare il array pacchetto per qualsiasi motivo, poi le altre soluzioni sono anche grandi.
Soluzione
Se si utilizza il pacchetto array
, si può mettere la \hfill
nell'intestazione come segue, in modo da non dover ricordarsi di mettere (o un \parbox
) in ogni riga.
\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}
per dare:
alt text http://www.freeimagehosting.net/uploads/5e29f675e3.jpg
Altri suggerimenti
Ecco una variante del @ di RTBarnard risposta utilizzando il pacchetto 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}
Note:
- Perché
tabularx
? Perché è spesso più facile sapere la larghezza di avere disponibile per l'intera tabella, e per far TeX calcolare l'ignoto larghezza delle colonne. - Il primo parametro è la larghezza complessiva della tabella. Qui, ho specificato
\textwidth
per riempire la larghezza del typeblock, ma si può cambiare la situazione a qualsiasi misura che serve. - Ho usato
\raggedright
piuttosto che\hfill
:. Se l'articolo scorre su una seconda riga,\hfill
sarà doveroso-allineare la prima riga del paragrafo - il
\multicol
è stato significativo? Ho rimosso per mantenere la risposta più semplice possibile.
Corri con XeTeX sotto TeXLive.
Ecco una soluzione di molte possibilità:
\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}
Fondamentalmente, creare un \parbox
con la larghezza desiderata e porre \hfill
a sinistra.
Si può dare sia p {width} opzioni, e iniziare ogni cella in un \hfill
sinistra.
È possibile utilizzare il pacchetto array
per specificare un comando di riempimento per ogni riga nella prima colonna:
\begin{tabular}{>{\hfill}p{11cm}|p{11cm}|}
Ad esempio:
\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}