texlive[66224] Master/texmf-dist: spacingtricks (27feb23)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 27 21:33:49 CET 2023


Revision: 66224
          http://tug.org/svn/texlive?view=revision&revision=66224
Author:   karl
Date:     2023-02-27 21:33:49 +0100 (Mon, 27 Feb 2023)
Log Message:
-----------
spacingtricks (27feb23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/spacingtricks/README.md
    trunk/Master/texmf-dist/doc/latex/spacingtricks/spacingtricks.pdf
    trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.dtx
    trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.ins
    trunk/Master/texmf-dist/tex/latex/spacingtricks/spacingtricks.sty

Modified: trunk/Master/texmf-dist/doc/latex/spacingtricks/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/spacingtricks/README.md	2023-02-27 20:33:36 UTC (rev 66223)
+++ trunk/Master/texmf-dist/doc/latex/spacingtricks/README.md	2023-02-27 20:33:49 UTC (rev 66224)
@@ -3,15 +3,18 @@
 
 ## Presentation
 
-This package provides macros for dealing with some spacing issues e.g.
- centering a single line, making a variable strut, indenting a block, typesetting a compact list,
- placing two boxes side by side with vertical adjustment. 
+This package provides macros for dealing with some spacing issues, e.g.
+- centering a single line, 
+- making a variable strut, 
+- indenting a block, 
+- typesetting a compact list,
+- placing two boxes side by side with vertical adjustment. 
 
 
 ## Installation
 
 - run LaTeX on spacingtricks.ins, you get the file spacingtricks.sty,
-- if then you run LaTeX + dvips + ps2pdf on spacingtricks.dtx you get the file spacingtricks.pdf which is also in the archive,
+- if then you run pdfLaTeX on spacingtricks.dtx you get the file spacingtricks.pdf which is also in the archive,
 - put the files spacingtricks.sty and spacingtricks.pdf in your TeX Directory Structure.
 
 

Modified: trunk/Master/texmf-dist/doc/latex/spacingtricks/spacingtricks.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.dtx	2023-02-27 20:33:36 UTC (rev 66223)
+++ trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.dtx	2023-02-27 20:33:49 UTC (rev 66224)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2019-2021 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+% Copyright (C) 2019-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 %
 % This file may be distributed and/or modified under the conditions of
 % the LaTeX Project Public License, either version 1.3 of this license
@@ -20,18 +20,22 @@
 %<*package> 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{spacingtricks}
-    [2021/09/20 v1.4 .dtx spacingtricks file]
+    [2023/02/27 v1.5 .dtx spacingtricks file]
 %</package>
 %<*driver>
 \documentclass{ltxdoc}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
-\usepackage[french,english]{babel}
-\usepackage{lmodern}
-\usepackage{spacingtricks}
-\usepackage{pifont}
+\usepackage[english]{babel}
+\usepackage{mathptmx}
+\usepackage[pifont]{spacingtricks}
 \usepackage{amsmath}
-\usepackage{pstricks-add}
+\usepackage{tikz}
+\usepackage{sectsty}
+\usepackage{xcolor}
+
+\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
+\allsectionsfont{\color{darkbrown}}
 \DisableCrossrefs
 %\CodelineIndex
 %\RecordChanges
@@ -38,8 +42,8 @@
 \usepackage{hyperref}
 \hypersetup{%
     colorlinks,
-    linkcolor=blue,
-    citecolor=blue,
+    linkcolor=blue, %red by default
+    citecolor=red, %green by default
     pdftitle={spacingtricks},
     pdfsubject={LaTeX package},
     pdfauthor={Antoine Missier}
@@ -54,7 +58,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{165}
+% \CheckSum{242}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -74,21 +78,42 @@
 %
 %
 % \changes{v0.1}{2011/12/27}{Initial version}
-% \changes{v1.0}{2019/05/04}{dtx and ins files, added the footnote command}
+% \changes{v1.0}{2019/05/04}{dtx and ins files, adding the footnote command}
 % \changes{v1.0}{2019/06/16}{English translation of the documentation}
-% \changes{v1.1}{2019/09/06}{No automatic line breaking at the end of the centered command,
-% new length compactitemlist}
-% \changes{v1.2}{2019/09/09}{A bug correction in the last update}
-% \changes{v1.3}{2020/11/02}{Loading the setspace package, 
-% small changes in compactlist environment, improvement in dualboxes macro}
-% \changes{v1.4}{2021/09/21}{A mistake in the documentation is now corrected}
 %
+% \changes{v1.1}{2019/09/06}{
+%    - No automatic line breaking at the end of the centered command,
+%    - new length compactitemlist}
+%
+% \changes{v1.2}{2019/09/09}{
+%    - A bug correction in the last update}
+%
+% \changes{v1.3}{2020/11/02}{
+%    - Loading the setspace package, 
+%    - small changes in compactlist environment, 
+%    - improvement in dualboxes macro}
+%
+% \changes{v1.4}{2021/09/21}{
+%    - A mistake in the documentation is now corrected}
+%
+% \changes{v1.5}{2023/02/23}{
+%    - Changing font to times (with the mathptmx package),
+%    - changing pstricks figure to tikz to avoid double compilation,
+%    - tests and comments about wrapfig and picinpar packages}
+% \changes{v1.5}{2023/02/25}{
+%    - adding the centeredline package,
+%    - adding the pifont package as option,
+%    - taking over the juxtapose environment from Christian Obrecht,
+%    - topsep of indentblock environment reduced to zero}
+% \changes{v1.5}{2023/02/26}{
+%    - Tests and comments about paracol and reledpar packages}
+%
 % \GetFileInfo{spacingtricks.sty}
 %
-% \title{The \texttt{spacingtricks} package\thanks{This document
+% \title{The \textsf{spacingtricks} package\thanks{This document
 % corresponds to \textsf{spacingtricks}~\fileversion, dated \filedate.}}
 % \author{Antoine Missier \\ \texttt{antoine.missier at ac-toulouse.fr}}
-% \date{September 20, 2021}
+% \date{February 27, 2023}
 % \maketitle
 %
 % \section{Introduction}
@@ -95,38 +120,49 @@
 %
 % This package offers some macros to deal with spacing issues. Thus:
 % \begin{compactlist}
-% \item "\centered" yields good horizontal centering without vertical spacing;
-% \item "\footnote" has been redefined to avoid unsuitable spacing;
-% \item "\vstrut" produces a strut with variable height or depth;
-% \item "\indent" has been redefined to indent a line at the beginning 
+% \item \hyperlink{centered}{\texttt{\bslash centered}} yields good horizontal 
+% centering without vertical spacing;
+% \item \hyperlink{footnote}{\texttt{\bslash footnote}} has been redefined 
+% to avoid unsuitable spacing;
+% \item \hyperlink{vstrut}{\texttt{\bslash vstrut}} produces a strut 
+% with variable height or depth;
+% \item \hyperlink{indent}{\texttt{\bslash indent}} has been redefined 
+% to indent a line at the beginning 
 % of a particular paragraph even if "\parindent" has been set to 0;
-% \item the "indentblock" environment produces indentation of all its content;
-% \item the "compactlist" environment yields a compact list, without vertical spacing
-% between the items, like here;
-% several aliases are provided to type some list symbols shorter:
+% \item the \hyperlink{indentblock}{\texttt{indentblock}} environment 
+% produces indentation of all its content;
+% \item the \hyperlink{compactlist}{\texttt{compactlist}} environment 
+% yields a compact list, without vertical spacing between the items, like here;
+% several \hyperlink{aliases}{aliases} are provided to type some list symbols shorter:
 % "\bul", "\dash", "\ddash", "\aster", "\hand", "\checksymb", "\arrowsymb";
-% \item the macros "\ie" and "\eg" attends to typeset common abbreviations
-% \ie and \eg with correct spacing;
-% \item the "\dualboxes" command attends to place two boxes 
-% (figures, tables, text) side by side by adjusting the vertical positioning.
+% \item common abbreviations \hyperlink{ie-eg}{\ie and \eg} 
+% are typeset by the macros "\ie" and "\eg" with correct spacing;
+% \item the \hyperlink{dualboxes}{\texttt{\bslash dualboxes}} command attends to place 
+% two boxes (figures, tables, text) side by side by adjusting the vertical positioning.
 % \end{compactlist}
 % 
 % \medskip
-% Two other common packages are loaded by \textsf{spacingtricks}:
-% \textsf{setspace} (natively in \LaTeXe), 
-% for setting line spacing in a piece of text 
-% (with the \texttt{spacing} environment), and
+% Three other ``spacing'' packages are loaded by \textsf{spacingtricks}:
+% \hyperlink{setspace}{\textsf{setspace}}~\cite{SETSP} (natively in \LaTeXe), 
+% for setting line spacing in a piece of text,
 % \textsf{xspace}~\cite{XSP}, which adds an inter-word space unless the macro 
-% is followed by a punctuation character.
+% is followed by a punctuation character,
+% and \hyperlink{centeredline}{\textsf{centeredline}}~\cite{CENTER} 
+% which gives an interesting alternative 
+% to our "\centered" macro (see further).
+% We also took over the fine \hyperlink{juxtapose}{\texttt{juxtapose}} environment 
+% from the \textsf{mafr}~\cite{MAFR}
+% distribution, as another way to place boxes side by side.
 %
-% Otherwise, we provide the package \textsf{arraycols}~\cite{ARCOL},
-% which allows a good management of spacing in \texttt{tabular} 
-% and \texttt{array} environments,
-% and \textsf{mismath}~\cite{MSMATH} of which several macros tends to improve spacing 
+% Otherwise, we have develop the package \textsf{arraycols}~\cite{ARCOL},
+% that allows a good management of spacing in \texttt{tabular} 
+% or \texttt{array} environments,
+% and \textsf{mismath}~\cite{MSMATH} that provides several macros to improve spacing 
 % in mathematical formulas.
 %
 % \section{Usage}
 %
+% \hypertarget{centered}{}
 % \DescribeMacro{\centered}
 % The "\centered"\marg{text} command yields a centered line without vertical spacing.
 % It acts like "\centerline" except in lists or tables where its behavior is much better
@@ -145,14 +181,25 @@
 % \begin{center} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \end{center}
 % \end{enumerate}
 %
-% In tables, "\centered" allows to center a particular cell independently of 
-% the (general) column alignment
+% After "\centered{...}", the end of line must be explicit, 
+% otherwise "\centered" will not work. You can use "\\",
+% which is equivalent to "\linebreak", or
+% a blank line to begin a new paragraph (equivalent to "\par"). 
+% In the former case, no vertical space
+% is added after the centered line,  in the latter case, the vertical space
+% following the centered line is a bit larger. 
+% In the example above, the centered line comes to the end, without line breaking,
+% because of the next "\item" command, and the vertical space is set by the
+% \texttt{enumerate} environment.
+%
+% \medskip
+% In tables, "\centered" allows to center a particular line in a cell independently of 
+% the column alignment
 % \footnote{In tables, we can also use the powerful \texttt{\bslash makecell} command
-% of the \textsf{makecell} package~\cite{MKCELL}, on the other hand
-% the \texttt{\bslash centerline} command doesn't work for a single line in a cell.
-% Let us also mention the \texttt{\bslash centeredline} command, from the package
-% \textsf{centeredline}~\cite{CENTER}, which allows to use \texttt{\bslash verb}
-% commands inside the text to center; but it doesn't work in tables either.}.
+% of the \textsf{makecell} package~\cite{MKCELL}; on the other hand,
+% neither \texttt{\bslash centerline} nor \texttt{\bslash centering} commands
+% do work for a single line in a cell.},
+% here with "\begin{tabular}{|l|r|}":
 %
 % \begin{center}
 % \begin{tabular}{|l|r|}
@@ -159,13 +206,40 @@
 % \hline
 % left aligned column & right aligned column \\
 % \hline
-% another cell  & \centered{centered cell} \\
+% the second cell fixes the width  & \centered{centered cell} \\
 % \hline
-% \centered{centered line} & the last cell right aligned \\
+% \centered{centered cell} & the last cell fixes the width \\
 % \hline
 % \end{tabular}
 % \end{center}
 %
+% \medskip
+% \hypertarget{centeredline}{}
+% \DescribeMacro{\centeredline}
+% A limitation of our "\centered" macro is that it doesn't allow to use \texttt{\bslash verb}
+% commands inside its argument. For this purpose, you get
+% the "\centeredline" command, from the package
+% \textsf{centeredline} by Jean-François Burnol~\cite{CENTER}. 
+% This small package is now loaded by \textsf{spacingtricks}.
+% Another advantage of "\centeredline" is that it does not require an explicit
+% end, the text can follow the command on the same line, and the line break will
+% be automatic.
+% Nevertheless, it doesn't work in tables (like in the example above),
+% except with \texttt{p} column declaration.
+%
+% \hypertarget{setspace}{}
+% \medskip
+% \DescribeEnv{onehalfspace}\DescribeEnv{doublespace}\DescribeEnv{spacing}
+% \begin{onehalfspace}
+% The \textsf{setspace} package~\cite{SETSP}, loaded by \textsf{spacingtricks}, provides
+% environments for changing the spacing between lines. The present paragraph is nested
+% in a \texttt{onhalfspace} environment as you can see.
+% The \texttt{spacing} environment can be used to get other interline spacing, \eg
+% "\begin{spacing}{2.5}".
+% \end{onehalfspace}
+%
+% \hypertarget{footnote}{}
+% \medskip
 % \DescribeMacro{\footnote}
 % The "\footnote" command doesn't have a good management of spacing issues,
 % in particular when the \textsf{hyperref} package has been loaded.
@@ -189,31 +263,31 @@
 % at the end of line; its effect is to cancel the space produced by a line break,
 % but we do not always think of using it.}.
 %
-% \pagebreak
 % \medskip
 % \noindent\begin{minipage}{5.6cm}
 % \begin{verbatim}
-%This a note 
+%This is a note 
 %\footnote{ 
-%Bad spacing example.}
-%with the old command.
+%The old command.}
+%with bad spacing.
 % \end{verbatim}
 % \vspace{-4ex} This a note
 % \footnt{
-% Bad spacing example.}
-% with the old command.
+% The old command.}
+% with bad spacing.
 % \end{minipage}
 % \hfill 
 % \begin{minipage}{5.6cm}
 % \begin{verbatim}
-%This a note
+%This is a note
 %\footnote{ 
-%Good spacing example.}
-%with the new command.
+%The new command.}
+%with good spacing.
 % \end{verbatim}
 % \vspace{-4ex} This a note 
