diff options
Diffstat (limited to 'info/mathtrip/doc/HowtoModify.tex')
-rw-r--r-- | info/mathtrip/doc/HowtoModify.tex | 175 |
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} |