summaryrefslogtreecommitdiff
path: root/info/mathtrip/doc/HowtoModify.tex
diff options
context:
space:
mode:
Diffstat (limited to 'info/mathtrip/doc/HowtoModify.tex')
-rw-r--r--info/mathtrip/doc/HowtoModify.tex175
1 files changed, 175 insertions, 0 deletions
diff --git a/info/mathtrip/doc/HowtoModify.tex b/info/mathtrip/doc/HowtoModify.tex
new file mode 100644
index 0000000000..e81ae67295
--- /dev/null
+++ b/info/mathtrip/doc/HowtoModify.tex
@@ -0,0 +1,175 @@
+\documentclass[paper=a4,fontsize=11pt,div=19]{scrartcl}
+
+\usepackage{GfsDidotSourire} %To define the fonts of the document
+
+%Change the options of GfsDidot to define math fonts (since the lwarp
+%package is yet loaded) and load
+%the required "unicode-math" package.
+\GfsDidotSetup{math-fonts=true}
+
+\usepackage{HowtoModify}
+
+%To mention the name of the main document
+\newcommand\Doc{``MathTrip.tex''}
+
+\begin{document}
+
+\maketitle % Or titlepage/titlingpage environment.
+
+% An article abstract would go here.
+\begin{abstract}
+ \setlength{\parindent}{0pt}%
+ \setlength{\parskip}{.5ex plus .1ex minus .5ex}
+ \noindent This text will give some details how to modify the document
+ \Doc{} to compose it with a new math font without disturbing
+ the tuning already done for some others math fonts.
+
+ Since this document is very dense and uses almost all the area
+ of the page, this is not a trivial task.
+\end{abstract}
+
+\tableofcontents
+
+\section{Introduction}
+ The main purpose of the document \Doc{} is to show the result of using
+a particular math font with a lot of different mathematical formulae spread
+over all the different mathematical fields.
+
+\Doc{} uses almost all the area of an A4 page and contain a lot of text. These
+both aspects render the composition quite difficult since very few space remains
+to the \TeX{} engine to setup the text on the page.
+
+It is almost impossible to let \TeX{} doing all the composition of the page
+and some visual formating is mandatory. To add a little more complexity
+it would be nice if the document \Doc{} could be composed easily with multiple
+different fonts.
+
+This last point is solved quite easily by specifying few parameters to the document
+to specify the new font to use. But, unfortunately, this is only the beginning of the
+difficulties since the composition with a new math font destroy generally totally
+the layout of the document.
+
+The good news, however, is that it is not too difficult to tune. Almost all the critical
+dimentions for the layout of the page are specified by parameters. By tuning very few
+of these parameters the layout can be restored quite easily even if this is a time
+consuming process.
+
+It is too complicated to typeset all the versions of \Doc{} with all the possible fonts
+in one pass or with one file. The best solution to have a document with all the possible fonts is to generate
+(with an external script) all the different PDF files and merge them in one file afterwards.
+To facilitate this procedure, it is possible by specifying some parameters to have a title page of
+the document without all the elements used in the first page.
+
+The last surprising difficulty encountered was the incompatibility between
+XeLaTeX and LuaLaTeX. The both engines produce different typesetting (specially
+in a narrow space) and at few places the parameters have had to be tuned specifically
+for LuaLaTeX (since the default \TeX{} engine used was XeLaTeX).
+
+\begin{sloppypar}
+The composition of the \Doc{} has been extensively tested with the TeXlive~2022
+distribution but not yet with any other \TeX{} distributions.
+\end{sloppypar}
+
+\section{Structure of \Doc}
+The use of the LaTeX package ``nicematrix'' has greatly helped
+to better the structure of each page of the document. Each page
+is a ``nicematrix'' tabular of 1 to 5 columns (but generally 3).
+
+The main document is \fich{MathTrip.tex}. This is the start point to modify something
+since it contains the inclusion of all the pages. The best way to work on a page is
+to comment (in the file \fich{MathTrip.tex}) all the pages which should not be modified
+and to work on one page after the other.
+
+The second most important file is \fich{SpecificDimention.sty}. This document contains
+all the parametrized values used somewhere in the document. Since the document
+was done initially for the font GFS NeoHellenicMath, all the dimentions are
+defined (in the macro \verb+\DefaultDimentions+) for this font.
+
+Some other macros are defined for the other fonts (which are usable
+to typeset the document) but they contain only the deviations from the
+values used for the GFS NeoHellenic font.
+
+Currently these other
+macros exist but are unusable since they are defined for an old
+version of \Doc{} and some of the parametrized dimentions have
+changed or do not exist any more. In the next version of \Doc{}
+these macros will be adapted to the use of the other common math fonts
+available on \acro{ctan}.
+
+Generally, there is only few different values (for the other fonts)
+since most of the values used for the GFS NeoHellenic font
+could be used with them.
+
+The meaning of the different parameters and where they are used in the document
+is explained by some comments around their declaration in
+the file \fich{Spe\BR{}ci\BR{}fic\BR{}Di\BR{}men\BR{}tion.\BR{}sty}.
+
+\section{Structure of a page}
+Each page is contained in a file with a name starting with the letter \textbf{T} followed
+by the number of the page. Associated to each page there is an other file
+with the same name as the page but with the suffix \fich{Def} added.
+
+This latter file is important since it contains the list of each file used
+on the page to write the mathematical text. To find in what file some mathematical
+text is located one should look in the file of the definitions for the corresponding
+page.
+
+For instance the page 10 (probably the most complicated one) is in the
+file \fich{T10.tex} and the corresponding definitions are located in
+the file \fich{T10Def.tex}.
+
+\section{Structure of a mathematical (or text) block}
+Most of the mathematical text is composed of a block of text of some dimention.
+This block is placed somewhere in a page. The most important dimention
+is the width of the line usable to write the mathematical text.
+
+To be able to place correctly on the page the block of math text, a specific
+structure should be used by defining a macro with a parameter (which is the
+width usable for the text).
+
+This macro should produce a \verb+\parbox+ top aligned with the required
+width. Inside this parbox the mathematical text should be typeset.
+
+\subsection{Example: block for a quote used in a page}
+\lstinputlisting{ExampleDoc1.tex}
+
+\subsection{Example: modification of a page}
+If one want to modify a page, it can follow what should be done for the page 10
+(the most complicated one).
+
+The file \fich{T10.tex} contains the code of the page (mainly an environment \verb+NiceTabular+).
+The file \fich{T10Def.tex} contains some specific macro used only on page~10.
+The files:
+ \begin{itemize}
+ \item\fich{series2.tex}
+ \item\fich{EscherPage10.tex}
+ \item\fich{series4.tex}
+ \item\fich{stieltjes.tex}
+ \item\fich{cramers.tex}
+ \item\fich{quote5.tex}
+ \item\fich{fib1.tex}
+ \item\fich{magic.tex}
+ \end{itemize}
+contain the mathematic used in the page.
+
+Each mathematical part
+is typeset in a parbox top aligned and with a width given in parameter. In fact,
+each of these files provides a macro to draw the parbox. This macro can be used
+in a \verb+\Block+ command of the package ``nicematrix''.
+
+It is easier to test the command typesetting math outside the environment \verb+NiceTabular+.
+To do that, the easiest solution is to comment out all the environment \verb+NiceTabular+ and to
+call the macro provided in one of the files by adjusting correctly the width of the text.
+An example of code to do that is:
+\begin{center}
+ \lstinputlisting{ExampleDoc2.tex}
+\end{center}
+
+The macro \verb+\AddBlankLines+ used in the environment \verb+NiceTabular+ is used to add
+some lines to the nice array (or tabular).
+The command \verb+\Block+ generally does not add space
+and the missing lines should be added manually (otherwise a block of more than
+one line cannot be drawn).
+\section{Using a new font}
+ This section has to be written...
+\end{document}