A imagem incluída acima é o que desejo replicar - quero que o nome apareça no canto superior esquerdo e o endereço/id de e-mail no canto superior direito, e quero que ambos estejam alinhados com o corpo do texto.
A seguir está minha tentativa (o texto blá, blá está lá para demonstrar o problema de alinhamento) -
\documentclass[a4paper,10pt]{article}
\usepackage{a4wide}
\usepackage{color}
\usepackage{xcolor,mdframed}
\usepackage[hmargin=1cm,vmargin=1.5cm]{geometry}
\begin{document}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill} } l r }
\huge{\textbf{John Doe}} & Qtr D/40, Unit 12, Upper Kolkata\\
& (011) 2040-3455 [email protected]\\
\end{tabular*}
\bigskip
\begin{minipage}[c]{0.3\linewidth}
\begin{mdframed}[backgroundcolor=gray!10]
\bigskip
blah blah blah blah blah blah blah blah blah \
blah blah blah blah blah blah blah blah blah blah blah blah \
\bigskip
\end{mdframed}
\end{minipage}
\begin{minipage}[c]{0.2\linewidth}
\end{minipage}
\begin{minipage}[c]{0.6\linewidth}
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah
\end{minipage}
\end{document}
E o que eu ganho com isso é isso -
Como pode ser visto, o texto do endereço/id de e-mail à direita transborda e excede a margem do texto para o restante do documento.
Como faço para corrigir isso? Além disso, é uma boa ideia usar tabelas para esse tipo de layout? Qual é uma boa alternativa?
Desde já, obrigado.
Responder1
Eu sugiro evitar marcações explícitas, que são tediosas e sujeitas a erros.
Minha realização do cabeçalho usa tabular*
dois tabular
ambientes aninhados que garantem a centralização vertical como no original.
Para os dados pessoais, sugiro um data
ambiente que contenha tanto a parte esquerda quanto a parte direita, cada uma prefixada pelos comandos correspondentes. A largura da parte direita é calculada de uma vez por todas no início do documento e a largura da parte esquerda é calculada de acordo, deixando algum espaço pré-determinado (aqui dois ems).
\documentclass[a4paper,10pt]{article}
\usepackage[hmargin=1cm,vmargin=1.5cm,showframe]{geometry}
\usepackage{color}
\usepackage{xcolor,mdframed}
\newsavebox{\databox}
\newlength{\datawidth}
\AtBeginDocument{
\sbox{\databox}{%
\leftpart Mock text
\end{mdframed}\end{minipage}}
\setlength{\datawidth}{\wd\databox}
}
\newenvironment{data}
{\noindent\ignorespaces}
{\end{minipage}\par}
\newcommand{\leftpart}{%
\begin{minipage}{.3\textwidth}
\begin{mdframed}[
backgroundcolor=gray!10,
innertopmargin=\bigskipamount,
innerbottommargin=\bigskipamount]}
\newcommand{\rightpart}{%
\end{mdframed}
\end{minipage}\hfill
\begin{minipage}{\dimexpr\textwidth-2\tabcolsep-\datawidth}}
\begin{document}
\noindent%%% remember this
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill} } l r@{}}
\begin{tabular}{@{}l@{}}
\huge\bfseries John Doe
\end{tabular}
&
\begin{tabular}{@{}l@{}}
Qtr D/40, Unit 12, Upper Kolkata\\
(011) 2040-3455 [email protected]
\end{tabular}
\end{tabular*}
\bigskip
\begin{data}
\leftpart
blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah
\rightpart
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah
\end{data}
\end{document}
A showframe
opção é, obviamente, apenas para este exemplo. Nunca use o a4wide
pacote obsoleto.