-% \footnote{ Good spacing example.}
-% with the new command.
+% \footnote{ 
+% The new command.}
+% with good spacing.
 % \end{minipage}
 %
 % \medskip
@@ -225,7 +299,7 @@
 % but two new macros have been added to manage spacing:
 % "\footnotespace" produces the space before the note call symbol
 % and "\footnoteindent" produces the space at the beginning of the footnote text.
-% For instance, with "\renewcommand{\footnotespace}{\,}" 
+% For instance, with "\renewcommand{\footnotespace}{\,}" \\
 % and "\renewcommand{\footnoteindent}{\enskip}"
 % \footnote{\texttt{\bslash enskip} is equivalent to \texttt{\bslash hspace\{0.5em\}}.}
 % we get:
@@ -241,6 +315,7 @@
 % \renewcommand{\footnotespace}{}
 % \renewcommand{\footnoteindent}{}
 % 
+% \hypertarget{vstrut}{}
 % \DescribeMacro{\vstrut} 
 % "\vstrut"\oarg{depth}\marg{height} produces a strut with variable height or depth,
 % in order to increase the line's height (above the base line) or depth 
@@ -264,7 +339,7 @@
 % \\
 % "\fbox{\vstrut{2ex}$\sigma(X)=1$}" gives
 % \fbox{\vstrut{2ex}$\sigma(X)=1$}
