2012-06-29 13 views
17

私はMathJaxを使用して自分のWebサイトに式を表示しています。 MathJaxはsincos、...のような多くの関数を認識しますが、sech(双曲線割線)やcsch(双曲線コセカント)など多くの機能はありません。私はしかし、私はむしろ\sech仕事になるだろう、私はまだ、このようなMathJaxで新しい関数( '演算子')を定義する方法は?

\text{sech} u 

として、\textによって数式でこれらの機能を使用することができます知っています。この目的のために、私は試しました

<div style="display:none"> 
    $\DeclareMathOperator{\sech}{sech} 
    \DeclareMathOperator{\csch}{csch}$ 
</div> 

<body>の直後です。 (私はまた、DeclareMathOperatorの後にアスタリスクを追加しようとしました)

このほぼ作品。問題は、今

\sech^2 u 

場所平方sech上記、代わりの後に、それ(proof)。これを修正する方法はありますか? MathJaxで新しい関数( '演算子')を定義するための推奨される方法は何ですか?確かに、双曲線関数の完全なスペクトルなしで誰が生きることができるのか、良い方法がありますか?

+0

MathJaxがラテックスに100%対応しているかどうかわかりませんが、\ sech \ nolimits^{2} 'を試すことができますか? – phg

+1

@phg:ご意見ありがとうございます。はい、それはうまくいきますが、最初は 'sech'を動作させるメリットがありません。実際、 '\ text {sech}^2'でも' \ sech \ nolimits^2'よりも文字の種類が少なくなります。 –

答えて

13

\DeclareMathOperatorマクロは、スーパーとサブスクリプトの位置に常に制限がある演算子を宣言する手段を提供しません。そのため、\sechは、表示された式で使用されると上に上付き文字が表示されます。何をしたい

は以下の通りです:

<div style="display:none"> 
    $ 
    \newcommand{\sech}{\mathop{\rm sech}\nolimits} 
    \newcommand{\csch}{\mathop{\rm csch}\nolimits} 
    $ 
</div> 

これはあなた\sin\cosのように働くの演算子を取得します。 \mathopは、演算子名の周りに適切なスペースを提供するため、この形式ではスペースを使用する方が\text{...}を使用するバージョンよりも優れていることに注意してください(ただし、MathJaxにスーパーまたはこれは次のリリースで修正される予定です)。

+0

ありがとうございました! –

+0

これを[MathJaXのドキュメント](http://docs.mathjax.org/en/latest/tex.html#defining-tex-macros)に従ってマクロに入れると、完璧に機能しました!私は '

関連する問題