\documentclass{article}
\usepackage[fleqn]{amsmath}
\usepackage[
    web={centertitlepage,designv,forcolorpaper,tight*,latextoc,pro},
    eforms,aebxmp
]{aeb_pro}
\usepackage{graphicx,array,fancyvrb}
\usepackage{aeb_mlink}
%\usepackage{myriadpro}
%\usepackage{calibri}
\usepackage[altbullet]{lucidbry}

\usepackage[!viewMagWin,!preview]{artthreads}
\usepackage{lipsum,multicol}
\raggedcolumns

%\previewOn\pmpvOn

\makeatletter
\renewenvironment{quote}[1][]
   {\def\@rgi{#1}\ifx\@rgi\@empty
    \let\rghtm\@empty\else\def\rghtm{\rightmargin\leftmargin}\fi
    \list{}{\rghtm} %{\rightmargin\leftmargin}%
    \item\relax}
   {\endlist}
\makeatother
\renewcommand{\hproportionwebtitle}{.8}

%\usepackage{makeidx}
%\makeindex
\usepackage{acroman}
\usepackage[active]{srcltx}

\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{\raisebox{#1}{\parbox{\marginparwidth}{\slshape\raggedleft\small#2}}}}
\addtolength{\marginparwidth}{1in}

\let\uif\textsf

\leftmargini\amtIndent\relax

\urlstyle{tt}

\DeclareDocInfo
{
    university={\AcroTeX.Net},
    title={The \textsf{artthreads} Package
    \texorpdfstring{\\[1ex]\Large}{: }Creating article threads for multi-column documents},
    author={D. P. Story},
    email={dpstory@acrotex.net},
    subject=Documentation for artthreads package,
    talksite={\url{www.acrotex.net}},
    version={1.3.1, 2020/07/09},
    Keywords={LaTeX, article threads, multi-column documents, AcroTeX},
    copyrightStatus=True,
    copyrightNotice={Copyright (C) \the\year, D. P. Story},
    copyrightInfoURL={http://www.acrotex.net}
}

\universityLayout{fontsize=Large}
\titleLayout{fontsize=LARGE}
\authorLayout{fontsize=Large}
\tocLayout{fontsize=Large,color=aeb}
\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
\subsectionLayout{indent=-31.25pt,color=aeb}
\subsubsectionLayout{indent=0pt,color=aeb}
\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}

\optionalPageMatter{%
\setThreadInfo{title=Stop!,author=D. P. Story,
    subject=Some early advice,keywords={AeB, PDF, LaTeX}}%
\begin{center}
\fcolorbox{blue}{webyellow}{%\previewOn
\begin{minipage}{.67\linewidth}%
\bArticle{lift=\baselineskip-1pt,shift=-\fboxsep-\fboxrule,width=\linewidth+2\fboxsep+2\fboxrule,height=13\baselineskip+\fboxsep+6pt}%
\textbf{\textcolor{red}{Stop!}} Before you read this documentation, take a
moment to change your preferences: On your menu system of \app{Adobe
Acrobat/Reader}, select
\textsf{Edit\,>\,\penalty0Preferences\,>\,\penalty0General}, and \emph{clear
the checkbox} for the item named \textsf{Make Hand tool select text \&
images}, as listed under \textsf{Basic Tools} on that dialog box.
(\textsf{Ctrl+K} or \textsf{Command+K} is the shortcut to the \textsf{Preferences}
dialog box on \app{Windows} or \app{Mac OS}, respectively.) This makes
reading an article thread much easier. Look for the hand icon with a down
arrow on it.\medskip

Article threads are an \app{Adobe Reader}/\app{Acrobat} feature. To my knowledge, they
have not been implemented in any other PDF viewer. So, a PDF containing article threads
must be viewed in \app{Adobe Reader} or \app{Acrobat}\hfill\dps
\end{minipage}}
\end{center}
}

\def\bART{\placeImage{Art-Start}{10bp}{10bp}}
\def\cART{\placeImage{Art-Down}{10bp}{10bp}}
\def\rART{\placeImage{Art-Up}{10bp}{10bp}}
\def\eART{\placeImage{Art-End}{10bp}{10bp}}
\def\bARTDC{\placeImage{Art-StartDC}{10bp}{10bp}}
\def\cARTDC{\placeImage{Art-DownDC}{10bp}{10bp}}
\def\rARTDC{\placeImage{Art-UpDC}{10bp}{10bp}}
\def\eARTDC{\placeImage{Art-EndDC}{10bp}{10bp}}


\declareMultiImages
{%
    {path=article_icons.pdf,page=0,placement={Art-Start}}
    {path=article_icons.pdf,page=1,placement={Art-Down}}
    {path=article_icons.pdf,page=2,placement={Art-Up}}
    {path=article_icons.pdf,page=3,placement={Art-End}}
% New DC icons
    {path=article_icons.pdf,page=4,placement={Art-StartDC}}
    {path=article_icons.pdf,page=5,placement={Art-DownDC}}
    {path=article_icons.pdf,page=6,placement={Art-UpDC}}
    {path=article_icons.pdf,page=7,placement={Art-EndDC}}
}
%\begin{docassembly}
%\insertPreDocAssembly
%\addWatermarkFromFile({
%    bOnTop:false,
%    cDIPath:"C:/Users/Public/Documents/ManualBGs/Manual_BG_Print_AeB.pdf"
%});
%\executeSave();
%\end{docassembly}

\chngDocObjectTo{\newDO}{doc}
\begin{docassembly}
\insertPreDocAssembly
var titleOfManual="The artthreads Package";
var manualfilename="Manual_BG_Print_artthreads.pdf";
var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
var doc;
var buildIt=false;
if ( buildIt ) {
    console.println("Creating new " + manualfilename + " file.");
    doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
    var _path=this.path;
    var pos=_path.lastIndexOf("/");
    _path=_path.substring(0,pos)+"/"+manualfilename;
    \docSaveAs\newDO ({ cPath: _path });
    doc.closeDoc();
    doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
    f=doc.getField("ManualTitle");
    f.value=titleOfManual;
    doc.flattenPages();
    \docSaveAs\newDO({ cPath: manualfilename });
    doc.closeDoc();
} else {
    console.println("Using the current "+manualfilename+" file.");
}
var _path=this.path;
var pos=_path.lastIndexOf("/");
_path=_path.substring(0,pos)+"/"+manualfilename;
\addWatermarkFromFile({
    bOnTop:false,
    bOnPrint:false,
    cDIPath:_path
});
\executeSave();
\end{docassembly}

\begin{document}


\maketitle

\selectColors{linkColor=black}
\tableofcontents
\selectColors{linkColor=webgreen}

\setAddToBorder{addtow=5bp,addtoh=0bp}

%\newcommand\showArtPanel[1][Article]{\pushButton[
%    \CA{#1}\A{\Named{ArticleThreads}
%    \Next{/S/Thread /D(\threadTitle)}}]{Btn}{}{11bp}}


\section{Introduction}

\setThreadInfo{title=Introduction,author=D. P. Story,
    subject=Introduction to article threads,keywords={AeB, PDF, LaTeX}}%


%\makebox[0pt][r]{\showArtPanel[Intro]\relax\kern11bp}%
%\showArticlePaneRead
%\showArticlePaneRead[\CA{Intro}]{}{11bp}

\begin{multicols}{2}
\noindent\makebox[0pt][r]{\pushButton[\CA{Intro}\A{\Thread{Introduction}}]{BtnIntro}{}{11bp}\kern11bp}%
\bArticle{lift=\baselineskip,width=\linewidth,height=2.5in}%
\noindent Through the commands of the \pkg{artthreads} package, you can
create \textit{article threads}, a concept/feature of \app{Adobe
Reader/Acrobat} that has been around since the product's beginning. The use
of article threads typically only makes sense in a document in which the text
is in a multi-column format, or, perhaps, a single narrow column.

When a document uses a multiple column format, it is often difficult, or at
the very least inconvenient, to read it. When document page is fit into the viewing
window, the text may be too small to read. This requires the reader, that's
you, to adjust the magnification (zoom) level of the page to fit a column of
text comfortably in the application window.\vadjust{\noindent
\cArticle{lift=2\baselineskip,width=\linewidth,height=2.5in}}
Once the column is fitted, additional navigation is needed to move the window
view down one column, then up to the top of the next column. Think of trying
to read a digital newspaper with many columns. Such navigation is tedious and
distracts from reading the information being presented.

Set the article threads after the composition of the document is completed.
The method of setting the threads is \emph{very visual} not automatic as in
the \pkg{threadcol} package of Scott Patkin.

\end{multicols}

\section{Navigating an article thread}

\setThreadInfo{title=Navigation,author=D. P. Story,
    subject=Navigation to article threads,keywords={AeB, PDF, LaTeX}}%

%\makebox[0pt][r]{\showArtPanel[Navigate]\kern11bp}%
%\showArticlePaneRead[\CA{Navigate}]{}{11bp}

\begin{multicols}{2}
\noindent\makebox[0pt][r]{\pushButton[\CA{Navigate}\A{\Thread{Navigation}}]{BtnNavi}{}{11bp}\kern11bp}%
\bArticle{lift=\baselineskip,width=\linewidth,height=4.2in}%
\noindent Perhaps you've noticed the `Intro' button on exhibit in this
previous section or the `Navigate' button in this section as well. Clicking
these buttons reveals the \mlsetLink[\linktxtcolor{red}\A{\shArticlesPaneActn}]{\kern0pt\sffamily Articles \normalfont panel} in the left-hand navigation
pane. Listed there are all the articles created for this documentation.
Right-clicking on any of the listed article names brings up a context menu;
select \textsf{Read Article} to begin reading or choose \textsf{Properties}
to see the thread info, which (may) include the title, author, subject, and
keywords.

\paragraph*{Begin an article thread.} There are two of ways to begin
reading a thread: (1)~first open the \textsf{Article} pane
(\textsf{View\,\penalty0>\penalty0\,\penalty0Show/Hide\,\penalty0>\,\penalty0Navigation
Panes\,>\,Articles}), left-click an article title and select \textsf{Read
Article}, or simple double-click an article title; or (2) place your mouse
pointer over text, if it changes to a hand with an arrow on it (\bART), the text is
part of an article thread, simply click on it to begin.

\paragraph*{Navigating a thread.} Once you have initiated \textsf{Read
Article}, you can navigate through the article thread using any of the
following methods\vadjust{\noindent
\cArticle{lift=2\baselineskip,width=\linewidth,height=4.2in}}: (1)~click in
an area when the mouse is a hand icon with an arrow on it (\cART) to move forward
(shift-click to move back (\rART)); (2) press the \textsf{Enter} key to move forward
(or shift+\textsf{Enter} to move back); or (3) the page down (or page up)
keys will also move you around within the thread. At the end of the thread, you'll
see this hand icon \eART.

There may be problems in getting the hand icon with the arrow on it to
appear, if this is the case, open the \textsf{Preferences} menu,
\textsf{Edit\,>\,\penalty0Preferences\,>\,\penalty0General}, and \emph{clear
the checkbox} for the item named \textsf{Make Hand tool select text \&
images}, as listed under \textsf{Basic Tools} on that dialog box.
(\textsf{Ctrl+K} or \textsf{Command+K} is the shortcut to the Preferences
dialog box on \app{Windows} and \app{Mac OS}, respectively.)

\paragraph*{Exploring threads.} Now that you have explored the operation of
article threads and see how they work, the next thing to do is to see how
they are created with the \pkg{artthreads} package.
\end{multicols}

It should be noted that in recent versions of \app{DC}, the thread icons are
changed from \bART, \cART, \rART, and {\eART} to \bARTDC, \cARTDC,
\rARTDC, and \eARTDC, respectively.

\section{Creating article threads}

We begin by including the \pkg{artthreads} package in your document.
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\usepackage[!ameta(options)]{artthreads}
\end{Verbatim}
The \pkg{artthreads} package brings in the \pkg{fitr} package
(\url{http://ctan.org/pkg/fitr}), many commands from that package are used.
All options of \pkg{artthreads} are passed to \pkg{fitr}.

\setThreadInfo{title=Package options,author=D. P. Story,
    subject=options of the artthreads package,keywords={AeB, PDF, LaTeX}}%


\paragraph*{Package options.}
The package has ten options: six driver options and four viewing
options.
\begin{multicols}{2}\previewOn\viewMagWinOn
\setAddToBorder{addtow=10bp,addtoh=10bp}
\begin{itemize}
\item \bArticle{lift=\baselineskip,width=\linewidth,height=2.5in}%
    \textbf{Driver Options:} The major driver options are \opt{dvips} (the
    default), \opt{pdftex}, \opt{luatex}, and \opt{xetex}; there are two
    minor driver options, these are \opt{dvipdfm} and \opt{dvipdfmx}. If
    you specify \opt{dvips}, it is assumed the PDF creator is \app{Adobe
    Distiller}.\footnote{You can use \app{dvips\,->\,ps2pdf} if there
    are no document JavaScripts.}

    The \pkg{artthreads} package uses the driver of the \pkg{web} package,
    if it is loaded; otherwise \pkg{artthreads} auto-detects for
    \app{pdflatex}, \app{lualatex} and \app{xelatex}. If no driver is
    passed and no driver is automatically detected, the \app{dvips} driver
    is used.

\setAddToBorder{addtow=0bp,addtoh=0bp}

    \item \cArticle{lift=\baselineskip,width=\linewidth,height=2.5in}%
        \textbf{Viewing Options:} When you specify \texttt{preview}, the
        bounding boxes for the article threads are shown in the
        dvi-previewer (or the PDF document); you can turn off this preview
        by specifying \texttt{!preview} (or removing \texttt{preview}
        entirely from the option list). The other option type is
        \texttt{viewMagWin}. When this option is specified, the viewing window, a
        rectangular region, becomes visible in the dvi-previewer (or in the
        PDF document); specifying \texttt{!viewMagWin} turns off this type
        of preview.

%\item[] The effects of the viewing options will be illustrated later in this
%document, see \autoref{previewEx} on page~\pageref*{previewEx}.
\end{itemize}
\end{multicols}\noindent
You'll notice the two rectangular regions around the left column. The inner
one is made visible by the \texttt{preview} option (or locally by
\cs{previewOn}), you can see that it covers `precisely' the text of the
item. The outer rectangle is exposed by the \texttt{viewMagWin} option (or
locally by \cs{viewMagWinOn}). When you view the thread -- and you do not
define an `extra' border around the viewing area -- the inner rectangle is
used. The text in this inner rectangle may not be entirely adequate for
reading as it is very `tight' around the text. It is for this reason, we
expand the viewing area by a specified amount. Compare the reading comfort of
the left column versus the right column. (Try viewing the column thread with
a narrow application window.)

You may have noticed that the viewer returns to the same page view the page
was in prior to reading the thread.

\paragraph*{The article info.} The specifications for an article thread require
it to have a title, and to optionally have key-values for author, subject, and keywords.
\bVerb\takeMeasure{\string\setThreadInfo\{title=\ameta{text},author=\ameta{text},}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\setThreadInfo{title=!ameta(text),author=!ameta(text),
!qquad(subject=!ameta(text),keywords={!ameta(list)})}
\end{dCmd}
\endgroup\noindent If no value of \texttt{title} is provided, \pkg{artthreads} uses
a generated value of \texttt{thread-\ameta{num}}. The \cs{setThreadInfo}
command must appear prior to the opening the thread (see \cs{bArticle} below)
to which it applies, if it does not, a {\LaTeX} error occurs. The drivers
\opt{dvips} and \opt{xetex} (\opt{dvipdfm}, \opt{dvipdfmx}) support all four
keys; however, \opt{pdftex} and \opt{lualatex} only supports the
\texttt{title} key.

\paragraph*{The article thread commands.} There is one command
(\cs{bArticle}) for beginning an article thread, and another (\cs{cArticle})
to continue that thread.
\bVerb\takeMeasure{\string\bArticle\darg{\meta{KV-pairs}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\bArticle{!meta(KV-pairs)}
\cArticle{!meta(KV-pairs)}
\end{dCmd}
\endgroup\noindent Before illustrating \cs{bArticle} and \cs{cArticle}, the
\meta{KV-pairs} are described first.
\begin{itemize}
\item \texttt{width=\ameta{length}}: The value of \opt{width} sets the
    width of the thread to \ameta{length}; \ameta{length} is usually, but
    not always, \cs{linewidth}. Dimension arithmetic is supported with the
    value of \opt{width}; for example, \texttt{width=\cs{linewidth}\,+\,3pt}.

\item \texttt{height=\ameta{length}}: The value of \opt{height} sets the
    height of the thread to \ameta{length}. As with the \opt{width} key,
    dimension arithmetic is supported by \opt{height}; for
    example, \texttt{height=3in\,+\,2\cs{baselineskip}}.

\item \texttt{lift=\ameta{length}}: This key-value lifts (raises) the
    article thread window up (or down) by an amount of \ameta{length}; for
    example, \texttt{lift=15pt} (or \texttt{lift=-15pt}). The default is a
    lift of \texttt{0pt}. Dimension arithmetic is supported.

\item \texttt{shift=\ameta{length}}: The amount of horizontal shift of the
    article thread; positive to the right, negative to the left. For
    example, \texttt{shift=-1in} shifts the button/viewing window 1 inch to
    the left. The default is \texttt{0pt}. Dimension arithmetic is supported.
\end{itemize}
One last command before the examples.

\paragraph*{Setting the expanded (add to) border.} It is often convenient to
set the basic thread dimensions (\texttt{width=\cs{linewidth},height=3in}),
but is harder to expand and position the thread to a wider or higher thread
region. Use the \cs{setAddToBorder} command to expand, or add to, the
dimensions of the thread rectangular dimensions.
\bVerb\takeMeasure{\string\setAddToBorder\darg{addtow=\ameta{length},addtoh=\ameta{length}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\setAddToBorder{addtow=!ameta(length),addtoh=!ameta(length)}
\end{dCmd}
\endgroup\noindent The \opt{addtow} key adds \ameta{length} to the left and right
sides of the rectangular boundary of the thread; \opt{addtoh} adds
\ameta{length} to the top and bottom of the rectangular boundary of the
thread. The default dimensions for these two keys are \texttt{0pt}.
\begin{multicols}{2}\setThreadInfo{title=Illustrate \string\\setAddToBorder}%
\noindent\setAddToBorder{addtow=10bp,addtoh=10bp}\previewOn\viewMagWinOn
{\small\verb|\setAddToBorder{addtow=10bp,|\\
\null\quad\verb|addtoh=10bp}|}\\\vadjust{\noindent\bArticle{lift=3\baselineskip,width=\linewidth,height=6\baselineskip}}%
In this column we've set a \texttt{10bp} border around the thread. When you click
on the reading area, the viewer should zoom to the width of the wider rectangle.
\vfill
\columnbreak
\noindent\setAddToBorder{addtow=4bp,addtoh=4bp}\previewOn\viewMagWinOn
{\small\verb|\setAddToBorder{addtow=4bp,|\\
\null\quad\verb|addtoh=4bp}|}\\\vadjust{\noindent\cArticle{lift=3\baselineskip,width=\linewidth,height=6\baselineskip}}%
In this column, we've set a \texttt{4bp} border. Again, when you click on the
reading area, the viewer should zoom to the width of the wider rectangle.
\end{multicols}
\newtopic\noindent\textbf{Tip:} The values of \opt{addtow} and \opt{addtoh} should be in big
points (\texttt{bp}) for greater accuracy as these are converted to
Postscript or PDF dimensions, depending on the driver.

\paragraph*{Methodology with examples.} Now we've come to final part of this
documentation, a description of the methodology, accompanied by examples. As
pointed out early in this documentation, the method for applying the article
threads is very visual. Compose your document content first, and then insert the
document threads.
\begin{center}\previewOn\viewMagWinOn
\begin{minipage}{.8\linewidth}\parindent=20pt\relax
We illustrate the techniques in a single column with a generous width.
First we declare our add to border dimension and article info
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\setAddToBorder{addtow=4bp,addtoh=4bp}
\setThreadInfo{title=Methodology,author=D. P. Story}
\end{Verbatim}
There are two places to begin a thread: (1) at the very beginning of a paragraph;
and (2) from within a paragraph. Method~(1) is preferred. We begin the next paragraph
with
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
\noindent\bArticle{lift=\baselineskip,
    width=\linewidth,height=1in+3\baselineskip}%
Now we begin our deep thoughts...
\end{Verbatim}
\end{minipage}
\end{center}
\setAddToBorder{addtow=4bp,addtoh=4bp}
\setThreadInfo{title=Methodology,author=D. P. Story}

\def\pi{\noindent\makebox[0pt][r]{\ding{182}\hskip\marginparsep}}
\def\pii{\noindent\makebox[0pt][r]{\ding{183}\hskip\marginparsep}}
\def\piii{\noindent\makebox[0pt][r]{\ding{184}\hskip\marginparsep}}

\begin{center}\previewOn\viewMagWinOn
\begin{minipage}{.8\linewidth}\parindent=\amtIndent\relax
\newtopic\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=1in+3\baselineskip}%
\pi\indent
Now we begin our deep thoughts. During this development phase, the options
\opt{preview} and \opt{viewMagWin} should be in effect. In a \EXT{DVI}
viewer, we can see the bounding rectangles. We can see it is too low, too long
and so on. For users of \app{pdflatex}, \app{xelatex}, etc., view your
documents in the \EXT{DVI} previewer first (or view them as a \EXT{PDF}).
I've used \texttt{lift=\string\baselineskip} to raise up the thread rectangle
by that mount to enclose the first line. The value of \opt{width} is usually
\cs{linewidth}, but the value of \opt{height} may have to be adjusted, in this
example, I've ``tweaked'' the \texttt{1in} by \texttt{3\string\baselineskip}.
\end{minipage}
\end{center}

\begin{center}\previewOn\viewMagWinOn
\begin{minipage}{.8\linewidth}\parindent=\amtIndent\relax
\newtopic\pii Naturally, after you're satisfied, you then remove
\opt{preview} and \opt{viewMagWin} or change them to
\opt{!preview} and \opt{!viewMagWin}. Another possible location is from within
a paragraph, here, we continue the previous thread using the \cs{cArticle} command
in conjunction with the \cs{vadjust} {\TeX} primitive\vadjust{\noindent
\cArticle{lift=5\baselineskip,width=\linewidth,height=2in+\baselineskip}}.
Between the end of the word `primitive' and the period (.) ending the sentence, I've placed,
\begin{Verbatim}[fontsize=\small]
primitive\vadjust{\noindent\cArticle{lift=5\baselineskip,
    width=\linewidth,height=2in+\baselineskip}}. Between the
\end{Verbatim}
We chose \texttt{lift=5\string\baselineskip} because the
original positioning of the thread rectangle was too low by about five lines.
The value of \texttt{height} was chosen to cover the paragraph once the
complete paragraph was composed.
\end{minipage}
\end{center}

\previewOff\viewMagWinOff
\begin{center}
\begin{minipage}{.8\linewidth}\parindent=20pt\relax
We now declare \verb|\previewOff\viewMagWinOff|.

\noindent\piii\cArticle{lift=\baselineskip,width=\linewidth,height=.5in+3\baselineskip}\indent
Of course, in this example, it was entirely unnecessary to insert the
\cs{cArticle} mid-paragraph, it would have been better placed at the
beginning of the paragraph. Placing \cs{cArticle} mid-paragraph is useful for
multi-column formats. When the paragraph flows from the first column the
second column, use the \cs{vadjust} technique to cover the portion of the
text that flows to the right column.
\end{minipage}
\end{center}
By the way, notice the use of \cs{noindent}, this is
oftentimes needed to position the article thread in the left margin of the
text block.

\paragraph*{Continuing a thread from one page to the next.} To continue
reading across a page boundary, continue the thread on the previous page
using \cs{cArticle}. For example, the most recent thread begins with
paragraph~\ding{182} (\cs{bArticle}) and continues with paragraph~\ding{183}
and~\ding{184} (\cs{cArticle}). Paragraphs~\ding{182} and~\ding{183} are on
the previous page, while paragraph~\ding{184} is on this page. As you read
this thread, paragraph~\ding{182} is presented first, followed by
paragraph~\ding{183}, and finally, paragraph~\ding{185} on the subsequent
page.

\paragraph*{The demo files.} The demo file \texttt{article\_tech.tex}
reproduces the discussion on methods, it is found in the \texttt{examples}
folder.

\setThreadInfo{title=Final Thread,{author=D. P. Story, Ph.D.}}

\newtopic\noindent In this documentation, I've covered the content with many article threads; normally,
for multi-column content, one thread per column is sufficient. The thread for this article continues
on to the next page, as this Lipsum text illustrates.
\begin{multicols}{2} %\previewOn
\noindent\bArticle{lift=\baselineskip,width=\linewidth,height=4.1in-\baselineskip}\relax
\lipsum[2]

\lipsum[4]

\noindent\cArticle{lift=4\baselineskip,width=\linewidth,height=4.1in-\baselineskip}\indent
\lipsum[6]

\lipsum[7]

\noindent\cArticle{lift=11\baselineskip,width=\linewidth,height=6.25in+\baselineskip}\indent
\lipsum[10]

\lipsum[12]

\noindent\cArticle{lift=2\baselineskip,width=\linewidth,height=6.25in+\baselineskip}\indent
\lipsum[14]

\lipsum[16]

\end{multicols}

\paragraph*{The demo file.} The demo file for this package is \texttt{article\_tst.tex},
available in the \texttt{examples} folder.

\section{Other navigation commands}

There are several commands for creating links or push button actions that
open the \uif{Articles} pane and/or begin reading a specified article.

\paragraph*{Manipulating the \uif{Articles} pane.} The following two commands represent
actions that toggle the \uif{Articles} pane (\cs{shArticlesPaneActn}) or just open/show the \uif{Articles} pane (\cs{sArticlesPaneActn}).
\bVerb\takeMeasure{\string\shArticlesPaneReadActn}%
\setlength{\dimen0}{\bxSize}%
\def\1{\rlap{\hskip\dimen0\relax\sffamily(Toggle Articles pane action)}}
\def\2{\rlap{\hskip\dimen0\relax\sffamily(Show Articles pane action)}}
\def\3{\rlap{\hskip\dimen0\relax\sffamily(Toggle Articles pane and read article action)}}
\def\4{\rlap{\hskip\dimen0\relax\sffamily(Show Articles pane and read article action)}}
\begin{dCmd}[commandchars=!()]{\bxSize}
!1\shArticlesPaneActn
!2\sArticlesPaneActn
!3\shArticlesPaneReadActn
!4\sArticlesPaneReadActn
\end{dCmd}
\eVerb For example,
\begin{quote}
    \setLink[\A{\shArticlesPaneActn}]{Toggle \uif{Articles} pane}\\
    \verb!\setLink[\A{\shArticlesPaneActn}]{Toggle \textsf{Articles} pane}!\\[3pt]
    \setLink[\A{\sArticlesPaneActn}]{Show \uif{Articles} pane}\\
    \verb!\setLink[\A{\sArticlesPaneActn}]{Show \textsf{Articles} pane}!
\end{quote}
These two actions can be used by push buttons as well.

\paragraph*{Reading a thread.} To create an action to read a thread with a title of \ameta{thread-title},
use \cs{Thread\darg{\ameta{thread-title}}}. For example,
\begin{quote}
    Read about the \setLink[\A{\Thread{Package options}}]{Package options}.\\
    \verb~\setLink[\A{\Thread{Package options}}]{Package options}.~
\end{quote}
Again notice that the viewer returns you to the jumping off point after
you've finished reading the thread. The \cs{Thread\darg{\ameta{thread-title}}}
action can be part of a push button action as well.

\paragraph*{Some push buttons.} \pkg{artthreads} has some push buttons with common actions,
these are,
\bVerb\takeMeasure{\string\toggleArticlePaneRead[\ameta{KV-pairs}]\darg{\ameta{wd}}\darg{\ameta{ht}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\toggleArticlePane[!ameta(KV-pairs)]{!ameta(wd)}{!ameta(ht)}
\toggleArticlePaneRead[!ameta(KV-pairs)]{!ameta(wd)}{!ameta(ht)}
\showArticlePane[!ameta(KV-pairs)]{!ameta(wd)}{!ameta(ht)}
\showArticlePaneRead[!ameta(KV-pairs)]{!ameta(wd)}{!ameta(ht)}
\end{dCmd}
\eVerb The names of the commands describe the action they perform. However,
the commands \cs{toggleArticlePaneRead} and \cs{showArticlePaneRead} require special comment.
Each begins an article thread, but which article thread?
\begin{quote}%\previewOn\pmpvOn
    \showArticlePaneRead{}{11bp}\\[2bp]
    \verb!\showArticlePaneRead{}{11bp}!
\end{quote}
Without any further qualifiers, this button begins reading the thread as
determined by the value of the \texttt{title} key of the last
\cs{setThreadInfo} command declared. So, the above push button should begin
the thread titled ``\threadTitle''. However, to program the button to begin
reading the thread titled \ameta{thread-title}, use the following syntax:
\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
\showArticlePaneRead[!textbf(\cmd{\readArticle{!ameta(thread-title)}})]{}{11bp}
\end{Verbatim}
We illustrate by using \cs{showArticlePaneRead} to read the thread with title
``Package options,'' and the same action in a link.
\begin{quote} %\previewOn\pmpvOn
    \showArticlePaneRead[\cmd{\readArticle{Package options}}]{}{11bp}\\[2bp]
    \verb~\showArticlePaneRead[\cmd{\readArticle{Package options}}]{}{11bp}~\\[4bp]
    \setLink[\cmd{\readArticle{Package options}}\A{\sArticlesPaneReadActn}]{Show \textsf{Articles} pane and read the Package options article}\\[2bp]
    \verb~\setLink[\cmd{\readArticle{Package options}}~\\
    \null\quad\verb~\A{\sArticlesPaneReadActn}]{Show \textsf{Articles} pane~\\
    \null\quad\verb~and read the Package options article}~
\end{quote}

\subparagraph*{Tooltips for push buttons.} The tooltips for the commands
\cs{toggleArticlePane} and \cs{showArticlePane} are \textsf{Toggle Articles
Pane} and \textsf{Show Articles Pane}, respectively. These can be localized
using the \cs{TU} key if \pkg{eforms}; for example,
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars={|()}]
\showArticlePane[|textbf(\TU{Umschalten der Artikel Schaltfl\"{a}che})]{}{11bp}
\end{Verbatim}
which may be German for \textsf{Toggle Articles Pane}.

For the other two, \cs{toggleArticlePaneRead} and \cs{showArticlePaneRead}, two convenience
commands are defined.
\bVerb\takeMeasure{\string\tooltipTogglePaneRead\darg{\ameta{text}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\tooltipTogglePaneRead{!ameta(text)}
\tooltipShowPaneRead{!ameta(text)}}
\end{dCmd}
\eVerb The values of \ameta{text} allows for the inclusion of the command
\cs{threadTitle}, which expands to the current title of the thread article.
The default definitions are,
\begin{Verbatim}[xleftmargin=\amtIndent]
\tooltipTogglePaneRead{Toggle Articles pane and
  read the article \threadTitle}
\tooltipShowPaneRead{Show Articles pane and
  read the article \threadTitle}
\end{Verbatim}
If you roll over the button at the top of the this page, its tooltip will read \textsf{Show Articles pane and
  read the article Package options}. The two commands may be declare with an appropriate language localization.

\setThreadInfo{%
    title=J\"{u}rgen's Thread,
    author={D. P. Story, J\"{u}rgen},
    subject=Discussion of the PDFDocEncloding Character Set,
    keywords={AeB, PDF, LaTeX}
}

%\previewOn
\noindent\bArticle{lift=-\medskipamount-4pt,width=\linewidth,height=5\baselineskip+6pt}%
\paragraph*{Beyond Basic ASCII.} Begin by reading \setLink[\cmd{\readArticle{J\"{u}rgen's Thread}}\linktxtcolor{red}\A{\Thread{\threadTitle}}]{J\"{u}rgen's Thread}.
The examples of this reference and, for the most part in the sample
files, use Basic ASCII as the thread titles; however, the full PDFDocEncoding
character set is also supported. The sample file \texttt{article\_tech.tex}
provides a more complete discussion of this topic, as well as a more
complicated example. Check out the
\setLink[\linktxtcolor{red}\A{\sArticlesPaneActn}]{\textsf{Articles}} pane to
see the title of this thread listed.

\section{My retirement}

Now, I simply must get back to it. \dps

\end{document}
