修复与文本其余部分的对齐

修复与文本其余部分的对齐

在此处输入图片描述

上面包含的图像是我想要复制的 - 我希望名称出现在左上角,地址/电子邮件 ID 出现在右上角,并且我希望它们都与正文对齐。

以下是我的尝试(其中的废话是为了演示对齐问题) -

\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}

我的收获是:

在此处输入图片描述

可以看出,右侧的地址/电子邮件 ID 文本溢出并超出了文档其余部分的文本边距。

我该如何修复它?另外,使用表格进行这种布局是个好主意吗?有什么好的替代方案吗?

提前致谢。

答案1

我建议避免使用明确的标记,因为这很繁琐而且容易出错。

我对标题的实现使用了tabular*两个嵌套tabular环境,以确保与原始标题一样垂直居中。

对于个人数据,我建议使用一个data包含左半部分和右半部分的环境,每个部分都以相应的命令作为前缀。右半部分的宽度在文档开头一次性计算出来,左半部分的宽度也相应地计算出来,留下一些预定的空间(这里是 2 em)。

\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}

当然,这个showframe选项仅用于此示例。切勿使用过时的a4wide软件包。

在此处输入图片描述

相关内容