diff options
author | Karl Berry <karl@freefriends.org> | 2025-02-04 22:08:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2025-02-04 22:08:29 +0000 |
commit | f292645fc15af1f53ddaa7ff466840d3216a8c6e (patch) | |
tree | 7509fec46c1200b4100aed894ebc59d24100205f /Master/texmf-dist/doc | |
parent | 23408450581bb937d774a7e9d74214ca2a74e0db (diff) |
scaletextbullet (4feb25)
git-svn-id: svn://tug.org/texlive/trunk@73726 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/CHANGELOG.md | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/beery.cls | 294 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.pdf | bin | 0 -> 33920 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.tex | 29 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.pdf | bin | 65824 -> 65605 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.tex | 12 |
6 files changed, 272 insertions, 74 deletions
diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/CHANGELOG.md b/Master/texmf-dist/doc/latex/scaletextbullet/CHANGELOG.md index d556b3f5824..ce851a07746 100644 --- a/Master/texmf-dist/doc/latex/scaletextbullet/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/scaletextbullet/CHANGELOG.md @@ -7,6 +7,17 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ## [Unreleased] +## [v1.1.0] - 2025-02-03 + +### Added +- `scaletextbullet-code.tex` +- `scaletextbullet-code.pdf` + +### Changed +- `\ScaleTextBullet`, `\ScaleTextBullets`, and `\scaletextbulletdebug` now + issue a package error if used in math mode. (`\textbullet` is invalid in math + mode.) + ## [v1.0.4] - 2025-01-03 ### Changed diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/beery.cls b/Master/texmf-dist/doc/latex/scaletextbullet/beery.cls index b7e8eab98b6..eda2774218b 100644 --- a/Master/texmf-dist/doc/latex/scaletextbullet/beery.cls +++ b/Master/texmf-dist/doc/latex/scaletextbullet/beery.cls @@ -1,16 +1,43 @@ -% Note: This class is designed ONLY for 'scaletextbullet.tex'. Compiled with LuaTeX. +% Note: This class is designed ONLY for 'scaletextbullet.tex'. Compiled with +% LuaTeX. + +% LOADING THE CLASS % LaTeX2e version 2023-11-01 added \IfExplAtLeastTF. \NeedsTeXFormat{LaTeX2e}[2023-11-01] \ProvidesExplClass {beery} - {2025-01-03} - {} + {2025-02-03} + {0.0.0} {} +\prop_gput:Nnn \g_msg_module_type_prop { beery } { Class } + +% l3kernel version 2023-10-10 added many 'e'-variants. +\IfExplAtLeastTF { 2023-10-10 } { } + { + \msg_new:nnn { beery } { expl3-out-of-date } + { + The~ beery~ class~ could~ not~ load.~ + This~ class~ requires~ + L3~ programming~ layer~ version~ 2023-10-10~ or~ newer. + } + \msg_critical:nn { beery } { expl3-out-of-date } + } + +\sys_if_engine_luatex:F + { + \msg_new:nnn { beery } { luatex-required } + { The~ beery~ class~ could~ not~ load.~ This~ class~ requires~ LuaTeX. } + \msg_critical:nn { beery } { luatex-required } + } + \LoadClass { article } -\box_new:N \l__beery_tmp_box +% MESSAGES + +\msg_new:nnn { beery } { math-mode-error } + { '#1'~ cannot~ be~ used~ in~ math~ mode~ \msg_line_context:. } \RequirePackage { fontscale } \fontscalesetup { musical } @@ -39,59 +66,167 @@ , breakable } -% CUSTOM MACROS +% SOME VARIABLES +\fp_const:Nn \c_beery_golden_ratio_fp { 1.6180 3398 8749 8948 } \tl_const:Nn \c_beery_alphabet_tl { abcdefghijklmnopqrstuvwxyz } +\tl_const:Nn \c_beery_digits_tl { 0123456789 } + +\regex_const:Nn \c__beery_ends_in_letter_regex { ^.*[A-Za-z]$ } + +% Scratch variables +\box_new:N \l__beery_tmp_box + +% CUSTOM MACROS + \NewExpandableDocumentCommand \alphabet { } { \c_beery_alphabet_tl } +\NewExpandableDocumentCommand \digits { } { \c_beery_digits_tl } +\NewExpandableDocumentCommand \pangram { } + { The~ quick~ brown~ fox~ jumps~ over~ the~ lazy~ dog. } + \NewDocumentCommand \Key { >{ \TrimSpaces } m >{ \TrimSpaces } o >{ \TrimSpaces } o } { \mode_leave_vertical: + \IfNoValueTF {#2} + { \__beery_print_key:n {#1} } + { + \IfNoValueTF {#3} + { \__beery_print_key:nn {#1} {#2} } + { \__beery_print_key:nnn {#1} {#2} {#3} } + } + } +\cs_new_protected:Npn \__beery_print_key:n #1 { \texttt {#1} } +\cs_new_protected:Npn \__beery_print_key:nn #1#2 + { \texttt { #1 \ensuremath { \,=\, } \allowbreak #2 } } +\cs_new_protected:Npn \__beery_print_key:nnn #1#2#3 + { \group_begin: \ttfamily - \IfNoValueTF {#3} - { - \IfNoValueTF {#2} - {#1} - { #1 $\,=\,$ \allowbreak #2 } - } - { #1 $\,=\,$ #2 \hspace* { \fill } \hbox:n { initial $\,=\,$ #3 } } + #1 \ensuremath { \,=\, } #2 \hspace* { \fill } + \hbox:n { initial \ensuremath { \,=\, } #3 } \group_end: } -\NewDocumentCommand \Value { >{ \TrimSpaces } m } { \texttt {#1} } -\NewDocumentCommand \cmd { >{ \TrimSpaces } m } - { \texttt { \token_to_str:N #1 } \@ } +\NewDocumentCommand \Value { >{ \TrimSpaces } m } + { + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_str:N \Value } + } + { \__beery_print_value:n {#1} } + } +\cs_new_protected:Npn \__beery_print_value:n #1 { \texttt {#1} \@ } \NewDocumentCommand \cs { >{ \TrimSpaces } m } + { + \mode_if_math:TF + { \msg_error:nne { beery } { math-mode-error } { \token_to_str:N \cs } } + { \__beery_print_cs:n {#1} } + } +\cs_new_protected:Npn \__beery_print_cs:n #1 { \texttt { \token_to_str:c {#1} } \@ } \NewDocumentCommand \marg { >{ \TrimSpaces } m } + { \__beery_print_m_arg:n {#1} } +\cs_new_protected:Npn \__beery_print_m_arg:n #1 { \allowbreak \texttt { \c_left_brace_str } - $\langle$ - { \normalfont \itshape #1 } - $\rangle$ + \ensuremath \langle + \group_begin: + \normalfont \itshape #1 + \group_end: + \ensuremath \rangle \texttt { \c_right_brace_str } } \NewDocumentCommand \oarg { >{ \TrimSpaces } m } + { \__beery_print_o_arg:n {#1} } +\cs_new_protected:Npn \__beery_print_o_arg:n #1 { \allowbreak \texttt { [ } - $\langle$ - { \normalfont \itshape #1 } - $\rangle$ + \ensuremath \langle + \group_begin: + \normalfont \itshape #1 + \group_end: + \ensuremath \rangle \texttt { ] } } -\NewDocumentCommand \sarg { } { $\langle$ \texttt {*} $\rangle$ } -\NewDocumentCommand \meta { >{ \TrimSpaces } m } +\NewDocumentCommand \sarg { } { \__beery_print_s_arg: } +\cs_new_protected:Npn \__beery_print_s_arg: + { \ensuremath \langle \texttt {*} \ensuremath \rangle } +\NewDocumentCommand \meta { >{ \TrimSpaces } m } { \__beery_print_meta:n {#1} } +\cs_new_protected:Npn \__beery_print_meta:n #1 + { + \ensuremath \langle + \group_begin: + \normalfont \itshape #1 + \group_end: + \ensuremath \rangle + } +\NewDocumentCommand \cls { >{ \TrimSpaces } m } { - $\langle$ - { \normalfont \itshape #1 } - $\rangle$ + \mode_if_math:TF + { \msg_error:nne { beery } { math-mode-error } { \token_to_str:N \cls } } + { \__beery_print_cls:n {#1} } } -\NewDocumentCommand \cls { >{ \TrimSpaces } m } { \textsf {#1} } -\NewDocumentCommand \env { >{ \TrimSpaces } m } { \texttt {#1} } -\NewDocumentCommand \pkg { >{ \TrimSpaces } m } { \textsf {#1} } -\NewDocumentCommand \latin { >{ \TrimSpaces } m } { \textit {#1} } +\cs_new_protected:Npn \__beery_print_cls:n #1 { \textsf {#1} \@ } +\NewDocumentCommand \env { >{ \TrimSpaces } m } + { + \mode_if_math:TF + { \msg_error:nne { beery } { math-mode-error } { \token_to_str:N \env } } + { \__beery_print_env:n {#1} } + } +\cs_new_protected:Npn \__beery_print_env:n #1 { \texttt {#1} \@ } +\NewDocumentCommand \pkg { >{ \TrimSpaces } m } + { + \mode_if_math:TF + { \msg_error:nne { beery } { math-mode-error } { \token_to_str:N \pkg } } + { \__beery_print_pkg:n {#1} } + } +\cs_new_protected:Npn \__beery_print_pkg:n #1 { \textsf {#1} \@ } +\NewDocumentCommand \latin { >{ \TrimSpaces } m } + { + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_to_str:N \latin } + } + { \__beery_print_latin:n {#1} } + } +\cs_new_protected:Npn \__beery_print_latin:n #1 { \textit {#1} } + +\NewDocumentCommand \AllCaps { O { 50 } >{ \TrimSpaces } m } + { + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_str:N \AllCaps } + } + { \__beery_text_all_caps:nn {#1} {#2} } + } +\cs_new_protected:Npn \__beery_text_all_caps:nn #1#2 + { + \textls [ \int_eval:n {#1} ] { \text_uppercase:n {#2} } + \regex_match:NnT \c__beery_ends_in_letter_regex {#2} { \@ } + } +\NewDocumentCommand \AllSmallCaps + { >{ \ReverseBoolean } s O { 50 } >{ \TrimSpaces } m } + { + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_str:N \AllSmallCaps } + } + { + \IfBooleanTF #1 + { \__beery_text_small_caps:nn {#2} {#3} } + { \__beery_text_lowercase_small_caps:nn {#2} {#3} } + } + } +\cs_new_protected:Npn \__beery_text_small_caps:nn #1#2 + { \textls [ \int_eval:n {#1} ] { \scshape #2 } } +\cs_new_protected:Npn \__beery_text_lowercase_small_caps:nn #1#2 + { \textls [ \int_eval:n {#1} ] { \scshape \text_lowercase:n {#2} } } % PAGE STYLE @@ -123,33 +258,39 @@ \skip_log:N \c_beery_medium_skip \skip_log:N \c_beery_small_skip +% \flushbottom \raggedbottom \int_set:Nn \vbadness { 100 } \skip_set:Nn \topskip { \l_fontscale_normalsize_size_dim } \skip_set_eq:NN \splittopskip \topskip + \RequirePackage { geometry } +\dim_const:Nn \c_beery_textwidth_dim + { \fp_to_dim:n { \c_e_fp * \dim_to_fp:n { \c_beery_alphabet_dim } } } +\dim_const:Nn \c_beery_textheight_dim + { + \fp_to_dim:n + { \c_beery_golden_ratio_fp * \dim_to_fp:n { \c_beery_textwidth_dim } } + } +\dim_const:Nn \c_beery_footskip_dim + { \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip } \geometry { a4paper - , textwidth = - \fp_to_dim:n { \c_e_fp * \dim_to_fp:n { \c_beery_alphabet_dim } } - , textheight = - \fp_to_dim:n - { 1.6180 * \c_e_fp * \dim_to_fp:n { \c_beery_alphabet_dim } } + , textwidth = \c_beery_textwidth_dim + , textheight = \c_beery_textheight_dim , heightrounded , centering , headheight = \l_fontscale_footnotesize_baselineskip_skip , headsep = \c_beery_big_dim - , footskip = - \dim_eval:n - { \c_beery_big_dim + \l_fontscale_footnotesize_baselineskip_skip } + , footskip = \c_beery_footskip_dim } \RequirePackage { fancyhdr } \pagestyle { fancy } \fancyhf { } -\renewcommand \headrulewidth { 0pt } +\cs_set:Npn \headrulewidth { 0pt } \fancyfoot [ C ] { \footnotesize \thepage \c_space_tl of~ \pageref { LastPage } } @@ -159,16 +300,20 @@ \linespread { 1 } \RequirePackage [ skip = \c_beery_medium_skip ] { parskip } \RequirePackage [ raggedrightboxes ] { ragged2e } -\skip_set:Nn \RaggedRightRightskip { 0pt plus 0.5 \linewidth } +\skip_set:Nn \RaggedRightRightskip { \c_zero_dim plus \c_beery_alphabet_dim } \dim_zero:N \RaggedRightParindent \dim_set_eq:NN \JustifyingParindent \RaggedRightParindent \RaggedRight +% \justifying +\RequirePackage { microtype } +\microtypesetup { protrusion = false , expansion = false } \int_set:Nn \pretolerance { -1 } \int_set:Nn \tolerance { 200 } \dim_zero:N \emergencystretch \int_set:Nn \widowpenalty { 10000 } \int_set_eq:NN \clubpenalty \widowpenalty \int_set_eq:NN \displaywidowpenalty \widowpenalty +% hyphenation \int_set:Nn \hyphenpenalty { 99 } \int_set_eq:NN \exhyphenpenalty \hyphenpenalty @@ -179,7 +324,7 @@ \setcounter { tocdepth } { 2 } \titlespacing* \section % section - { 0pt } % indent + { \c_zero_dim } % indent { \c_beery_big_dim plus \fp_to_dim:n { 1 / 2 * 4 * \dim_to_fp:n { \c_beery_big_dim } } @@ -187,7 +332,7 @@ } % before { \c_beery_medium_skip } % after \titlespacing* \subsection - { 0pt } + { \c_zero_dim } { \fp_to_dim:n { 4 / 3 * \dim_to_fp:n { \c_beery_medium_dim } } plus \fp_to_dim:n { 1 / 2 * 4 * \dim_to_fp:n { \c_beery_medium_dim } } @@ -219,58 +364,69 @@ leftmargin = * , labelsep = 0.5em % vertical spacing - , topsep = 0pt - , partopsep = 0pt + , topsep = \c_zero_skip + , partopsep = \c_zero_skip , parsep = \c_beery_small_skip - , itemsep = 0pt + , itemsep = \c_zero_skip } \setlist [ itemize , 1 ] { label = \textbullet } \setlist [ itemize , 2 ] { label = \ScaleTextBullets { 2 } } \setlist [ itemize , 3 ] { label = \ScaleTextBullets { 3 } } +\setlist [ itemize , 4 ] { label = \ScaleTextBullets { 4 } } \setlist [ enumerate , 1 ] { label = \arabic* . } -\setlist [ enumerate , 2 ] { label = \theenumi \arabic* . } -\setlist [ enumerate , 3 ] { label = \theenumii \arabic* . } +\setlist [ enumerate , 2 ] { label = \theenumi \arabic* . } +\setlist [ enumerate , 3 ] { label = \theenumii \arabic* . } +\setlist [ enumerate , 4 ] { label = \theenumiii \arabic* . } % list headings % https://tex.stackexchange.com/questions/2644/how-to-prevent-a-page-break-before-an-itemize-list -\NewDocumentCommand \KeepNextPar { s } +\NewDocumentCommand \KeepNextPar { > { \ReverseBoolean } s } { - \par - \IfBooleanTF #1 + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_str:N \KeepNextPar } + } { - \int_compare:nNnT { \prevgraf } = { 1 } - { \nobreak \@afterheading } + \IfBooleanTF #1 + { \__beery_keep_next_par: } + { \__beery_keep_next_par_if_single_line: } } + } +\cs_new_protected:Npn \__beery_keep_next_par: { \nobreak \@afterheading } +\cs_new_protected:Npn \__beery_keep_next_par_if_single_line: + { + \int_compare:nNnT \prevgraf = 1 { \nobreak \@afterheading } } \NewDocumentCommand \listheading { m } { + \mode_if_math:TF + { + \msg_error:nne { beery } { math-mode-error } + { \token_to_str:N \listheading } + } + { \__beery_typeset_list_heading:n {#1} } + } +\cs_new_protected:Npn \__beery_typeset_list_heading:n #1 + { \par #1 \par - \int_compare:nNnT { \prevgraf } = { 1 } + \int_compare:nNnT \prevgraf = 1 { \nobreak \@afterheading } \vspace { \skip_eval:n { \c_beery_small_skip - \parskip } } } % TABLES -\renewcommand \bottomfraction { 1 } -\renewcommand \topfraction { 1 } -\skip_set:Nn \textfloatsep - { - \c_beery_big_dim - plus \c_beery_big_dim - minus \fp_to_dim:n { \dim_to_fp:n { \c_beery_big_dim } / 3 } - } - \RequirePackage { tabularray } \UseTblrLibrary { booktabs , siunitx } % FOOTNOTES \RequirePackage [ bottom ] { footmisc } -\renewcommand \footnoterule { } +\cs_set_protected:Npn \footnoterule { } % \setlength { \skip \footins } { \c_beery_big_skip } \dim_set:Nn \footnotesep { \f@linespread \footnotesep } \coffin_new:N \l__beery_footnote_coffin @@ -280,11 +436,11 @@ { \fp_to_dim:n { - ( 1.2 * \f@linespread - 1 ) - * \dim_to_fp:n { \l_fontscale_footnotesize_size_dim } + ( 1.2 * \f@linespread - 1 ) * + \dim_to_fp:n { \l_fontscale_footnotesize_size_dim } } } -\RenewDocumentCommand \@makefntext { +m } +\cs_set_protected:Npn \@makefntext #1 { \vcoffin_set:Nnn \l__beery_footnote_coffin { \textwidth } { @@ -294,8 +450,8 @@ { \fp_to_dim:n { - ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 - * \dim_to_fp:n { \textwidth } + ( 1 - \l_fontscale_footnotesize_scale_fp ) / 2 * + \dim_to_fp:n { \textwidth } } } \dim_set_eq:NN \rightmargin \leftmargin @@ -306,7 +462,7 @@ \item #1 \endlist } \coffin_typeset:Nnnnn \l__beery_footnote_coffin { l } { b } - { 0pt } { - \c_beery_footnote_baselineheight_dim } + { \c_zero_dim } { - \c_beery_footnote_baselineheight_dim } } % REFERENCES diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.pdf b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.pdf Binary files differnew file mode 100644 index 00000000000..12892452e1b --- /dev/null +++ b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.pdf diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.tex b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.tex new file mode 100644 index 00000000000..92a5f656a7f --- /dev/null +++ b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet-code.tex @@ -0,0 +1,29 @@ +\documentclass{article} + + +\usepackage{parskip} +\usepackage{geometry} +\geometry{a4paper} +\raggedbottom\raggedright + +\usepackage{codehigh} + +\usepackage{hyperref} +\hypersetup{bookmarksnumbered} + + +\begin{document} + + +\section*{\Large The \textsf{scaletextbullet} package} + +Resize the \texttt{\textbackslash{}textbullet} without changing its vertical center + +Oliver Beery + +Version 1.1.0\quad{}3 February 2025 + +\dochighinput[language=latex/latex3]{scaletextbullet.sty}% + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.pdf b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.pdf Binary files differindex 9cfad1740d3..67a26d6d1e1 100644 --- a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.pdf +++ b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.pdf diff --git a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.tex b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.tex index cf98c28096c..b95e4c69be3 100644 --- a/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.tex +++ b/Master/texmf-dist/doc/latex/scaletextbullet/scaletextbullet.tex @@ -16,7 +16,7 @@ Resize the \cs{textbullet} without changing its vertical center Oliver Beery -Version 1.0.4\quad{}3 January 2025 +Version 1.1.0\quad{}3 February 2025 \section{Introduction} @@ -29,7 +29,7 @@ This process is not fully automated\---the user must use \cs{SetTextBulletFactor The \textbulletfactor{} is the ratio of the width of the \cs{textbullet}, excluding its empty space, to its width, including its empty space. One way of estimating the \textbulletfactor{} is by using \cs{scaletextbulletdebug}. -This package provides a solution that works in text mode. +This package provides a solution that works only in text mode. For a solution that works only in math mode, see the linked \TeX{} Stack Exchange thread.% \footnote{\url{https://tex.stackexchange.com/questions/119319/how-to-correctly-shrink-the-bullets-of-itemize}} @@ -48,8 +48,7 @@ You may need to ensure that your \LaTeX{} installation is up\-/to\-/date before \label{sec:commands} This package defines some commands whose argument takes a \meta{floating point expression} or \meta{integer expression}. -This syntax has the same representation as the arguments to \cs{fpeval} and \cs{inteval}, documented in \pkg{usrguide}.% -\footnote{\url{https://ctan.org/pkg/usrguide}} +This syntax has the same representation as the arguments to \cs{fpeval} and \cs{inteval}, documented in \pkg{usrguide}. \begin{mydisplaycode} \cs{SetTextBulletFactor} \marg{floating point expression} @@ -57,7 +56,7 @@ This syntax has the same representation as the arguments to \cs{fpeval} and \cs{ Sets the \textbulletfactor{} to the result of computing the \meta{floating point expression}. The \textbulletfactor{} is the ratio of the width of the \cs{textbullet}, excluding its empty space, to its width, including its empty space. -This change is local to the current group. +The scope of the effect is local to the current group. The initial \textbulletfactor{} is \num{0.4}\---this matches the dimensions of the \cs{textbullet} of the Latin Modern font at size \qty{10}{pt}. \pagebreak%manual @@ -67,6 +66,7 @@ The initial \textbulletfactor{} is \num{0.4}\---this matches the dimensions of t Prints a \cs{textbullet} with its size scaled by the result of computing the \meta{floating point expression}. The new \cs{textbullet} will be printed with the same vertical center only if the \textbulletfactor{} is set to the correct value. +Cannot be used in math mode. \begin{mydisplaycode} \cs{ScaleTextBullets} \oarg{floating point expression} \marg{integer expression} @@ -79,6 +79,7 @@ Prints a number of \cs{textbullet}s equal to the value of \meta{integer expressi } If the optional argument is used, the size of each \cs{textbullet} is instead scaled by the result of computing the \meta{floating point expression}. The new \cs{textbullet} will be printed with the same vertical center only if the \textbulletfactor{} is set to the correct value. +Cannot be used in math mode. \begin{mydisplaycode} \cs{scaletextbulletdebug} @@ -89,6 +90,7 @@ Prints \num{15} consecutive \cs{textbullet}s with decreasing sizes. The \cs{textbullet}s are followed by the original \cs{textbullet} inside a framed box. The framed box has width equal to the \textbulletfactor{} \texttimes{} the total width of the \cs{textbullet} (this includes its empty space). The \textbulletfactor{} is set to the correct value when the \num{15} consecutive \cs{textbullet}s have the same vertical center and the \cs{textbullet} fits nicely inside the framed box. +Cannot be used in math mode. \section{Application} |