多列环境中 3 列文档中的 2 列摘要和标题

多列环境中 3 列文档中的 2 列摘要和标题

可能重复的语句:我知道这个问题被问到9 年前但答案无法在我的主文档中编译,包flowfram可能已过时,我的问题还涉及尊重边界的文本minipage,因此希望这足够原创而不是重复。

问题:我正在尝试使用 LaTeX(科学,如第一张图片所示)复制期刊文章格式,但我很难获得双栏摘要和标题,同时允许第三栏自然延续。从文档属性来看,Polizzi 文章是使用 Arbortext Advanced Print Publisher 创建的,我无法使用它。我的目的是为我的博士论文制作美观的文献综述,虽然我可以使用 word 或通用的,但我非常在意外观。

科学文章

我已尝试过:起初,我尝试仅使用第一列来包含信息,但结果与标题不太好(已删除 MWE 的摘要格式):

3 列,1 列摘要

接下来,我尝试使用minipage如下方法:

\begin{minipage}{2\linewidth}
\maketitle
\end{minipage}

由此产生了如下结果:

使用 minipage 2\linewidth

在搜索网站并发现这个问题(也是我的问题)来自 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}

相关内容