Skip to content

Commit 39d36f0

Browse files
committed
calculate topskip from high letters
1 parent 978e96d commit 39d36f0

File tree

1 file changed

+30
-7
lines changed

1 file changed

+30
-7
lines changed

xsl/projects/alea/latex/preamble.xsl

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,20 +125,43 @@ target/bin/xslt.sh \
125125
<xsl:value-of select="$fontsize"/>
126126
<xsl:text>]{fontsize}</xsl:text>
127127

128+
<xsl:text>&lb;%% calculate the height of a arabic letters from very high examples</xsl:text>
129+
<xsl:text>&lb;\AtBeginDocument{</xsl:text>
130+
<xsl:text>&lb; \newlength{\ArabicCharHeight}</xsl:text>
131+
<xsl:text>&lb; \settoheight{\ArabicCharHeight}{\hbox{تَحلَّتْ يُخْلِ}}% height from lam + wasla + shadda</xsl:text>
132+
<xsl:text>&lb; \setlength{\topskip}{\ArabicCharHeight}</xsl:text>
133+
<xsl:text>&lb;}</xsl:text>
134+
128135
<xsl:text>&lb;%\usepackage{calc}</xsl:text>
129-
<xsl:text>&lb;\setlength{\baselineskip}{26pt}% does not work here. Put this to inside document environment!</xsl:text>
130-
<xsl:text>&lb;%\newlength{\LinesXXV}% height of 25 lines</xsl:text>
131-
<xsl:text>&lb;%\setlength{\LinesXXV}{\topsep}</xsl:text>
132-
<xsl:text>&lb;%\addtolength{\LinesXXV}{24\baselineskip}</xsl:text>
136+
<xsl:text>&lb;%% setting \baeslineskip does not work here. Put this to inside document environment!</xsl:text>
137+
<xsl:text>&lb;%\addtolength{\topskip}{4pt}</xsl:text>
138+
<xsl:text>&lb;\newlength{\ergonlineskip}% baselineskip in normalfont text</xsl:text>
139+
<xsl:text>&lb;\setlength{\ergonlineskip}{26pt}%</xsl:text>
140+
<xsl:text>&lb;\setlength{\baselineskip}{\ergonlineskip}</xsl:text>
141+
<xsl:text>&lb;\newlength{\LinesXXV}% height of 25 lines</xsl:text>
142+
<xsl:text>&lb;\setlength{\LinesXXV}{\topsep}%</xsl:text>
143+
<xsl:text>&lb;\addtolength{\LinesXXV}{21\ergonlineskip}</xsl:text>
144+
<xsl:text>&lb;\addtolength{\LinesXXV}{-5mm}</xsl:text>
133145

134146
<!-- typearea of the books in the ALEA series -->
135147
<!-- top margin: 22.5mm, but reduced by 3mm which are added to headsep -->
136-
<xsl:text>&lb;\usepackage[papersize={170mm,240mm},inner=23mm,textwidth=113mm,vmargin={19.5mm,21mm},heightrounded=true]{geometry}% top=19.5mm,textheight=\LinesXXV</xsl:text>
137-
<xsl:text>&lb;\addtolength{\headsep}{3mm}</xsl:text>
148+
<xsl:text>&lb;\usepackage[papersize={170mm,240mm},inner=23mm,textwidth=113mm,top=19.5mm,textheight=\LinesXXV]{geometry}% top=19.5mm,textheight=\LinesXXV</xsl:text>
149+
<xsl:text>&lb;%\addtolength{\headsep}{3mm}</xsl:text>
150+
151+
<xsl:if test="$debug-latex">
152+
<!-- draw the baseline for the first line -->
153+
<xsl:text>&lb;\usepackage[placement=top]{background}</xsl:text>
154+
<xsl:text>&lb;\SetBgScale{1}</xsl:text>
155+
<xsl:text>&lb;\SetBgAngle{0}</xsl:text>
156+
<xsl:text>&lb;\SetBgColor{red}</xsl:text>
157+
<xsl:text>&lb;\SetBgContents{\rule{\paperwidth}{.4pt}}</xsl:text>
158+
<xsl:text>&lb;\SetBgHshift{\textwidth}</xsl:text>
159+
<xsl:text>&lb;\SetBgVshift{-19.5mm+.4pt-\topskip}% top parameter from geometry, line thickness, topskip to get baseline of first line</xsl:text>
160+
</xsl:if>
138161

139162
<xsl:if test="$debug-latex">
140163
<xsl:text>&lb;\usepackage{fgruler}</xsl:text>
141-
<xsl:text>&lb;%\usepackage{showframe}</xsl:text>
164+
<xsl:text>&lb;\usepackage{showframe}</xsl:text>
142165
</xsl:if>
143166

144167
<!-- input encoding -->

0 commit comments

Comments
 (0)