diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/nostarch/nostarch.cls | 123 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/nostarch/nshyper.sty | 5 |
2 files changed, 118 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/latex/nostarch/nostarch.cls b/Master/texmf-dist/tex/latex/nostarch/nostarch.cls index fdb987796db..2709e37d86e 100644 --- a/Master/texmf-dist/tex/latex/nostarch/nostarch.cls +++ b/Master/texmf-dist/tex/latex/nostarch/nostarch.cls @@ -37,7 +37,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{nostarch} -[2023/03/30 v2.0 Typesetting books for No Starch Press] +[2023/04/08 v2.1 Typesetting books for No Starch Press] \newif\ifnostarch@cfonts \nostarch@cfontstrue \DeclareOption{cfonts}{\nostarch@cfontstrue} @@ -63,10 +63,11 @@ \ProcessOptions\relax \LoadClass[10pt]{book} \RequirePackage[table]{xcolor} -\RequirePackage{iftex, ifpdf, fancyhdr, fancyvrb, booktabs, graphicx, +\RequirePackage{iftex, ifpdf, longtable, + fancyhdr, fancyvrb, booktabs, graphicx, listings, caption, makeidx, upquote, pifont, textcomp, xcolor, lmodern, nameref, float, amssymb, etoolbox, - setspace, marginnote} + setspace, marginnote, url} \RequirePackage[framemethod=TikZ]{mdframed} \RequirePackage{soul} \RequirePackage[T1]{fontenc} @@ -825,14 +826,89 @@ {\vbox{\llap{\wingding{#1}\hskip 0.5em}}} \captionsetup[lstlisting]{font=nostarchfigfont,singlelinecheck=off, aboveskip=4pt, belowskip=0pt, margin=0pt}} -\DeclareCaptionFont{nostarchfigfont}{\sffamily \itshape \fontsize{8.5pt}{9pt}\selectfont} -\DeclareCaptionFont{nostarchtabfont}{\futurabook \fontsize{9pt}{9pt}\selectfont} +\def\LTleft{\z@} +\def\LTright{\fill} +\newif\ifnostarch@overridecaptionwidth +\nostarch@overridecaptionwidthfalse +\newlength\nostarch@captionwidth +\newcommand\NextCaptionWidth[1]{% + \global\nostarch@overridecaptionwidthtrue + \global\setlength{\nostarch@captionwidth}{#1}% +} +\newcommand\nostarch@measurecaptionwidth{% + \ifnostarch@overridecaptionwidth\else + \par + \setbox\@tempboxa\lastbox + \setbox\@tempboxa=\hbox{\unhbox\@tempboxa}% + \global\setlength{\nostarch@captionwidth}{\wd\@tempboxa}% + \box\@tempboxa\par + \fi + \global\nostarch@overridecaptionwidthfalse +} +\AtBeginDocument{% +\pretocmd{\caption}{\def\@tempa{figure}% + \ifx\@tempa\@captype\relax + \nostarch@measurecaptionwidth + \fi}{}{}} +\DeclareCaptionFormat*{nostarchfigtblformat}{% + \parbox{\nostarch@captionwidth}{#1#2#3}} +\def\nostarch@tbl@warn{} +\AtEndDocument{\nostarch@tbl@warn} +\newcounter{nostarch@tbl} +\newcommand\nostarch@read@tbl@width{% + \stepcounter{nostarch@tbl}% + \expandafter\ifx\csname nostarch@tbl@\romannumeral\c@nostarch@tbl\endcsname\relax + \edef\@tempa{\the\textwidth}% + \else + \edef\@tempa{\csname nostarch@tbl@\romannumeral\c@nostarch@tbl\endcsname}% + \fi + \expandafter\setlength\expandafter\nostarch@captionwidth\expandafter{\@tempa}% +} +\AtBeginEnvironment{table}{\nostarch@read@tbl@width} +\newcommand\nostarch@save@tbl@width{% + \nostarch@measurecaptionwidth + \if@filesw + \immediate\write\@auxout{% + \gdef\expandafter\noexpand\csname nostarch@tbl@\romannumeral\c@nostarch@tbl\endcsname + {\the\nostarch@captionwidth}}% + \fi + \expandafter\ifx\csname nostarch@tbl@\romannumeral\c@nostarch@tbl\endcsname\relax + \edef\@tempa{\the\textwidth}% + \else + \edef\@tempa{\csname nostarch@tbl@\romannumeral\c@nostarch@tbl\endcsname}% + \fi + \expandafter\ifdim\@tempa=\nostarch@captionwidth\else + \gdef\nostarch@tbl@warn{\ClassWarningNoLine{nostarch} + {Table widths have changed. Rerun LaTeX.}} + \fi +} +\pretocmd{\endtable}{\nostarch@save@tbl@width}{}{} +\pretocmd{\float@endH}{\def\@tempa{table}% + \ifx\@tempa\@captype\nostarch@save@tbl@width\fi}{}{} +\def\nostarch@read@LT@width{% + \ifnostarch@overridecaptionwidth\else + \global\setlength{\nostarch@captionwidth}{\z@}% + \bgroup + \def\LT@entry##1##2{% + \global\addtolength{\nostarch@captionwidth}{##2}}% + \csname LT@\romannumeral\c@LT@tables\endcsname + \egroup + \fi + \global\nostarch@overridecaptionwidthfalse +} +\AtBeginDocument{\pretocmd{\caption@LT@config}{\global\rownum=1\relax + \nostarch@read@LT@width}{}{}} +\AtBeginEnvironment{longtable}{\global\rownum=0\relax} +\DeclareCaptionFont{nostarchfigfont}{\sffamily + \itshape \fontsize{8.5pt}{9pt}\selectfont} +\DeclareCaptionFont{nostarchtabfont}{\futurabook + \fontsize{9pt}{9pt}\selectfont} \captionsetup[figure]{font=nostarchfigfont,singlelinecheck=off, - aboveskip=8pt,belowskip=-8pt} + aboveskip=8pt,belowskip=-8pt, format=nostarchfigtblformat} \captionsetup[lstlisting]{font=nostarchfigfont,singlelinecheck=off, aboveskip=4pt, belowskip=0pt} \captionsetup[table]{font=nostarchtabfont,singlelinecheck=off, - aboveskip=0pt,belowskip=4pt, labelfont=bf} + aboveskip=0pt,belowskip=4pt, labelfont=bf, format=nostarchfigtblformat} \newcommand{\captionlst}[1]{{\ttfamily \itshape \fontsize{10pt}{9pt}\selectfont #1}} \newcommand{\boxlst}[1]{{\ttfamily \fontsize{10pt}{9pt}\selectfont #1}} \newcommand{\tablelst}[1]{{\ttfamily \fontsize{10pt}{9pt}\selectfont #1}} @@ -841,6 +917,7 @@ \def\thfont{% \futuraheavy\fontsize{9pt}{10pt}\selectfont} \AtBeginEnvironment{tabular}{\tbfont} +\AtBeginEnvironment{longtable}{\tbfont} \heavyrulewidth=3\p@ \lightrulewidth=1\p@ \cmidrulewidth=1.5\p@ @@ -884,6 +961,10 @@ \captionsetup[figure]{font=nostarchfigfont,singlelinecheck=off, aboveskip=8pt,belowskip=-8pt} } +\rowcolors[]{1}{}{nspgray} +\setlength{\aboverulesep}{0pt} +\setlength{\belowrulesep}{0pt} +\setlength{\extrarowheight}{.8ex} \DefineVerbatimEnvironment{Code}{Verbatim}{frame=lines,framerule=0.25pt, commandchars=\\\{\}} \FV@AddToHook\FV@ListParameterHook{\vspace{-6pt}} \VerbatimFootnotes @@ -897,6 +978,7 @@ innerrightmargin=18pt, innerleftmargin=18pt, backgroundcolor=nspgray, + everyline=true } \mdfdefinestyle{custombox}{% @@ -907,6 +989,7 @@ innerbottommargin=\baselineskip, innerrightmargin=18pt, innerleftmargin=18pt, + everyline=true } \newenvironment{nspbox}[1] {\begin{mdframed}[style=nspbox] @@ -974,6 +1057,32 @@ \@afterindentfalse\@afterheading% \refstepcounter{project}% } +\def\UrlFont{\itshape} +\def\UrlTildeSpecial{\do\~{\raise.2ex\hbox{\m@th$\scriptstyle\sim$}}} +\let\Url@force@Tilde\UrlTildeSpecial +\def\UrlBreaks{\do\#\do\\\do\>\do\]\do\)\do\}} +\g@addto@macro{\UrlSpecials}{% + \do\.{\penalty\UrlBreakPenalty\mathchar46\relax}% + \do\_{\penalty\UrlBreakPenalty\mathchar95\relax}% + \do\={\penalty\UrlBreakPenalty\mathchar61\relax}% + \do\&{\penalty\UrlBreakPenalty\mathchar38\relax}% + \do\-{\penalty\UrlBreakPenalty\mathchar45\relax}% + \do\!{\penalty\UrlBreakPenalty\mathchar33\relax}% + \do\?{\penalty\UrlBreakPenalty\mathchar63\relax}% + \do\|{\penalty\UrlBreakPenalty\mathchar124\relax}% + \do\,{\penalty\UrlBreakPenalty\mathchar44\relax}% + \do\;{\penalty\UrlBreakPenalty\mathchar59\relax}% + \do\@{\penalty\UrlBreakPenalty\mathchar64\relax}% + \do\'{\penalty\UrlBreakPenalty\mathchar39\relax}% + \do\"{\penalty\UrlBreakPenalty\mathchar34\relax}% + \do\+{\penalty\UrlBreakPenalty\mathchar43\relax}% + \do\<{\penalty\UrlBreakPenalty\mathchar60\relax}% + \do\[{\penalty\UrlBreakPenalty\mathchar91\relax}% + \do\({\penalty\UrlBreakPenalty\mathchar40\relax}% + \do\{{\penalty\UrlBreakPenalty\mathchar123\relax}% + \do\/{\unpenalty\penalty\@M\mathchar47\penalty\UrlBreakPenalty}% +} +\def\UrlNoBreaks{} \renewcommand*{\marginfont}{\sffamily\itshape\fontsize{8.5}{10}\selectfont} \renewcommand*{\marginnotevadjust}{-\baselineskip} \newcommand{\marginwingding}[1]{{\fontsize{10pt}{12pt}\selectfont \wingding{#1}}} diff --git a/Master/texmf-dist/tex/latex/nostarch/nshyper.sty b/Master/texmf-dist/tex/latex/nostarch/nshyper.sty index 5083017652e..c92d319a5c3 100644 --- a/Master/texmf-dist/tex/latex/nostarch/nshyper.sty +++ b/Master/texmf-dist/tex/latex/nostarch/nshyper.sty @@ -36,10 +36,9 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \ProvidesPackage{nshyper} -[2023/03/30 v2.0 Typesetting books for No Starch Press] +[2023/04/08 v2.1 Typesetting books for No Starch Press] \RequirePackage[breaklinks,colorlinks,linkcolor=black, - citecolor=black,pagecolor=black,urlcolor=black,hyperindex, - bookmarks=false]{hyperref} + citecolor=black,pagecolor=black,urlcolor=black,hyperindex]{hyperref} \AtBeginDocument{% \def\@schapter[#1]#2{% \H@old@schapter[#1]{#2}% |