Problem: I asked a question recently about putting a 2 column abstract and title within a 3 column document for which John Kormylo provided an answer that worked as intended followed by helpful comments. The issue I face when putting the code into my main document is two things: 1) The \columnsep lines extend fully down the page irrespective of how much content is on the page and 2) I cannot see a way to balance the columns and have the sep lines extend only to the end of the balanced text. My knowledge on flowfram is limited and I am not sure if this is possible, but ideally I would like for my literature reviews to resemble the second picture and not first if possible.
How it currently looks:
How I would like the balancing and line extensions to look if possible:
What I have tried: Admittedly, very little as I do not understand flowfram although I will have to at some point as the package is useful. I tried using the package flushend but after reading the documentation, this only applies to double columns.
MWE (courtesy of @John Kormylo):
\documentclass{article}
\usepackage[portrait,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-10]
\end{document}
I have no idea where to begin with this problem. I hope the community does not mind me asking a question for which I have not attempted serious solutions not involving simple packages such as flushend due to not understanding the flowfram package.
Edit 1: After reading the flowfram package annotated documentation pp. 180-181, it appears that
\insertvrule{flow}{\IDleft}{flow}{\IDright}
can be modified with optional arguments to extend the the vertical lines in the negative direction such as
\insertvrule[0pt][-18.3cm]{flow}{\IDleft}{flow}{\IDright}
which now gives:
This can be done manually if needs be but to modify my questions: 1) Is there a way for LaTeX to detect how far the text comes down the page without having to resort to manual distances guess (-18.3cm etc) and 2) is there a way to balance the triple columns within flowfram?



flushendandbalanceonly work on two columns! Might need to look at themulticol.sty file to see how that balances multiple columns, doesn't seem possible inflowfram. Thanks for the answers you have provided. – Mar 15 '22 at 18:17\newpage \noindent\on text until the columns are balanced. Not sure how to do this with bibliography entries if used but at least there is a method. – Mar 15 '22 at 20:04\AtBeginDocument, but no joy. – John Kormylo Mar 17 '22 at 16:09