如何制作跨多个页面的迷你页面

如何制作跨多个页面的迷你页面

我正在使用这个简历模板: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*

相关内容