-% better than \fbox{$\sigma(X)=1$}
+% better than \fbox{$\sigma(X)=1$}.
 % 
 % \medskip
 % \noindent
@@ -312,16 +387,19 @@
 %
 % In a text line, "\vstrut" can be used in place of "\vspace".
 %
+% \hypertarget{indent}{}
 % \medskip
-% \DescribeMacro{\indent} \DescribeMacro{\parindentlength} 
+% \DescribeMacro{\indent} 
 % The command "\setlength{\parindent}{0cm}" allow to eliminate any indentation of lines
 % at the beginning of every paragraph. 
 % But in this case, the "\indent" command does not work anymore
 % if we want exceptional indentation of a particular paragraph.
 % So, the initial length of "\parindent" has been saved in "\parindentlength"
+% \DescribeMacro{\parindentlength} 
 % and the command "\indent" has been redefined to still allow indentation
 % of length "\parindentlength".
 %
+% \hypertarget{indentblock}{}
 % \medskip
 % \DescribeEnv{indentblock}
 % The \texttt{indentblock} environment allows indentation of a whole block of lines.
@@ -331,6 +409,7 @@
 % "\begin{indentblock}\itshape" and stanzas 2 and 4 have been affected by
 % an additional indentation with "\begin{indentblock}[3em]".
 %
+% \smallskip
 % \begin{indentblock}\itshape
 % Overhead the albatross hangs motionless upon the air \\
 % And deep beneath the rolling waves in labyrinths of coral caves \\
@@ -357,41 +436,64 @@
 % \end{indentblock}
 % \end{indentblock}
 % 
+% \hypertarget{compactlist}{}
 % \DescribeEnv{compactlist}
 % As its name tells it, the "compactlist" environment allows to create
-% a \og compact\fg\ list, \ie without vertical space neither above nor between items.
+% a ``compact'' list, \ie without vertical space neither above nor between items.
 % As for lists in \LaTeX, items are generated by the "\item" command.
 % The environment has an optional argument: "\begin{compactlist}"\oarg{symbol}.
 % 
+% \hypertarget{aliases}{}
+% \medskip
 % \DescribeMacro{\bul}\DescribeMacro{\dash}\DescribeMacro{\ddash}\DescribeMacro{\aster}
-% \DescribeMacro{\hand}
-% Default item symbol is "\textbullet" but it can be changed.
+% The default item symbol is "\textbullet", but can be changed.
 % We provide aliases for several symbols commonly used in lists:
-% "\bul" \bul\ (alias for "\textbullet"), "\dash" \dash\ ("\textendash"), 
-% "\ddash" \ddash\ ("\textemdash"), "\aster" \aster\ ("\textasteriskcentered"),
-% as well as "\hand" \hand ("\ding{43}"), "\checksymb" \checksymb ("\ding{51}")
-% and "\arrowsymb" \arrowsymb ("\ding{226}")
-% which need to load the \textsf{pifont} package in the preamble.
-% \DescribeMacro{\checksymb}\DescribeMacro{\arrowsymb}
-% The following example is obtained with "\begin{compactlist}[\checksymb]":
+% "\bul" \bul\ (alias for "\textbullet"), "\dash" \dash\ (alias for "\textendash"), 
+% "\ddash" \ddash\ (alias for "\textemdash"), 
+% "\aster" \aster\ ("alias for \textasteriskcentered").
+%
+% \smallskip
+% \DescribeEnv{[pifont]}
+% \DescribeMacro{\hand}\DescribeMacro{\checksymb}\DescribeMacro{\arrowsymb}
+% Some other common symbols can be found in the \textsf{pifont} package~\cite{PIFONT}.
+% Therefore \textsf{spacingtricks} has a \texttt{pifont} option,
+% that loads this package and creates the appropriate aliases:
+% "\hand" \hand for "\ding{43}", "\checksymb" \checksymb for "\ding{51}"
+% and "\arrowsymb" \arrowsymb for "\ding{226}".
+%
+% \medskip \noindent
+% The following example is produced by "\begin{compactlist}[\checksymb]":
 % \begin{compactlist}[\checksymb]
 % \item First item.
 % \item Second item.
 % \item Third item.
 % \end{compactlist}
