\sqrtの左の突起を小さくしたい 2021年 07月 9日(金曜日) 10:42 - Fukuda T の投稿 返信数: 3 現在教材の作成をしており,\sqrtが横に幅を取ることに悩まされております。 具体的には,添付写真のように,sqrtの左の「突起」部分を小さく,あまりスペースを取らない設計にしたいと思っています。 この件について,沢山の文献・サイトを参照したのですが,一向に答えが見つからず,ここで質問してみることにしました。 何か案をお持ちでしたら,ご教示いただければと思います。 よろしくお願いいたします。 パーマリンク 返信 Fukuda T への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 11:15 - ishi hara の投稿 ずいぶんと前にネット上で見つけたものです。 根号をすべて直線で描くというものです。 オリジナルはdvi→ps→pdfとするものですが。 改造したので,dvipdfmxでpdf化できると思います。 \documentclass{jarticle} %\usepackage{sqrt} \makeatletter %%%%%%%%%%%%%%%%% sqrt.sty の内容 %%%%%%%%%%%%%%%%% 以前見つけたものをdvipdfmxでpdf化できるように改造したもの \RequirePackage{epic} \RequirePackage{eepic} \def\@drawradical#1#2{% #1: total height, #2: width of radical \begingroup \@tempdima#1\p@ \@tempdimb#2\p@ \dimen@-.9\@tempdima \edef\@radical@coordAx{0}% \edef\@radical@coordAy{\strip@pt\dimen@}% \dimen@.1\@tempdimb \dimen@ii-.75\@tempdima \edef\@radical@coordBx{\strip@pt\dimen@}% \edef\@radical@coordBy{\strip@pt\dimen@ii}% \dimen@.4\@tempdimb \dimen@ii-\@tempdima \edef\@radical@coordCx{\strip@pt\dimen@}% \edef\@radical@coordCy{\strip@pt\dimen@ii}% \dimen@\fontdimen8\textfont3\relax \edef\@sqrt@linethickness{\strip@pt\dimen@\space}% \dimen@-1.5\dimen@ \edef\@radical@coordDx{\strip@pt\@tempdimb}% \edef\@radical@coordDy{\strip@pt\dimen@}% \unitlength1pt \begin{picture}(0,0) \drawline(\@radical@coordAx,\@radical@coordAy)(\@radical@coordBx,\@radical@coordBy) \drawline(\@radical@coordCx,\@radical@coordCy)(\@radical@coordDx,\@radical@coordDy) \thicklines \drawline(\@radical@coordBx,\@radical@coordBy)(\@radical@coordCx,\@radical@coordCy) \end{picture} \endgroup} \def\@sqrt@divide#1/#2{% \ifdim#1<32\p@ \multiply#1 256\relax \divide#2 256\relax \else \ifdim#1<64\p@ \multiply#1 128\relax \divide#2 512\relax \else \ifdim#1<128\p@ \multiply#1 64\relax \divide#2 1024\relax \else \ifdim#1<256\p@ \multiply#1 32\relax \divide#2 2048\relax \else \ifdim#1<512\p@ \multiply#1 16\relax \divide#2 4096\relax \else \multiply#1 8\relax \divide#2 8192\relax \fi \fi \fi \fi \fi \divide#1 by #2\relax} \DeclareRobustCommand{\sqrt}{\@testopt\@sqrt{}} \def\@sqrt[#1]#2{% {\@save@counters \mathchoice {\@@sqrt\displaystyle {#1}{#2}}% {\@@sqrt\textstyle {#1}{#2}}% {\@@sqrt\scriptstyle {#1}{#2}}% {\@@sqrt\scriptscriptstyle{#1}{#2}}}} \def\@@sqrt#1#2#3{% \hbox{% \@restore@counters \setbox\z@\hbox{\m@th$#1#3$}% \dimen@\ht\z@ \advance\dimen@\p@ \dimen@ii\dp\z@ \advance\dimen@ii\p@ \setbox\z@\hbox{\m@th$#1% \overline{% \box\z@ \vrule\@width\z@ \@height\dimen@ \@depth\dimen@ii}$}% \dimen@\ht\z@ \advance\dimen@\dp\z@ \ifx#1\scriptscriptstyle \let\@tempa\ssf@size \else \ifx#1\scriptstyle \let\@tempa\sf@size \else \let\@tempa\tf@size \fi \fi \dimen@ii\@tempa\p@ \dimen@ii.5\dimen@ii \edef\@tempa{\noexpand\@drawradical {\strip@pt\dimen@}{\strip@pt\dimen@ii}}% \setbox4\hbox{\raise\ht\z@\hbox to\dimen@ii{\@tempa\hfil}}% \def\@tempa{#2}% \ifx\@tempa\@empty \box4\relax \else \setbox\tw@\hbox{\m@th$\scriptscriptstyle #2$\hskip.5\dimen@ii}%.25-->.5 \dimen@\ht\z@ \advance\dimen@-\ht\tw@ \setbox\tw@\hbox{\raise.5\dimen@\box\tw@}%%.6-->.5 2017-10-18 \ifdim\wd4<\wd\tw@ \box\tw@ \llap{\box4}% \else \box4 \llap{\box\tw@}% \fi \fi \box\z@}} \def\@save@counters{% \def\@elt##1{\noexpand\setcounter{##1}{\number\csname c@##1\endcsname}}% \edef\@restore@counters{\cl@@ckpt}} %\endinput %%%%%%%%%%%%%%%%%%%%%%%%%%% \makeatother \begin{document} $\sqrt{5}$ \end{document} パーマリンク 親投稿を表示する 返信 ishi hara への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 12:53 - 北見 けん の投稿 数式フォントのグリフ形状が気に入らない場合は作るしかないですよね。 なるほど。これは tpic specials で描画する方法ですね。 他の方法として、cmsy とか cmex のメタフォントソースを改変して 別デザインの根号を作るのもできそうです。 (改変する場合は混乱を避けるためにフォントファイル名を変えます) ## 私はDVIまでしか作らないのでこれでよいのですが、 ## PDFにするなら改変後のメタフォントソースから Type1 などに ## 変換しないといけないのかな? パーマリンク 親投稿を表示する 返信 北見 けん への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 20:56 - Fukuda T の投稿 ありがとうございました。 上記ソースで試してみた結果,うまくデザインを改変することができました。 メタフォントソースの改変も試してみようと思います。 ご回答に感謝します。 パーマリンク 親投稿を表示する 返信
Fukuda T への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 11:15 - ishi hara の投稿 ずいぶんと前にネット上で見つけたものです。 根号をすべて直線で描くというものです。 オリジナルはdvi→ps→pdfとするものですが。 改造したので,dvipdfmxでpdf化できると思います。 \documentclass{jarticle} %\usepackage{sqrt} \makeatletter %%%%%%%%%%%%%%%%% sqrt.sty の内容 %%%%%%%%%%%%%%%%% 以前見つけたものをdvipdfmxでpdf化できるように改造したもの \RequirePackage{epic} \RequirePackage{eepic} \def\@drawradical#1#2{% #1: total height, #2: width of radical \begingroup \@tempdima#1\p@ \@tempdimb#2\p@ \dimen@-.9\@tempdima \edef\@radical@coordAx{0}% \edef\@radical@coordAy{\strip@pt\dimen@}% \dimen@.1\@tempdimb \dimen@ii-.75\@tempdima \edef\@radical@coordBx{\strip@pt\dimen@}% \edef\@radical@coordBy{\strip@pt\dimen@ii}% \dimen@.4\@tempdimb \dimen@ii-\@tempdima \edef\@radical@coordCx{\strip@pt\dimen@}% \edef\@radical@coordCy{\strip@pt\dimen@ii}% \dimen@\fontdimen8\textfont3\relax \edef\@sqrt@linethickness{\strip@pt\dimen@\space}% \dimen@-1.5\dimen@ \edef\@radical@coordDx{\strip@pt\@tempdimb}% \edef\@radical@coordDy{\strip@pt\dimen@}% \unitlength1pt \begin{picture}(0,0) \drawline(\@radical@coordAx,\@radical@coordAy)(\@radical@coordBx,\@radical@coordBy) \drawline(\@radical@coordCx,\@radical@coordCy)(\@radical@coordDx,\@radical@coordDy) \thicklines \drawline(\@radical@coordBx,\@radical@coordBy)(\@radical@coordCx,\@radical@coordCy) \end{picture} \endgroup} \def\@sqrt@divide#1/#2{% \ifdim#1<32\p@ \multiply#1 256\relax \divide#2 256\relax \else \ifdim#1<64\p@ \multiply#1 128\relax \divide#2 512\relax \else \ifdim#1<128\p@ \multiply#1 64\relax \divide#2 1024\relax \else \ifdim#1<256\p@ \multiply#1 32\relax \divide#2 2048\relax \else \ifdim#1<512\p@ \multiply#1 16\relax \divide#2 4096\relax \else \multiply#1 8\relax \divide#2 8192\relax \fi \fi \fi \fi \fi \divide#1 by #2\relax} \DeclareRobustCommand{\sqrt}{\@testopt\@sqrt{}} \def\@sqrt[#1]#2{% {\@save@counters \mathchoice {\@@sqrt\displaystyle {#1}{#2}}% {\@@sqrt\textstyle {#1}{#2}}% {\@@sqrt\scriptstyle {#1}{#2}}% {\@@sqrt\scriptscriptstyle{#1}{#2}}}} \def\@@sqrt#1#2#3{% \hbox{% \@restore@counters \setbox\z@\hbox{\m@th$#1#3$}% \dimen@\ht\z@ \advance\dimen@\p@ \dimen@ii\dp\z@ \advance\dimen@ii\p@ \setbox\z@\hbox{\m@th$#1% \overline{% \box\z@ \vrule\@width\z@ \@height\dimen@ \@depth\dimen@ii}$}% \dimen@\ht\z@ \advance\dimen@\dp\z@ \ifx#1\scriptscriptstyle \let\@tempa\ssf@size \else \ifx#1\scriptstyle \let\@tempa\sf@size \else \let\@tempa\tf@size \fi \fi \dimen@ii\@tempa\p@ \dimen@ii.5\dimen@ii \edef\@tempa{\noexpand\@drawradical {\strip@pt\dimen@}{\strip@pt\dimen@ii}}% \setbox4\hbox{\raise\ht\z@\hbox to\dimen@ii{\@tempa\hfil}}% \def\@tempa{#2}% \ifx\@tempa\@empty \box4\relax \else \setbox\tw@\hbox{\m@th$\scriptscriptstyle #2$\hskip.5\dimen@ii}%.25-->.5 \dimen@\ht\z@ \advance\dimen@-\ht\tw@ \setbox\tw@\hbox{\raise.5\dimen@\box\tw@}%%.6-->.5 2017-10-18 \ifdim\wd4<\wd\tw@ \box\tw@ \llap{\box4}% \else \box4 \llap{\box\tw@}% \fi \fi \box\z@}} \def\@save@counters{% \def\@elt##1{\noexpand\setcounter{##1}{\number\csname c@##1\endcsname}}% \edef\@restore@counters{\cl@@ckpt}} %\endinput %%%%%%%%%%%%%%%%%%%%%%%%%%% \makeatother \begin{document} $\sqrt{5}$ \end{document} パーマリンク 親投稿を表示する 返信 ishi hara への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 12:53 - 北見 けん の投稿 数式フォントのグリフ形状が気に入らない場合は作るしかないですよね。 なるほど。これは tpic specials で描画する方法ですね。 他の方法として、cmsy とか cmex のメタフォントソースを改変して 別デザインの根号を作るのもできそうです。 (改変する場合は混乱を避けるためにフォントファイル名を変えます) ## 私はDVIまでしか作らないのでこれでよいのですが、 ## PDFにするなら改変後のメタフォントソースから Type1 などに ## 変換しないといけないのかな? パーマリンク 親投稿を表示する 返信 北見 けん への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 20:56 - Fukuda T の投稿 ありがとうございました。 上記ソースで試してみた結果,うまくデザインを改変することができました。 メタフォントソースの改変も試してみようと思います。 ご回答に感謝します。 パーマリンク 親投稿を表示する 返信
ishi hara への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 12:53 - 北見 けん の投稿 数式フォントのグリフ形状が気に入らない場合は作るしかないですよね。 なるほど。これは tpic specials で描画する方法ですね。 他の方法として、cmsy とか cmex のメタフォントソースを改変して 別デザインの根号を作るのもできそうです。 (改変する場合は混乱を避けるためにフォントファイル名を変えます) ## 私はDVIまでしか作らないのでこれでよいのですが、 ## PDFにするなら改変後のメタフォントソースから Type1 などに ## 変換しないといけないのかな? パーマリンク 親投稿を表示する 返信 北見 けん への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 20:56 - Fukuda T の投稿 ありがとうございました。 上記ソースで試してみた結果,うまくデザインを改変することができました。 メタフォントソースの改変も試してみようと思います。 ご回答に感謝します。 パーマリンク 親投稿を表示する 返信
北見 けん への返信 Re: \sqrtの左の突起を小さくしたい 2021年 07月 11日(日曜日) 20:56 - Fukuda T の投稿 ありがとうございました。 上記ソースで試してみた結果,うまくデザインを改変することができました。 メタフォントソースの改変も試してみようと思います。 ご回答に感謝します。 パーマリンク 親投稿を表示する 返信