我正在尝试在一列文档中写简历,其中员工的描述出现在相邻列中的照片旁边。我试图让图片与简历描述完美对齐,这样我就不必进行大量的手动调整和填充。中间分页符会使这更容易,可惜,我认为它不存在。
如何控制文本或图像在列中显示的位置,而不会被上方的内容挤到下方?例如,无论上方的内容如何,图像都会出现在列的中间位置。
编辑:这是我一直在使用的代码:
\documentclass[twocolumn,12pt,mysize]{Article}
\usepackage{multicol}
\begin{document}
\large\textbf{Person 1 Bio}\\\normalsize
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmodtempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est laborum..\medskip
%Ideally this would be the midcolumn break.
\begin{center}
\includegraphics[width=6cm]{../pictures/Person_2_Bio_Pic.png}
\end{center}
\newpage %column really
\begin{center}
\includegraphics[width=6cm]{../pictures/Person_1_Bio_Pic.png}
\end{center}
%Second midcolumn break.
\large\textbf{Person 2 Bio}\\\normalsize
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed doeiusmodtempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,
sunt in culpa qui officia deserunt mollit anim id est laborum..\medskip
我正在尝试交错排列他们的简历和照片:
第 1 列 - 第 2 列
人物 1 个人简介 - 人物 1 照片
人物 2 图片 - 人物 2 简历
我最头疼的事情就是让底部的图片和简历保持在固定的位置,而顶部的简历和图片不会强迫它们向下。
答案1
以下解决方案使用mdframed
允许分页。bio
环境具有强制参数,即包含与描述相关的图像的文件的名称。
我将该hidealllines=true
选项注释掉,只为了在环境周围显示一个框架,以清楚地表明允许分页符;只需取消注释该行即可隐藏框架;根据您的需要调整使用的长度:
\documentclass{article}
\usepackage[a5paper]{geometry}% just for the example
\usepackage{graphicx}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}% just to generate text for the example
\newmdenv[
innerleftmargin=4cm,
singleextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
firstextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
%hidealllines=true
]{mbio}
\newenvironment{bio}[1]
{\gdef\file{#1}\begin{mbio}}
{\end{mbio}}
\begin{document}
\begin{bio}{ctanlion}
\lipsum[2]
\end{bio}
\begin{bio}{ctanlion}
\lipsum[4-5]
\end{bio}
\begin{bio}{ctanlion}
\lipsum[2]
\end{bio}
\end{document}
对问题进行编辑后,可以使用两个类似的环境:lbio
用于左侧的图像和右侧的描述,以及rbio
用于右侧的图像和左侧的描述:
\documentclass{article}
\usepackage[a5paper]{geometry}% just for the example
\usepackage{graphicx}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}% just to generate text for the example
\newmdenv[
innerleftmargin=4cm,
singleextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
firstextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
hidealllines=true
]{mlbio}
\newmdenv[
innerrightmargin=4cm,
singleextra={
\node[anchor=north east] at (P) {\includegraphics[width=3cm]{\file}};
},
firstextra={
\node[anchor=north east] at (P) {\includegraphics[width=3cm]{\file}};
},
hidealllines=true
]{mrbio}
\newenvironment{lbio}[1]
{\gdef\file{#1}\begin{mlbio}}
{\end{mlbio}}
\newenvironment{rbio}[1]
{\gdef\file{#1}\begin{mrbio}}
{\end{mrbio}}
\begin{document}
\begin{lbio}{ctanlion}
\lipsum[2]
\end{lbio}
\begin{rbio}{ctanlion}
\lipsum[2]
\end{rbio}
\end{document}
在另一条评论中,有人要求两列具有相同的宽度(并且可能有一些简单的方法来控制它们之间的间隔)。这可以通过对我之前的代码进行一些修改来实现;新定义的\mysep
长度控制间隔(默认值= 8pt
):
\documentclass{article}
\usepackage{geometry}% just for the example
\usepackage{graphicx}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{lipsum}% just to generate text for the example
% A length to control the separation between columns
\newlength\mysep
\setlength\mysep{8pt}
\newmdenv[
innerleftmargin={\dimexpr0.5\textwidth+0.5\mysep\relax},
singleextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
firstextra={
\node[anchor=north west] at (P-|O) {\includegraphics[width=3cm]{\file}};
},
hidealllines=true
]{mlbio}
\newmdenv[
innerrightmargin={\dimexpr0.5\textwidth+0.5\mysep\relax},
singleextra={
\node[anchor=north east] at (P) {\includegraphics[width=3cm]{\file}};
},
firstextra={
\node[anchor=north east] at (P) {\includegraphics[width=3cm]{\file}};
},
hidealllines=true
]{mrbio}
\newenvironment{lbio}[1]
{\gdef\file{#1}\begin{mlbio}}
{\end{mlbio}}
\newenvironment{rbio}[1]
{\gdef\file{#1}\begin{mrbio}}
{\end{mrbio}}
\begin{document}
\begin{lbio}{ctanlion}
\lipsum[2]
\end{lbio}
\begin{rbio}{ctanlion}
\lipsum[2]
\end{rbio}
\begin{lbio}{ctanlion}
\lipsum[2]
\end{lbio}
\end{document}
CTAN 狮子绘画由 Duane Bibby 绘制。
答案2
如果我理解正确的话,下面的解决方案应该很适合您。尝试一下,看看它是否适合您。
编辑:此解决方案不允许在我的自定义photobio
环境中进行分页。请参阅Gonzalo Medina 的解决方案为了那个原因。
\documentclass{article}
\usepackage[margin=3cm]{geometry}
\usepackage{kantlipsum}
\newenvironment{photobio}{% custom environment for biographies
\setlength{\parindent}{0pt}
\begin{minipage}[t]{0.25\textwidth}
\vspace{0pt}
\newcommand\bio{% splits the photobio environment in two parts (photo & bio)
\end{minipage}\hspace{\fill}%
\begin{minipage}[t]{0.70\textwidth}
\vspace{0pt}
}
}{%
\end{minipage}\\[\baselineskip]
}
\newcommand\myphoto{\rule{2cm}{2cm}}
\begin{document}
\begin{photobio}
\myphoto
\bio
\kant[1]
\end{photobio}
%
\begin{photobio}
\myphoto
\bio
\kant[2]
\end{photobio}
%
\begin{photobio}
\myphoto
\bio
\kant[3]
\end{photobio}
\end{document}