-% \hand These aliases can be used directly in text mode, of course.
+% \hand These aliases can also be used directly in text mode, of course.
 % For "\hand", "\checksymb" and "\arrowsymb", the symbol is followed by a space
 % if there is no punctuation character just after it (thanks to the 
 % macro \texttt{xspace} from the \textsf{xspace} package~\cite{XSP}).
 %
-% \medskip
+% \smallskip
 % \DescribeMacro{\compactlistindent}
-% This length (fixed at 0.5\,em by default) can be modified with "\setlength" to increase 
-% or decrease the indentation of the \texttt{compactlist} environment.
+% Indentation length is set by "\compactlistindent" (fixed at 0.5\,em by default) 
+% and can be modified with "\setlength".
 % Notice that there are several other ways to construct a compact list in particular
 % with the \texttt{noitemsep} key of the \textsf{enumitem} package~\cite{ENUM}.
 %
 % \medskip
+% \DescribeEnv{dinglist}
+% The \textsf{pifont} package has also a list environment "\begin{dinglist}"\marg{number}
+% to typeset a list with normal spacing, using the "\ding"\marg{number} symbol
+% for each "\item" (instead of using "\item[\ding"\marg{number}"]"). 
+% So "\begin{dinglist}{226}" yields:
+% \begin{dinglist}{51}
+% \item The first item in the list.
+% \item The second item in the list.
+% \item The third item in the list.
+% \end{dinglist}
+%
+% \hypertarget{ie-eg}{}
+% \medskip
 % \DescribeMacro{\ie} \DescribeMacro{\eg}
 % In English, at the end of a sentence, the point is followed by an em space
 % which is larger than an inter-word space.
@@ -403,105 +505,197 @@
 % on the other hand, some authors prefer to typeset \textit{\ie} in italic shape,
 % which is always possible with "\textit{\ie}". 
 %
+% \hypertarget{dualboxes}{}
 % \medskip
 % \DescribeMacro{\dualboxes}
-% Several packages intend to set the text around a figure or a table,
-% but in general we have to give the width of the box containing the figure or the table.
-% Let us mention however the \textsf{picins} package~\cite{PICINS},
-% cited in The \LaTeX\ Companion~\cite{COMP}, which do not ask for the box width
-% and it can also be used with lists.
-% Nevertheless vertical positioning can be tricky.
-% For this purpose, we have written the "\dualboxes"\oarg{pos}\marg{left}\marg{right} macro,
+% Several packages intend to typeset text around a figure or a table,
+% but some of them need to give the width of the box containing the figure or the table.
+% We provide here another approach with the macro
+% "\dualboxes"\oarg{pos}\marg{left}\marg{right},
 % which places two boxes, \meta{left} and \meta{right}, side by side.
-% These boxes can contain figures, tables, text, \texttt{minipage} environments
+% These boxes can contain figures, tables, one small line text, 
+% parbox text, \texttt{minipage} environments
 % (for several paragraphs and lists), etc.
 % The optional \meta{pos} parameter sets the vertical level on which the boxes are aligned:
 % a number between 0 (bottom) and 1 (top, default value).
-% Here is a first example with "\dualboxes[0.65]".
 %
+% Here is a first example in which we have adjusted  the postion
+% of the boxes vertically, with "\dualboxes[0.6]".
+%
+% \def\myfigure{%
+% \begin{tikzpicture}[scale=0.6]\tiny 
+%     \draw[->] (-4.5,0) -- (4.5,0);
+%     \draw[->] (0,-2) -- (0,1.5);
+%     \foreach \x in {-4,...,4} {\draw (\x,0.1cm) -- (\x,-0.1cm) node[below] {$\x$};}
+%     \foreach \y in {-1,1} {\draw (0.1cm,\y) -- (-0.1cm,\y) node[left] {$\y$};}
+%     \draw[domain=-4.5:4.5,samples=100,color=red] plot ({\x},{2*\x/(exp(\x)-\x)});
+% \end{tikzpicture}}
+%
+% \def\mytable{
+%     $\begin{array}{|*{6}{c|}} \hline
+%         x    & -2    & -1    & 0 & 1    & 2    \\ \hline
+%         f(x) & -1,87 & -1,46 & 0 & 1,16 & 0,74 \\ \hline
+%     \end{array}$
+% }
+%
 % \medskip
-% \psset{xunit=0.5cm,yunit=1.0cm,algebraic=true}
-% \dualboxes[0.65]{\footnotesize
-%    $\begin{array}{|*{7}{c|}} \hline
-%        x    & -2    & -1    & 0 & 1    & 2    & 3    \\ \hline
-%        f(x) & -0.96 & -0.71 & 0 & 0.59 & 0.38 & 0.18 \\  \hline
-%    \end{array}$
-%    }{
-%    \begin{pspicture}(-4.5,-1.5)(4.5,1)
-%        \psaxes[labelFontSize=\scriptstyle,ticksize=-2pt,linewidth=0.3pt]
-%            {->}(0,0)(-4.5,-1.5)(4.5,1)
-%        \psplot[linecolor=red]{-4.5}{4.5}{x/(EXP(x)-x)}
-%    \end{pspicture}
-% } 
+% \dualboxes[0.6]{\scriptsize \mytable}{\myfigure}
 %
 % \noindent
-% The horizontal space is equally shared between left margin, inter-box space and right margin.
+% The horizontal space is equally shared between left margin, inter-box space 
+% and right margin.
 % 
 % \medskip
-% In the following example the right box has been shifted back 
+% In the following example boxes are aligned by top and
+% the right box has been shifted back (left) from 3\,cm
 % to make an overlapping with the left one, what \textsf{picins} cannot do. 
 % 
