Re: 明朝・ゴシックの斜体

名前: nide
日時: 2002-07-08 21:06:03
IPアドレス: 160.11.72.*

>>9352 手軽に済ませたければ、添付のような定義をして \slbox{あいうえお} という手もあります。これだと、日本語環境とPostScriptさえあれば どこでも日本語の斜体を実現できますし、日本語文字に限らず任意の ものを傾けられます。但し、箱の中では改行されないので、長い文章を 斜体で書いたりはできません。引数を1文字ずつ取り出して \slbox に 渡すマクロを書く手もありますが、禁則処理とかに対処するのは大変 でしょう。 \def\slantbox#1#2{{% % 箱#2の大きさと位置は変えずに、箱の中身だけ#1ほど傾ける % #1には角度を度単位で指定するかあるいは「sl」「it」と書く % 「sl」と書くとarctan(1/6)だけ傾く(ほぼ\itの傾き) % 「it」と書くとarctan(1/4)だけ傾く(ほぼ\slの傾き) % 箱の大きさは変わらないので、傾いた分中身が箱の前後にはみ出す % graphicsパッケージ要 #1に角度を指定する場合はeclarith.styも要 \setbox\tmp@X\hbox{#2}\edef\tmptok@a{#1}% \def\tmptok@b{sl}\ifx\tmptok@a\tmptok@b% θ=atan(1/6)=9.46232° \def\@RotDeg{49.7312}\def\sec@Theta{1.01379}% \def\csDif@hTheta{.914112}\def\csSum@hTheta{1.07907}% \else \def\tmptok@b{it}\ifx\tmptok@a\tmptok@b% θ=atan(1/4)=14.0362° \def\@RotDeg{52.0181}\def\sec@Theta{1.03078}% \def\csDif@hTheta{.870324}\def\csSum@hTheta{1.11469}% \else \Mul{#1}{.5}\@hTheta \Add{45}\@hTheta\@RotDeg \DegRad\@hTheta\@hTheta \Cos\@hTheta\c@hTheta \Sin\@hTheta\s@hTheta \Add\c@hTheta\s@hTheta\csSum@hTheta \Sub\c@hTheta\s@hTheta\csDif@hTheta \Mul\csSum@hTheta\csDif@hTheta\sec@Theta \Div{1}\sec@Theta\sec@Theta \fi\fi \mbox{\rotatebox{-\@RotDeg}{\scalebox{\csDif@hTheta}[\csSum@hTheta]{% \rotatebox{45}{\scalebox{1}[\sec@Theta]{% \smash{\makebox[0pt][l]{\usebox{\tmp@X}}}% }}% }}\phantom{\usebox{\tmp@X}}}% }} \def\slbox{\slantbox{sl}}\def\itbox{\slantbox{it}}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)