위에 포함된 이미지는 제가 복제하고 싶은 이미지입니다. 이름은 왼쪽 상단에, 주소/이메일 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
왼쪽 부분과 오른쪽 부분을 모두 포함하고 각 부분에 해당 명령이 접두어로 붙는 환경을 제안합니다. 오른쪽 부분의 너비는 문서의 시작 부분에서 한 번만 계산되고 왼쪽 부분의 너비는 그에 따라 계산되어 미리 결정된 공간(여기서는 두 개의 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
.