-%\dualboxes{\footnotesize
-%    $\begin{array}{|*{7}{c|}} \hline
-%        x    & -2    & -1    & 0 & 1    & 2    & 3    \\ \hline
-%        f(x) & -0.96 & -0.71 & 0 & 0.59 & 0.38 & 0.18 \\  \hline
-%    \end{array}$
-%    }{\mbox{} \hspace{-3cm}
-%    \begin{pspicture}(-4.5,-1.5)(4.5,1)
-%        \psaxes[labelFontSize=\scriptstyle,ticksize=-2pt,linewidth=0.3pt]
-%            {->}(0,0)(-4.5,-1.5)(4.5,1)
-%        \psplot[linecolor=red]{-4.5}{4.5}{x/(EXP(x)-x)}
-%    \end{pspicture}
-%}
+% \dualboxes{\scriptsize \mytable}{\mbox{} \hspace{-3cm} \myfigure}
 % \begin{verbatim}
-% \dualboxes{\footnotesize
-%    $\begin{array}{|*{7}{c|}} \hline
-%        x    & -2    & -1    & 0 & 1    & 2    & 3    \\ \hline
-%        f(x) & -0.96 & -0.71 & 0 & 0.59 & 0.38 & 0.18 \\ \hline
-%    \end{array}$
+% \dualboxes{\scriptsize
+%     $\begin{array}{|*{6}{c|}} \hline
+%         x    & -2    & -1    & 0 & 1    & 2    \\ \hline
+%         f(x) & -1,87 & -1,46 & 0 & 1,16 & 0,74 \\ \hline
+%     \end{array}$
 % }{\mbox{} \hspace{-3cm}
-%    \begin{pspicture}(-4.5,-1.5)(4.5,1) % needs the pstricks-add package
-%        \psaxes[labelFontSize=\scriptstyle,ticksize=-2pt,linewidth=0.3pt]
-%            {->}(0,0)(-4.5,-1.5)(4.5,1)
-%        \psplot[linecolor=red]{-4.5}{4.5}{x/(EXP(x)-x)}
-%    \end{pspicture}
+%     \begin{tikzpicture}[scale=0.6]\tiny
+%         \draw[->] (-4.5,0) -- (4.5,0);
+%         \draw[->] (0,-2) -- (0,1.5);
+%         \foreach \x in {-4,...,4} {
+%             \draw (\x,0.1cm) -- (\x,-0.1cm) node[below] {$\x$};}
+%         \foreach \y in {-1,1} {
+%             \draw (0.1cm,\y) -- (-0.1cm,\y) node[left] {$\y$};}
+%         \draw[domain=-4.5:4.5,samples=100,color=red] 
+%             plot ({\x},{2*\x/(exp(\x)-\x)});
+%     \end{tikzpicture}
 % }
 % \end{verbatim}
 %
 % \DescribeMacro{\dualboxes*}
-% This command has a starred version which eliminates spaces at the beginning and at the
-% end of the line, the only remaining space is between the boxes:
+% This command has a starred version that eliminates space before the first box
+% and after the second one, but not between them:
 % "\dualboxes*"\oarg{pos}\marg{left}\marg{right}.
-% \dualboxes*{\parbox{7cm}{
-% Here the left part consist of a paragraph box obtained with
-% \texttt{\bslash parbox\{7cm\}\{...\}}.
-% If we want several paragraphs, a list or a mathematical displayed formula,
-% in one of the boxes,
-% then we have to put them in a \texttt{minipage} environment.
-% }}{\begin{pspicture}(-4.5,-1.5)(4.5,1)
-%        \psaxes[labelFontSize=\scriptstyle,ticksize=-2pt,linewidth=0.3pt]
-%            {->}(0,0)(-4.5,-1.5)(4.5,1)
-%        \psplot[linecolor=red]{-4.5}{4.5}{x/(EXP(x)-x)}
-%    \end{pspicture}
-% }
 %
-% \noindent
-% Let us indicate that it's unfortunately not possible to use \texttt{verbatim} environments
+% \smallskip
+% \dualboxes*[0.6]{\parbox{6.5cm}{
+%     In practice, \texttt{\bslash dualboxes} is suitable for boxes in which 
+%     you put figures or tables or small one line text.
+%     For longer text, this one must be nested in a paragraph box, \eg 
+%     here we used \texttt{\bslash parbox\{6.5cm\}\{...\}}.
+%     If you want several paragraphs, a list or a mathematical displayed formula,
+%     then you have to put them in a \texttt{minipage} environment.}
+% }{\myfigure}
+%
+% \medskip
+% Let us indicate that it is unfortunately not possible to use \texttt{verbatim} environments
 % (nor the in-line \texttt{\bslash verb} command)
 % within "\dualboxes" arguments,
-% just as it's not possible for footnotes or margin notes.  
+% as well as it is not possible for footnotes or margin notes.  
 %
+% \medskip
+% For putting two figures side by side, or a table and a figure, "\dualboxes" is perfect.
+% But for text around a figure, some other package may be more efficient.
+% Les us mention first \textsf{wrapfig}~\cite{WRAPFIG}, one of the easiest, but text must
+% contain in a single paragraph (like above), without list or you have to place it in
+% a \texttt{minipage} environment.
+%
+% More sophisticated is the \textsf{picins} package~\cite{PICINS},
+% cited in The \LaTeX\ Companion~\cite{COMP}.
+% Unlike most others, it can be used with lists,
+% nevertheless vertical positioning can be tricky
+% and it doesn't belong to common distributions \TeX{}\,Live or MiK\TeX.
+% A last one we mention is \textsf{picinpar}~\cite{PICINPAR} in which
+% text can begin after the first line and can flow to the two side of the figure.
+%
+% \hypertarget{juxtapose}{}
+% \medskip
+% \DescribeEnv{juxtapose}
+% As a very interesting alternative, we present the powerful \texttt{juxtapose} environment,
+% written by Christian Obrecht in the \texttt{fiche.cls class} file,
+% which is part of the \textsf{mafr} distribution~\cite{MAFR}.
+% We made small improvements, among others to work correctly with lists and
+% get customization of some lengths:
+% \DescribeMacro{\juxtopskip}\DescribeMacro{\juxbottomskip}
+% \DescribeMacro{\juxsepspace}
+% top and bottom lengths are set by default to "\smallskipamount" 
+% and separation space is set to 1.5\,em.
+% For spacing above or below the environment, if the default length doesn't fit well,
+% you can add a "\bigskip" or a "\vspace"\marg{dimen} for example,
+% or at worst redefine the length "\juxtopskip" and "\juxbottomskip".
+% \begin{juxtapose}
+%     In this example the environment begins here.
+%     \texttt{juxtapose} can deal with figures, tables, but also:
+%     \begin{compactlist}
+%         \item verbatim text: "\mytestmacro",
+%         \item text with several paragraphs,
+%         \item lists, like here (a compact list),
+%         \item displayed mathematics as shown on the right side,
+%     \end{compactlist} 
+%     without the need of \texttt{multipage} environments.
+
+% The two boxes are aligned by their center, but
+% unlike "\dualboxes", you cannot adjust vertical positioning.
+% 
+% \otherside 
+%     \myfigure
+%     \[ f(x) = \frac{2x}{\mathrm{e}^x-x} \]
+%     This is the last line of the environment.
+% \end{juxtapose}
+%
+% Here begins the following text. The syntax of \texttt{juxtapose} is simple: 
+% \begin{center}
+% "\begin{juxtapose} ... \otherside ... \end{juxtapose}"
+% \end{center}
+% It has an optional argument "\begin{juxtapose}"\oarg{leftratio}
+% where \meta{leftratio} is the width ratio of the left side relatively to "\textwidth"
+% (the default value is "0.5" which means "0.5\textwidth"). 
+%
+% Paragraphs are indented inside each side, except the first one,
+% because for a figure, there's no need to shift it to the right
+% (from indent length) and otherwise the user may forgot to 
+% put "\noindent" before the figure.
+% If you still want to indent the first paragraph use "\indent".
+% For horizontal alignment inside one side, you can use "\centering" or "\flushright"
+% (useful for a figure).
+% If you want a global indentation of the first (or the second) box, you
+% can put it in an \texttt{indentblock} environment, it works fine!
+%
+% \medskip
+% One may ask why not using multi column environments instead.
+% In the classic \textsf{multicol} environment you cannot choose unbalanced
+% columns and you cannot choose where to pass to the other column.
+%
+% Some nice packages improve \textsf{multicols}, \eg \textsf{vwcol}~\cite{VWCOL} in which
+% you can fix on the columns width, but unfortunately it doesn't accept
+% verbatim text, and doesn't manage correctly lists and figures like above.
+%
+% Let us mention \textsf{paracol}~\cite{PARA} and \textsf{reledpar}~\cite{RELP},
+% which are intended to typeset two column of text in parallel, 
+% useful for translation or critical edition of text.
+% They work fine with lists, figures, verbatim text, and also footnotes and margin notes,
+% but it is not immediate to obtain just a chosen vertical positioning of two boxes.
+% They have synchronization mechanisms, convenient for text, but
+% not when you place two figures side by side.
+% Besides they are a bit oversized for our need. They don't have the same purpose.
+% So we can hope \texttt{juxtapose} or "\dualboxes" are useful.
+%
 % \StopEventually{}
 %
 % \section{Implementation}
 %    \begin{macrocode}
+\newif\ifspacingtricks at pifont
+\DeclareOption{pifont}{\spacingtricks at pifonttrue}
+\ProcessOptions \relax
+
 \RequirePackage{ifthen}
 \RequirePackage{calc}
 \RequirePackage{setspace}
 \RequirePackage{xspace}
+\RequirePackage{centeredline}
+\ifspacingtricks at pifont \RequirePackage{pifont} \fi
 
 \newcommand*{\centered}[1]{{\setlength{\parskip}{0pt}\par\noindent\hfill
-            #1\hfill\mbox{}}}
+        #1\hfill\mbox{}}}
 %    \end{macrocode}
 % The double braces are necessary here to ensure that the "\parskip" modification applies
 % locally within the command and not globally to the rest of the document. 
@@ -536,29 +730,29 @@
 
 \newenvironment*{indentblock}[1][\parindentlength]{
     \begin{list}{}{% 
-            \setlength{\leftmargin}{#1}
-            \setlength{\itemsep}{0pt}
-            \setlength{\topsep}{1ex}
-            \setlength{\partopsep}{0pt}
-        }
-        \item[]
-        }{\end{list}}
+        \setlength{\leftmargin}{#1}
+        \setlength{\itemsep}{0pt}
+        \setlength{\topsep}{0pt} % previously 1ex
+        \setlength{\partopsep}{0pt}
+    }
+    \item[]
+}{\end{list}}
 
 \newlength{\compactlistindent}
 \setlength{\compactlistindent}{0.5em}
 \newenvironment*{compactlist}[1][\textbullet]{
     \par % sometimes necessary
-    \begin{list}{#1\unskip}{% \unskip suppresses the space created by \xspace
-            \setlength{\itemsep}{0pt}
-            \setlength{\parsep}{0pt}
-            \setlength{\topsep}{0ex}
-            \setlength{\partopsep}{0pt}
-            \setlength{\labelwidth}{1em}
-            \setlength{\leftmargin}{\labelwidth}
-            \addtolength{\leftmargin}{\labelsep}
-            \addtolength{\leftmargin}{\compactlistindent}
-        }
-        }{\end{list}}
+    \begin{list}{#1\unskip}{% \unskip gobbles space created by \xspace
+        \setlength{\itemsep}{0pt}
+        \setlength{\parsep}{0pt}
+        \setlength{\topsep}{0ex}
+        \setlength{\partopsep}{0pt}
+        \setlength{\labelwidth}{1em}
+        \setlength{\leftmargin}{\labelwidth}
+        \addtolength{\leftmargin}{\labelsep}
+        \addtolength{\leftmargin}{\compactlistindent}
+    }
+}{\end{list}}
 
 \providecommand{\bul}{\textbullet}
 \providecommand{\dash}{\textendash}
@@ -569,9 +763,11 @@
 % The following macros need the \textsf{pifont} package.
 % \smallskip
 %    \begin{macrocode}
-\providecommand{\hand}{\ding{43}\xspace}
-\providecommand{\checksymb}{\ding{51}\xspace}
-\providecommand{\arrowsymb}{\ding{226}\xspace}
+\ifspacingtricks at pifont
+    \providecommand{\hand}{\ding{43}\xspace}
+    \providecommand{\checksymb}{\ding{51}\xspace}
+    \providecommand{\arrowsymb}{\ding{226}\xspace}
+\fi
 
 \providecommand{\ie}{i.e.\@\xspace}
 \providecommand{\eg}{e.g.\@\xspace}
@@ -578,7 +774,7 @@
 
 \newcommand{\@@dualboxes}[3][1]{
     \par\noindent
-    \raisebox{\depth-#1\totalheight}{#2} \hfill
+    \raisebox{\depth-#1\totalheight}{#2} \hfill % needs calc
     \raisebox{\depth-#1\totalheight}{#3} \smallskip
 }
 \newcommand{\@dualboxes}[3][1]{
@@ -587,26 +783,81 @@
     \raisebox{\depth-#1\totalheight}{#3} \hfill\mbox{}\smallskip
 }
 \newcommand{\dualboxes}{\@ifstar{\@@dualboxes}{\@dualboxes}}
+
 %    \end{macrocode}
 %
+% The following macro has been found in the \texttt{fiche.cls} file,
+% distributed with the \textsf{mafr} package by Christian Obrecht~\cite{MAFR}.
+% It had some tiny bugs in spacing.
+% I just made small changes: adding some lengths parameters and the "\linewidth"
+% instruction (without whom, lists in the first side send the second side out of the page).
+%    \begin{macrocode}
+\newlength\juxtopskip
+\setlength\juxtopskip{\smallskipamount}
+\newlength\juxbottomskip
+\setlength\juxbottomskip{\smallskipamount}
+\newlength\juxsepspace
+\setlength\juxsepspace{1.5em}
+\newlength\side at width
+
+\newenvironment{juxtapose}[1][0.5]{% left side ratio
+    \def\otherside{\egroup % internal function remembers \side at width
+        \@tempdima=\side at width
+        \side at width=\textwidth
+        \advance\side at width by -\@tempdima
+        \advance\side at width by -\juxsepspace
+        \hskip\juxsepspace
+        \linewidth=\side at width % for lists environments
+        \vcenter\bgroup\hsize=\side at width\noindent % \ignorespaces useless
+        }
+    \side at width=#1\textwidth
+    \advance\side at width by -0.5\juxsepspace
+    \linewidth=\side at width % for lists environments
+    \par\vskip\juxtopskip%
+    \hbox\bgroup\begin{math}
+    \vcenter\bgroup\hsize=\side at width\noindent\ignorespaces
+    }{\egroup\end{math}\egroup\vskip\juxbottomskip}
+
+%    \end{macrocode}
+%
 % \medskip
-% \begin{thebibliography}{9}
+% \begin{thebibliography}{17}
+% \begin{raggedright}
+% \bibitem{SETSP} \emph{The \textsf{setspace} Package}, Robin Fairbairns, Geoffrey Tobin,
+% CTAN, v9.7b 2022/12/04.
 % \bibitem{XSP} \emph{The \textsf{xspace} package}, David Carlisle, Morten Høgholm, 
 % CTAN v1.13 2014/10/28.
+% \bibitem{CENTER} \emph{\textsf{centeredline} -- A macro for centering lines}, Jean-François
+% Burnol, CTAN, v1.2 2022/10/10.
+% \bibitem{MAFR} \emph{La distribution \textsf{mafr}}, Christian Obrecht, 
+% CTAN, v1.0 17/09/2006.
+% \bibitem{ARCOL} \emph{The \textsf{arraycols} package}, Antoine Missier, CTAN, 
+% v1.2 2021/09/20.
+% \bibitem{MSMATH} \emph{\textsf{mismath} -- Miscellaneous mathematical macros}, 
+% Antoine Missier, CTAN, v2.5 2023/02/24.
 % \bibitem{MKCELL} \emph{The \textsf{makecell} package}, Olga Lapko, CTAN, v0.1e 2009/08/03.
-% \bibitem{CENTER} \emph{\textsf{centeredline} -- A macro for centering lines}, Jean-François
-% Burnol, CTAN, v1.1 2019/05/03.
-% \bibitem{CELLSP} \emph{The \textsf{cellspace} package}, Josselin Noirel, CTAN, v1.8 2019/03/11.
+% \bibitem{CELLSP} \emph{The \textsf{cellspace} package}, Josselin Noirel, CTAN, 
+% v1.9.0 2022/01/04.
+% \bibitem{PIFONT} \emph{\textsf{pifont} -- Using common PostScript fonts with \LaTeX}, 
+% Walter Schmidt, CTAN, v9.3 2020/03/25.
 % \bibitem{ENUM} \emph{Customizing lists with the \textsf{enumitem} package}, Javier Bezos, 
 % CTAN, v3.9 2019/06/20.
-% \bibitem{ARCOL} \emph{The \textsf{arraycols} package}, Antoine Missier, CTAN, v1.2 2021/09/20.
-% \bibitem{MSMATH} \emph{\textsf{mismath} -- Miscellaneous mathematical macros}, Antoine Missier,
-% CTAN, v1.8 2020/11/15.
+% \bibitem{WRAPFIG} \emph{The \textsf{wrapfig} package}, Donald Arseneau, CTAN, 
+% v3.6 2003/01/31.
 % \bibitem{PICINS} \emph{Bilder in \LaTeX -Dokumenten -- PicIns-Benutzerhandbuch},
 % Joachim Bleser, Edmund Lang, CTAN, v3.0 sept. 1992.
+% \bibitem{PICINPAR} \emph{The \textsf{picinpar} package}, Friedhelm Sowa, Stefan Blochwitz, 
+% CTAN, v1.3 2022/11/25.
+% \bibitem{VWCOL} \emph{The \textsf{vwcol} package}, Will Robertson, CTAN, v0.2 2015/02/10.
+% \bibitem{PARA} \emph{Package \textsf{paracol}: Yet Another Multi-Column Package 
+% to Typeset Columns in Parallel}, Hiroshi Nakashima, CTAN, v1.35 2018/12/31. 
+% \bibitem{RELP} \emph{Parallel typesetting for critical editions:
+% the \textsf{reledpar} package}, Maïeul Rouquette, Peter Wilson, Herries Press, CTAN,
+% 2.25.3 2022/04/22.
 % \bibitem{COMP} \emph{The \LaTeX\ Companion}. Frank Mittelbach, Michel Goossens, 
 % Johannes Braams, David Carlisle, Chris Rowley, 2nd edition, Pearson Education, 2004.
+% \end{raggedright}
 % \end{thebibliography}
-
+%
 % \Finale
 \endinput

Modified: trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.ins	2023-02-27 20:33:36 UTC (rev 66223)
+++ trunk/Master/texmf-dist/source/latex/spacingtricks/spacingtricks.ins	2023-02-27 20:33:49 UTC (rev 66224)
@@ -1,5 +1,5 @@
 %%
-%% Copyright (C) 2019-2021 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+%% Copyright (C) 2019-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 %%
 %% This file may be distributed and/or modified under the conditions of
 %% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,7 +21,7 @@
 
 This is a generated file.
 
-Copyright (C) 2019-2021 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+Copyright (C) 2019-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 
 This file may be distributed and/or modified under the conditions of
 the LaTeX Project Public License, either version 1.3 of this license
@@ -46,7 +46,7 @@
 \Msg{*     spacingtricks.sty                                     *}
 \Msg{*                                                           *}
 \Msg{* To produce the documentation run the file                 *}
-\Msg{* spacingtricks.dtx through LaTeX + dvips + ps2pdf          *}
+\Msg{* spacingtricks.dtx through LaTeX                           *}
 \Msg{*                                                           *}
 \Msg{* Happy TeXing!                                             *}
 \Msg{*                                                           *}

Modified: trunk/Master/texmf-dist/tex/latex/spacingtricks/spacingtricks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/spacingtricks/spacingtricks.sty	2023-02-27 20:33:36 UTC (rev 66223)
+++ trunk/Master/texmf-dist/tex/latex/spacingtricks/spacingtricks.sty	2023-02-27 20:33:49 UTC (rev 66224)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 2019-2021 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+%% Copyright (C) 2019-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 %% 
 %% This file may be distributed and/or modified under the conditions of
 %% the LaTeX Project Public License, either version 1.3 of this license
@@ -22,14 +22,21 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{spacingtricks}
-    [2021/09/20 v1.4 .dtx spacingtricks file]
+    [2023/02/27 v1.5 .dtx spacingtricks file]
+
+\newif\ifspacingtricks at pifont
+\DeclareOption{pifont}{\spacingtricks at pifonttrue}
+\ProcessOptions \relax
+
 \RequirePackage{ifthen}
 \RequirePackage{calc}
 \RequirePackage{setspace}
 \RequirePackage{xspace}
+\RequirePackage{centeredline}
+\ifspacingtricks at pifont \RequirePackage{pifont} \fi
 
 \newcommand*{\centered}[1]{{\setlength{\parskip}{0pt}\par\noindent\hfill
-            #1\hfill\mbox{}}}
+        #1\hfill\mbox{}}}
 \newcommand{\footnotespace}{}
 \newcommand{\footnoteindent}{}
 \let\footnt\footnote
@@ -55,37 +62,39 @@
 
 \newenvironment*{indentblock}[1][\parindentlength]{
     \begin{list}{}{%
-            \setlength{\leftmargin}{#1}
-            \setlength{\itemsep}{0pt}
-            \setlength{\topsep}{1ex}
-            \setlength{\partopsep}{0pt}
-        }
-        \item[]
-        }{\end{list}}
+        \setlength{\leftmargin}{#1}
+        \setlength{\itemsep}{0pt}
+        \setlength{\topsep}{0pt} % previously 1ex
+        \setlength{\partopsep}{0pt}
+    }
+    \item[]
+}{\end{list}}
 
 \newlength{\compactlistindent}
 \setlength{\compactlistindent}{0.5em}
 \newenvironment*{compactlist}[1][\textbullet]{
     \par % sometimes necessary
-    \begin{list}{#1\unskip}{% \unskip suppresses the space created by \xspace
-            \setlength{\itemsep}{0pt}
-            \setlength{\parsep}{0pt}
-            \setlength{\topsep}{0ex}
-            \setlength{\partopsep}{0pt}
-            \setlength{\labelwidth}{1em}
-            \setlength{\leftmargin}{\labelwidth}
-            \addtolength{\leftmargin}{\labelsep}
-            \addtolength{\leftmargin}{\compactlistindent}
-        }
-        }{\end{list}}
+    \begin{list}{#1\unskip}{% \unskip gobbles space created by \xspace
+        \setlength{\itemsep}{0pt}
+        \setlength{\parsep}{0pt}
+        \setlength{\topsep}{0ex}
+        \setlength{\partopsep}{0pt}
+        \setlength{\labelwidth}{1em}
+        \setlength{\leftmargin}{\labelwidth}
+        \addtolength{\leftmargin}{\labelsep}
+        \addtolength{\leftmargin}{\compactlistindent}
+    }
+}{\end{list}}
 
 \providecommand{\bul}{\textbullet}
 \providecommand{\dash}{\textendash}
 \providecommand{\ddash}{\textemdash}
 \providecommand{\aster}{\textasteriskcentered}
-\providecommand{\hand}{\ding{43}\xspace}
-\providecommand{\checksymb}{\ding{51}\xspace}
-\providecommand{\arrowsymb}{\ding{226}\xspace}
+\ifspacingtricks at pifont
+    \providecommand{\hand}{\ding{43}\xspace}
+    \providecommand{\checksymb}{\ding{51}\xspace}
+    \providecommand{\arrowsymb}{\ding{226}\xspace}
+\fi
 
 \providecommand{\ie}{i.e.\@\xspace}
 \providecommand{\eg}{e.g.\@\xspace}
@@ -92,7 +101,7 @@
 
 \newcommand{\@@dualboxes}[3][1]{
     \par\noindent
-    \raisebox{\depth-#1\totalheight}{#2} \hfill
+    \raisebox{\depth-#1\totalheight}{#2} \hfill % needs calc
     \raisebox{\depth-#1\totalheight}{#3} \smallskip
 }
 \newcommand{\@dualboxes}[3][1]{
@@ -102,6 +111,32 @@
 }
 \newcommand{\dualboxes}{\@ifstar{\@@dualboxes}{\@dualboxes}}
 
+\newlength\juxtopskip
+\setlength\juxtopskip{\smallskipamount}
+\newlength\juxbottomskip
+\setlength\juxbottomskip{\smallskipamount}
+\newlength\juxsepspace
+\setlength\juxsepspace{1.5em}
+\newlength\side at width
+
+\newenvironment{juxtapose}[1][0.5]{% left side ratio
+    \def\otherside{\egroup % internal function remembers \side at width
+        \@tempdima=\side at width
+        \side at width=\textwidth
+        \advance\side at width by -\@tempdima
+        \advance\side at width by -\juxsepspace
+        \hskip\juxsepspace
+        \linewidth=\side at width % for lists environments
+        \vcenter\bgroup\hsize=\side at width\noindent % \ignorespaces useless
+        }
+    \side at width=#1\textwidth
+    \advance\side at width by -0.5\juxsepspace
+    \linewidth=\side at width % for lists environments
+    \par\vskip\juxtopskip%
+    \hbox\bgroup\begin{math}
+    \vcenter\bgroup\hsize=\side at width\noindent\ignorespaces
+    }{\egroup\end{math}\egroup\vskip\juxbottomskip}
+
 \endinput
 %%
 %% End of file `spacingtricks.sty'.



More information about the tex-live-commits mailing list.