忙しい現代人の腰&肩のお悩み対策!

上付き文字と下付き文字を同時に使い,
それらの左端位置を揃える方法はありますか.
ご存知でしたら教えてください.
よろしくお願いします.

次のような回答はご遠慮願います.
・テーブルを使う
・後の方をposition: relative;にしleftを指定する(汎用性に欠けます)
・画像を使う

このQ&Aに関連する最新のQ&A

A 回答 (5件)

何がしたいのかわかりませんでしたが、No.3の画像でわかりました。


数式はMathMLか画像で、、、としか言いようがないと思います。

sub{margin-left: -1ex}
とか、(未検証です)
2文字なら-2exとか、HTMLを書くときに字数に合わせてインラインスタイルシートで書くのがベターかと思います。


SVG、、、まあ、画像の一種ですが。
対応ブラウザなら<object>か<img>で表示できますし、テキストエディタで編集も可能です。

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="30px" height="30px" version="1.1" xmlns="http://www.w3.org/2000/svg">
<text x="4px" y="18px"
style="fill:rgb(0,0,0);font-family:serif;font-size:10pt;text-anchor:start">X</text>
<text x="15px" y="12px"
style="fill:rgb(0,0,0);font-family:serif;font-size:10pt;text-anchor:start">2</text>
<text x="15px" y="24px"
style="fill:rgb(0,0,0);font-family:serif;font-size:10pt;text-anchor:start">0</text>
</svg>
    • good
    • 0
この回答へのお礼

SVG(IE用に+VMLですね)を使う方法は余計面倒になりますね…(測る場所が増える)
よく考えるとleftを指定すると元の位置に空白が残ってしまうのでマージンを指定するのが無難ですね.
最終手段ですがoffsetWidthとかで前の要素(補足に書いた例の場合sub)の幅を取得して,後の要素の(sup)マージンを動的に指定するしかないでしょうか…

お礼日時:2010/02/18 08:17

>毎回添字の幅を計算して指定しないといけないという意味です


 なら無理です。
 XML + XSLT で字数を数えてなんて無理だと思います。
 HTMLを入力する時点で、<sub>の文字数はわかるので、その時点でrelattveのleftを指定するしかないでしょう。
 それか、もうTexで書くしか・・・
    • good
    • 0
この回答へのお礼

>それか、もうTexで書くしか…
そうなんですよね,普段は数式をMathJaxで書いているのですが,
(ちなみに
MathJax.CallBack.Queue(
["Post", MathJax.Hub.Startup.signal, "Process"],
["Process", MathJax.Hub],
["Post", MathJax.Hub.Startup.signal, "End"]
).Process();
すれば後から追加した<script type="math/tex">をパースできます
余計なお世話ですね,すみません)
HTMLでシンプルに書いた方がいい場合もあるのです(説明は割愛).

お礼日時:2010/02/18 08:21

Texだと、$X_0^2$ですね。


MathMLで書くというのが本来でしょうね。
MathMLについては調べてください。

ここでは、HTMLでの方法に限定して説明
★後の方をposition: relative;にしleftを指定する(汎用性に欠けます)
 欠けません。というか必要です。
 添え字の幅が決まっていないため、その幅を指定しないと揃いません。
 もちろん、項自体をインラインブロックにして、内部でabsoluteを使うことも可能ですが、項の主たる文字(ここでいう x )の字数の関係でその文字をずらして、ずらした分前に寄せるという複雑でもっと汎用性の欠けるものになります。

<p class="math">
x<sub>0</sub><sup style="left:-0.5em;">2</sup>=y
<!-- ここでleft:-0.5emで、その前のsub内の文字数に合わせる -->
</p>
スタイルシート
<style type="text/css">
<!--
html,body{padding:0px;margin:0px;}
p.math{font-size:1.5em;padding-left: 5em;}
p.math sub{font-size:0.6em;}
p.math sup{font-size:0.6em;position:relative;top:-0.2em;}
-->
</style>
「上付き文字と下付き文字を同時に左揃えにで」の回答画像3

この回答への補足

すみません,汎用性に欠けるというのは,毎回添字の幅を計算して指定しないといけないという意味です(プロポーショナルフォントでは単純にemでは計算できません).
MathMLは知っているのですが,ブラウザごとに対応状況が異なるので…

補足日時:2010/02/17 23:00
    • good
    • 1
この回答へのお礼

画像まで付けていただき,ありがとうございますm(__)m

お礼日時:2010/02/17 23:01

そもそもどういうマークアップなのですか?



たとえば、数学とか化学とか・・・

この回答への補足

すみません,説明が足りなかったかもしれません.
例えば,x<sub>0</sub><sup>2</sup>などです.
これで0と2の左端位置を揃えたいんです…無理でしょうか.
(subなどは非推奨だった気がするので,spanタグをCSSでいじったものと読み替えてください)

補足日時:2010/02/17 19:57
    • good
    • 0

Wordで数式エディターを使います。

この回答への補足

えっと…そういう意味ではないんですよ.
ちなみに数式エディタを使うのは「画像を使う」に該当します(確かWordでHTMLで書き出すと,IEではVML,それ以外のブラウザでは代替画像で表示されるはずです)

補足日時:2010/02/17 19:06
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qword で上付き文字と下付き文字の合わさった文字の書き方

ワード2007を使っているのですが。
dt4 (tは上付き文字)
  (4は下付き文字)
で表したい場合どうすればいいのでしょうか?

Aベストアンサー

数式エディタを使用するとか。

バラゑもんSIDE - 使える?Word攻略法 - 複雑な数式を入力する
http://web.sfc.keio.ac.jp/~t03920hm/ahoWord/aw_math.htm

サイト内の画像だと、数式ツールバーの、下段、左から5番目のアイコン。

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む


人気Q&Aランキング