diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex3/galley/xhj.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex3/galley/xhj.sty | 313 |
1 files changed, 313 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex3/galley/xhj.sty b/Master/texmf-dist/tex/latex3/galley/xhj.sty new file mode 100644 index 00000000000..b8196755c76 --- /dev/null +++ b/Master/texmf-dist/tex/latex3/galley/xhj.sty @@ -0,0 +1,313 @@ +%% +%% This is file `xhj.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xhj.dtx (with options: `package,trace') +%% +%% +%% $Header: /usr3/users/latex3/design/consolidation/CURRENT/RCS/xhj.dtx,v 1.8 2000/01/14 15:24:24 latex3 Exp $ +%% +%% (C) Copyright 1999-2000 Frank Mittelbach +%% All rights reserved. +%% +%% Not for general distribution. In its present form it is not allowed +%% to put this package onto CD or an archive without consulting the +%% the authors. +%% +%% This module only works in conjunction with the galley2 module. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{xhj} + [2000/01/14 v0.3c hyphenation & justification] + +%% +\NeedsTeXFormat{LaTeX2e}[1998/12/01] +\RequirePackage{template,xparse} + % be loaded afterwards !!!! +\IgnoreWhiteSpace +\catcode`\:=11\relax +\def\@usefontdimen#1{\fontdimen#1\font} +\def\fontslant {\@usefontdimen1} +\def\fontwordspace {\@usefontdimen2} +\def\fontwordspacestretch {\@usefontdimen3} +\def\fontwordspaceshrink {\@usefontdimen4} +\def\fontex {\@usefontdimen5} +\def\fontem {\@usefontdimen6} +\def\fontextraspace {\@usefontdimen7} +\DeclareTemplateType{measure}{1} +\DeclareTemplate{measure}{absolute}{1}{ + leftmargin =l \leftmargin, + rightmargin =l \rightmargin, + }{ + \DoParameterAssignments + \IfNoValueF{#1} { \setlength\leftmargin{ #1 + \@totalleftmargin } } + \setSGPVmeasure:nn \leftmargin {\hsize -\leftmargin -\rightmargin } +} +\DeclareTemplate{measure}{relative}{1}{ + leftmargin =l \leftmargin, + rightmargin =l \rightmargin, + }{ + \DoParameterAssignments + \IfNoValueF{#1} { \setlength\leftmargin{#1} } + \addSGPVmeasure:nn \leftmargin { -\leftmargin -\rightmargin } +} +\DeclareTemplateType{pshape}{0} +\DeclareTemplate{pshape}{cutout}{0}{ + no-page-break-boolean =s {\setGALbreak:n {-3}}{}, + left-side-boolean =s {}{\let\shape@side\setGALrightparshape:nnn}, + normal-lines-num =C \pshape@normalines, + parshape-list =f0 \pshape@parshape, + }{ + \let\pshape@normalines\z@ + \let\shape@side\setGALleftparshape:nnn + \DoParameterAssignments + \shape@side \pshape@normalines \z@ \pshape@parshape + } +\DeclareInstance{pshape}{staggered}{cutout}{ + no-page-break-boolean = true, + normal-lines-num = 1, + parshape-list = { 20pt, 40pt, 60pt }, +} +\DeclareInstance{pshape}{ltriangle}{cutout}{ + no-page-break-boolean = true, + normal-lines-num = 0, + parshape-list = { 60pt, 40pt, 20pt }, +} +\DeclareInstance{pshape}{rectangle}{cutout}{ + no-page-break-boolean = false, + normal-lines-num = 0, + parshape-list = { }, +} +\DeclareTemplateType{justification}{0} +\DeclareTemplate{justification}{single}{0}{ + startskip =L \justification@a , + leftskip =L \justification@b , + rightskip =L \justification@c , + parfillskip =L \justification@d , + spaceskip =L \justification@e , + xspaceskip =L \justification@f , + linefillskip =L \justification@g , + parindent =L \justification@h , + }{ + \def\justification@a{\z@} + \def\justification@b{\leftskip} + \def\justification@c{\rightskip} + \def\justification@d{\parfillskip} + \def\justification@e{\spaceskip} + \def\justification@f{\xspaceskip} + \def\justification@g{\justification@d} + \def\justification@h{\parindent} + \DoParameterAssignments + \xdef \GAL@j@ + {{\justification@a} + {\justification@b} + {\justification@c} + {\justification@d} + {\justification@e} + {\justification@f} + {\justification@g} + {\justification@h} + } + \GAL@prepare@reassign:NN \GAL@j@ \GAL@j@s + } +\DeclareTemplate{justification}{std}{0}{ + startskip =L \justification@a , + leftskip =L \justification@b , + rightskip =L \justification@c , + parfillskip =L \justification@d , + spaceskip =L \justification@e , + xspaceskip =L \justification@f , + linefillskip =L \justification@g , + parindent =L \justification@h , + } + { + \def\justification@a{\z@} + \def\justification@b{\leftskip} + \def\justification@c{\rightskip} + \def\justification@d{\parfillskip} + \def\justification@e{\spaceskip} + \def\justification@f{\xspaceskip} + \def\justification@g{\justification@d} + \def\justification@h{\parindent} + \DoParameterAssignments + \edef \@tempa {\noexpand \setSGPVthing:nn j + {{\justification@a} + {\justification@b} + {\justification@c} + {\justification@d} + {\justification@e} + {\justification@f} + {\justification@g} + {\justification@h} + } + } + \@tempa + \expandafter \setup@paragraph@justification \GAL@j@ +} +\DeclareTemplate{justification}{complex}{0}{ + first-para-justification-setup =i {justification} + \justification@first, + other-para-justification-setup =i {justification} + \justification@other, + } + { + \DoParameterAssignments + \justification@other + \justification@first + } +\DeclareInstance{justification}{adjust}{std} + {rightskip =0pt, + leftskip =0pt, + startskip =0pt, + parfillskip=\fill +} +\DeclareInstance{justification}{default}{std} + {rightskip =0pt, + leftskip =0pt, + startskip =0pt, + parfillskip=\fill +} +\DeclareInstance{justification}{adjust2}{std} + {parindent = 0pt, + rightskip = 0pt, + leftskip = 0pt, + startskip = 0pt, + parfillskip= 20pt plus 1fil +} +\DeclareInstance{justification}{center}{std} + {parindent =0pt, + rightskip =\fill, + leftskip =\fill, + startskip =0pt, + parfillskip=0pt +} +\DeclareInstance{justification}{centermiddle}{std} + {parindent =0pt, + rightskip =36pt plus 1fill, + leftskip =36pt plus 1fill, + startskip =-36pt plus -1fill, + parfillskip=-36pt plus -1fill, + linefillskip= 0pt, +} +\DeclareInstance{justification}{raggedright}{std} + {rightskip = \DelayEvaluation 0pt plus 2em, + leftskip = 0pt, + startskip = 0pt, + parfillskip= \fill, + spaceskip = \DelayEvaluation \fontwordspace, + xspaceskip = \DelayEvaluation \fontwordspace + \fontextraspace, +} +\DeclareInstance{justification}{flushleft}{std} + {rightskip =\fill, + leftskip =0pt, + startskip =0pt, + parfillskip=\fill, +} +\DeclareInstance{justification}{raggedleft}{std} + {leftskip = \DelayEvaluation 0pt plus 2em, + rightskip = 0pt, + startskip = 0pt, + parfillskip= 0pt, + spaceskip = \DelayEvaluation \fontwordspace, + xspaceskip = \DelayEvaluation \fontwordspace + \fontextraspace, +} +\DeclareInstance{justification}{flushright}{std} + {leftskip = \fill, + rightskip = 0pt, + startskip = 0pt, + parfillskip= 0pt, +} +\DeclareInstance{justification}{centerfirst}{single} + {parindent = 0pt, + rightskip = \fill, + leftskip = -\fill, + parfillskip= 0pt, + startskip = 0pt plus 2fill, + linefillskip= 0pt, +} +\DeclareInstance{justification}{centerfirst-adjust}{complex} + { first-para-justification-setup = centerfirst, + other-para-justification-setup = adjust + } +\DeclareTemplateType{linebreak}{0} +\DeclareTemplate{linebreak}{TeX}{0}{ + pretolerance =c [100] \pretolerance, + tolerance =c [200] \tolerance, + linepenalty =c [10] \linepenalty, + binoppenalty =c [700] \binoppenalty, + relpenalty =c [500] \relpenalty, + hbadness =c [1000] \hbadness, + adjdemerits =c [10000] \adjdemerits, + doublehyphendemerits =c [10000] \doublehyphendemerits, + finalhyphendemerits =c [5000] \finalhyphendemerits, + hfuzz =l [.1pt] \hfuzz, + emergencystretch =l [0pt] \emergencystretch, +} + {\DoParameterAssignments + \GAL@typeout{Now~ changing~ linebreaking} + } +\DeclareInstance{linebreak}{default}{TeX}{} +\DeclareInstance{linebreak}{fussy}{TeX}{} +\DeclareInstance{linebreak}{sloppy}{TeX} + { + tolerance = 9999, + hfuzz = .5pt, + emergencystretch = \DelayEvaluation 3em, + } +\def\fussy {\UseInstance{linebreak}{fussy}} +\def\sloppy{\UseInstance{linebreak}{sloppy}} +\DeclareTemplateType{hyphenation}{0} + +\DeclareTemplate{hyphenation}{TeX}{0}{ + uchyph =c [1] \uchyph, + hyphenpenalty =c [50] \hyphenpenalty, + exhyphenpenalty =c [50] \exhyphenpenalty, + lefthyphenmin =c \lefthyphenmin, + righthyphenmin =c \righthyphenmin, +} + {\DoParameterAssignments + \GAL@typeout{Now~ changing~ hyphenation} + } +\newcount\@@lefthyphenmin +\DeclareTemplate{hyphenation}{std}{0}{ + hyphen-enable-boolean =s {\ifnum\@@lefthyphenmin>\z@ + \lefthyphenmin\@@lefthyphenmin + \fi} + {\@@lefthyphenmin\lefthyphenmin + \lefthyphenmin\@M}, + hyphen-uppercase-boolean =s {\uchyph\@ne}{\uchyph\z@}, + hyphen-discourage-boolean=s {\hyphenpenalty\@highpenalty + \exhyphenpenalty\@highpenalty}{}, + hyphen-encourage-boolean =s {\hyphenpenalty\@lowpenalty + \exhyphenpenalty\@lowpenalty}{}, +} + {\DoParameterAssignments + \GAL@typeout{Now~ changing~ hyphenation} + } +\DeclareInstance{hyphenation}{default}{TeX} + {} +\DeclareInstance{hyphenation}{off}{std} + {hyphen-enable-boolean = false} +\DeclareInstance{hyphenation}{on}{std} + {hyphen-enable-boolean = true} +\DeclareInstance{hyphenation}{discourage}{std} + {hyphen-enable-boolean = true, + hyphen-discourage-boolean = true} +\DeclareTemplateType{hj}{0} +\DeclareTemplate{hj}{std}{0}{ + justification-setup =i {justification} [default] \hj@justification, + linebreak-setup =i {linebreak} [default] \hj@linebreak, + hyphenation-setup =i {hyphenation} [default] \hj@hyphenation, +} + {\DoParameterAssignments + \hj@justification + \hj@linebreak + \hj@hyphenation + } +\DeclareInstance{hj}{default}{std}{} +\catcode`\:=12\relax +\endinput +%% +%% End of file `xhj.sty'. |