我正在使用这个简历模板:https://github.com/deedydas/Deedy-Resume
该模板使用 minipage 构建如下布局:
+-----------------+
| Header |
+------+----------+
| | |
| | |
| side | Body |
| bar | |
| | |
| | |
| | |
+------+----------+
使用:
\documentclass{article}
\begin{document}
\begin{minipage}[t]{0.33\textwidth}
Sidebar
\end{minipage}
\begin{minipage}[t]{0.66\textwidth}
Body
\end{minipage}
\end{document}
然而,如果主体太长,我最终会得到如下结果:
+-----------------+
| Header |
+-----------------+
~pagebreak~
+------+----------+
| | |
| side | Body |
| bar | |
| | |
| | |
| | |
+-----------------+
| Overflow |
| |
| |
+----------+
而不是这样:
+-----------------+
| Header |
+------+----------+
| | |
| | |
| side | Body |
| bar | |
| | |
| | |
| | |
+------+----------+
~pagebreak~
+----------+
| |
| |
| |
| |
+----------+
我知道小页面不是设计用来跨越多个页面的,但是有没有办法让这个模板在其他环境下工作?
谢谢 !
答案1
以下尝试tcolorbox
创建一个可破坏的框来包含正文小页面。侧边栏作为第一个框部分的覆盖添加。
代码如下:
\documentclass{article}
\usepackage[skins,breakable]{tcolorbox}
\usepackage{lipsum}% example texts
\begin{document}
\textcolor{red}{Header} % <------------------------
\lipsum[1]
\begin{tcolorbox}[
blanker,
width=0.64\textwidth,enlarge left by=0.36\textwidth,
before skip=6pt,
breakable,
overlay unbroken and first={%
\node[inner sep=0pt,outer sep=0pt,text width=0.33\textwidth,
align=none,
below right]
at ([xshift=-0.36\textwidth]frame.north west)
{%
\textcolor{red}{Sidebar} % <------------------------
\lipsum[2]
};}]
\textcolor{red}{Body}: % <------------------------
\lipsum[3-7]
\textcolor{red}{End of body}
\end{tcolorbox}
\end{document}
我标记了标题、侧边栏和正文的位置。输出是:
如果需要,可以将所有内容放入宏或环境中以获得更好的界面。
答案2
一个简单的解决方法是在第一个小页面之后立即启动第二个小页面。
%----------------------------------------------------------------------------------------
% SECOND PAGE (EXAMPLE)
%----------------------------------------------------------------------------------------
%\newpage % Start a new page
%\begin{minipage}[t]{0.33\textwidth} % The left column takes up 33% of the text width of the page
%\section{Example Section}
%\end{minipage} % The end of the left column
%\hfill
%\begin{minipage}[t]{0.66\textwidth} % The right column takes up 66% of the text width of the page
%\section{Example Section 2}
%\end{minipage} % The end of the right column
%----------------------------------------------------------------------------------------
答案3
flowfram
也可以帮助解决这种溢出情况:
\documentclass{article}
\usepackage[margin=.5in]{geometry}
\usepackage{flowfram,lipsum}
\newstaticframe[1]{\textwidth}{.25\textheight}{0pt}{.75\textheight}[top]
\newstaticframe[1]{.3\textwidth}{.72\textheight}{0pt}{0pt}[left]
\setallstaticframes{valign=t}
\newflowframe[1]{.65\textwidth}{.72\textheight}{.35\textwidth}{0pt}
\newflowframe[2]{.65\textwidth}{\textheight}{.35\textwidth}{0pt}
\pagestyle{empty}
\begin{document}
\begin{staticcontents*}{top}
\lipsum[1-2]
\end{staticcontents*}
\begin{staticcontents*}{left}
\raggedright\lipsum[3-4]
\end{staticcontents*}
\lipsum[1-10]% right column the can overflow
\end{document}
上述输出中显示的附加帧源于使用带星号的版本\newstaticframe*
和\newflowframe*
。