可能重复的语句:我知道这个问题被问到9 年前但答案无法在我的主文档中编译,包flowfram
可能已过时,我的问题还涉及尊重边界的文本minipage
,因此希望这足够原创而不是重复。
问题:我正在尝试使用 LaTeX(科学,如第一张图片所示)复制期刊文章格式,但我很难获得双栏摘要和标题,同时允许第三栏自然延续。从文档属性来看,Polizzi 文章是使用 Arbortext Advanced Print Publisher 创建的,我无法使用它。我的目的是为我的博士论文制作美观的文献综述,虽然我可以使用 word 或通用的,但我非常在意外观。
我已尝试过:起初,我尝试仅使用第一列来包含信息,但结果与标题不太好(已删除 MWE 的摘要格式):
接下来,我尝试使用minipage
如下方法:
\begin{minipage}{2\linewidth}
\maketitle
\end{minipage}
由此产生了如下结果:
在搜索网站并发现这个问题(也是我的问题)来自 9 年前,Werner 的回答涉及到包的使用flowfram
,虽然它在该示例中起作用,但无法在我的实际文档中编译,而且看起来需要学习。
问题:是否可以minipage
尊重主文本边界或环绕它以使文本不重叠?如果不能,是否可以有两列跨越摘要和标题,同时让文本在第三列中自由流动,因为 9 年前 Werner 的答案可能已经过时了,或者是否有任何新的软件包可以满足这一要求?
梅威瑟:
\documentclass[10pt]{article}
\usepackage[a4paper,margin=1.5cm,columnsep=20pt]{geometry}
\usepackage{abstract,lipsum,multicol,titling}
\title{\lipsum[1][1]}
\author{%
{\normalsize\bfseries Author Name} \\[1ex]
\normalsize University Name \\
}
\date{\today}
\renewcommand{\maketitlehookd}{%
\vspace{0cm}
\begin{abstract}
\noindent \lipsum[1][1-3] \smallskip
\end{abstract}
}
\setlength{\columnseprule}{0.05pt}
\begin{document}
\begin{multicols}{3}
\maketitle
\section{Title}
\lipsum[1-2]
\section{Title}
\lipsum[1-2]
\section{Title}
\lipsum[1-2]
\end{multicols}
\end{document}
答案1
这使用链接的 flowfram 解决方案,但允许可变大小的标题。具体来说,抽象环境(现在放置在序言中)执行所有格式化\maketitle
并将整个内容存储在保存框中,然后使用该保存框计算 flowfram 所需的大小。
\thanks
并且\footnote
位于小页面内并将出现在标题/摘要的底部。
\documentclass{article}
\usepackage[landscape,margin=1cm]{geometry}% http://ctan.org/pkg/geometry
\usepackage{flowfram}% http://ctan.org/pkg/flowfram
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\newsavebox{\titlebox}
\setlength{\columnwidth}{\dimexpr \textwidth-2\columnsep}
\divide\columnwidth by 3
\makeatletter
\renewenvironment{abstract}{\begin{lrbox}{\titlebox}% \maketitle inside \titlebox
\begin{minipage}{\dimexpr 2\columnwidth+\columnsep}%
\@twocolumntrue
\maketitle
\small
\begin{center}%
{\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
\end{center}
\itshape}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BODY
{\bigskip
\end{minipage}%
\end{lrbox}%
\global\setbox\titlebox=\copy\titlebox
}
\makeatother
\title{\lipsum[1][1]}% must go before abstract
\author{%
{\normalsize\bfseries Author Name} \\[1ex]
\normalsize University Name \\
}
\date{\today}
\begin{abstract}% must go before flowfram setup
\noindent \lipsum[1][1-3]
\end{abstract}
% First page setup
\newstaticframe[1]{\dimexpr 2\columnwidth+\columnsep}{\dimexpr \ht\titlebox+\dp\titlebox}
{0pt}{\dimexpr \textheight-\ht\titlebox-\dp\titlebox}[titleabstract]
\newflowframe[1]{\columnwidth}{\dimexpr \textheight-\ht\titlebox-\dp\titlebox}
{0pt}{0pt}[shortleftcolumn]
\newflowframe[1]{\columnwidth}{\dimexpr \textheight-\ht\titlebox-\dp\titlebox}
{\dimexpr \columnwidth+\columnsep}{0pt}[shortcentercolumn]
% Subsequent pages setup
\newflowframe[>1]{\columnwidth}{\textheight}
{0pt}{0pt}[leftcolumn]
\newflowframe[>1]{\columnwidth}{\textheight}
{\dimexpr \columnwidth+\columnsep}{0pt}[centercolumn]
\newflowframe{\columnwidth}{\textheight}
{\dimexpr \textwidth-\columnwidth}{0pt}[rightcolumn]
\begin{staticcontents*}{titleabstract}
\box\titlebox
\end{staticcontents*}
% draw rules
\getflowid{\IDleft}{shortleftcolumn}
\getflowid{\IDright}{shortcentercolumn}
\insertvrule{flow}{\IDleft}{flow}{\IDright}
\let\IDleft=\IDright
\getflowid{\IDright}{rightcolumn}
\insertvrule{flow}{\IDleft}{flow}{\IDright}
\getflowid{\IDleft}{leftcolumn}
\getflowid{\IDright}{centercolumn}
\insertvrule{flow}{\IDleft}{flow}{\IDright}
\let\IDleft=\IDright
\getflowid{\IDright}{rightcolumn}
\insertvrule{flow}{\IDleft}{flow}{\IDright}
\begin{document}
\lipsum[1-30]
\end{document}