テキストの残りの部分との配置を修正する

テキストの残りの部分との配置を修正する

ここに画像の説明を入力してください

上記の画像は私が再現したいものです。名前を左上に、アドレス/メール ID を右上に表示し、両方をテキストの本文に揃えたいのです。

以下は私の試みです(blah blah テキストは配置の問題を示すためにあります) -

\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*2 つのネストされた環境を使用します。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パッケージは絶対に使用しないでください。

ここに画像の説明を入力してください

関連情報