コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

Template‐ノート:Math

ページのコンテンツが他言語でサポートされていません。

texhtml クラスについて

[編集]

/docの「注」節の説明の通りならば Common.css に texhtml クラスに関する記述があるはずです(無論、おおもとの英語版にはあります)が、日本語版にはない(ので class="texhtml" という指定が意味を成していない)ように思われます。少なくとも数式フォントがセリフでないのは可読性にも影響多大と思いますので、テンプレートレベルで CSS style 指定して応急対処を試みました(普段個人のマシンではブラウザ自体の表示フォントをセリフフォント中心になるように設定しているため、あまり気にしていませんでした(が、テンプレ適用時のフォントサイズが英語版と違うなーとは思っていた))。本来的には権限持ちの方に頼んで Common.css に必要な記述を入れてもらうべきかとは思いますが、私はよく分からない(特に和文フォントとの関連で考えると英語版からそのまま移植で済むかどうかもよく分からないし、入れるにしてもどこでだれに頼めばいいのかもよく分からない)ので、どなたかわかる方のご助力を頂けると助かります。--Buriedunderground会話2016年5月5日 (木) 02:02 (UTC)[返信]

どうせ応急処置するなら一旦英語版に合わせておけばいいのでは.Nimbus Roman No9 L より serif の方がいいのでしょうか?文字の大きさは118%にしておけば{{sqrt}}とかとの整合性もとれるようです.texhtml クラスがないのでそれに関する /doc の記述がおかしなことになっていますがどうしたものか…….新規作成 (利用者名) 会話2016年5月6日 (金) 08:47 (UTC)[返信]
修正ありがとうございます。やはり font-size: 118%; を入れたほうが読みやすいでしょうか。日本語書籍を見ていると、最近の TeX 組みのものはともかく、従来の組版だと和文文字は欧文文字より僅かに小さい(というよりアルファベットのディセンダ・アセンダ込みの高さと和文文字の全体の高さが同じくらいの)サイズの組み合わせになってる気がする)ので、個人的にはもともとの100%の時点でバランスとれている気もするのですが…。white-space: nowrap; 指定はすっかり頭になかったので助かります。
> serif の方がいいのでしょうか?
フォント表示やCSSについてきちんと理解できていないので申し訳ないところですが、font-family 属性において serif, sans-serif, monospace は具体的なフォント指定ではなく「総称名」(それぞれセリフ系フォント全般、サンセリフフォント全般、モノスペースフォント全般)で、具体的な指定フォントが無い場合適当に選んで表示してくれるはずと認識しているので、あのようにしました(そもそも応急処置のつもりなので、何かを具体的に指定すべきか、するならどのフォントを指定すべきかという問題は個人的には回避したいと思ったので。まあ Times New Roman あたりはweb標準フォント的な認識でいいのかもしれないけど)。
/doc については、現状は texhtml クラスを追記する予定ということにして、とりあえずそのままでよいのではないでしょうか(実現可能性や実現時期はともかく大まかな方向性として texhtml クラス策定の方向でという意味で)。複数のテンプレートで常に整合を気にしないといけないよりは texhtml クラスを策定してしまう方が安全、というのは大体の人に納得してもらえると思うので。mediawiki talk:common.cssをちょっと眺めてみたんですが、具体的に提案内容が決まればそこで投票なりなんなりすれば管理者に追記してもらえるっぽいですね。--Buriedunderground会話2016年5月6日 (金) 09:42 (UTC)[返信]
追加です。複数のテンプレートで font-size を変更するものがあり、これらが特に入れ子になった場合などだいぶ整合が悪いときがあるということが挙げられます。典型は {{sup}} と {{msup}} で、後者は {{math}} が 118% にする前提でそれに対応して 75% にするよう指定されているようです。したがって、118% にするなら {{sup}}(もちろん直接 <sup> タグでも同じ)は大きすぎますし、100% なら後者はむしろ小さすぎることになります。もう一つ典型っぽいのは、{{pi}}(= {{π}})はそれ自体に 118% 指定が入っているので、{{math}} の中で使うと 118% の 118% になって大きくなりすぎます({{math}} の中に {{math}} や {{mvar}} を入れ子にしても同様のことが発生します)。これについては {{pi}} の英語版の説明には {{math}} の中で使うなという注意が書かれています。
これまで意味論的にテンプレートを使い分けることは多少気にしていました(厳密に使い分けるということは考えてないしあまりガチガチの厳密さにすると取り回しが悪くなると思う)が、数式のフォントサイズを 118% 標準とするのであれば、そういったフォントサイズ変更を伴うテンプレート間の整合まで原則としては考慮しなければならないので、英語版はそういうところをどういう指針で運用しているのか、調べないといけないのかな、と。逆に 100% を標準として、原則として個別テンプレートではフォントサイズ変更を行わないような方針なら、多少むちゃくちゃな使用実態があっても問題は表面化しないのかな、と考えています。--Buriedunderground会話2016年5月6日 (金) 15:37 (UTC)[返信]
別にサイズが変わったことによって読みやすくも読みにくくもなっていないんじゃないかと思います.私は近眼なのでその意味では読みやすくなっていますが.ただ,今までのサイズに慣れているのもあるかもしれませんが,「なんか大きいな」とは思います.jsarticle では和文は欧文の約 0.925 倍になっていて,逆に言えば欧文は和文の 1.081 倍ですから,これと比べてもやはり大きいです.ですので,118% ほど大きくしなくてもいいかもしれません.100% だと個人的にはやや小さく見えます.
serif については,どういうわけか,私の環境だと,style="font-family: serif;" だけだとセリフにならないんですよね.斜体もただ斜めにしただけのような文字で.Windows7 でクロームの最新版を何も設定をいじらず使っています.なので,そういう環境は少なくはないと思います.すみません,「Serif フォント」が「MS Pゴシック」という謎の設定になっていました.ブラウザのデフォルトは Times New Roman のようです.新規作成 (利用者名) 会話2016年5月16日 (月) 11:03 (UTC) 今の状態だと,テンプレートを用いた数式はきれいに表示されています.根号 {{sqrt}}, {{radic}} もどういうわけか今のフォント指定だと &radic; に続く数式の上の横棒がずれないですね.文字の大きさは関係なかったようです.[返信]
このノートページで texhtml クラスを作っていって,具体的に決まればそこのノートページに持っていくということでいいのでしょうか.英語版ではおそらく次の部分(l. 1294 から)が texhtml にかかわる部分だと思います.
/* Generic class for Times-based serif, texhtml class for inline math */
.times-serif,
span.texhtml {
    font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;
    font-size: 118%;
    line-height: 1;
}
span.texhtml {
    white-space: nowrap;
}
span.texhtml span.texhtml {
    font-size: 100%;
}
span.mwe-math-mathml-inline {
    font-size: 118%;
}

/* Force tabular and lining display for digits and texhtml */
.digits,
.texhtml {
    -moz-font-feature-settings: "lnum", "tnum", "kern" 0;
    -webkit-font-feature-settings: "lnum", "tnum", "kern" 0;
    font-feature-settings: "lnum", "tnum", "kern" 0;
    font-variant-numeric: lining-nums tabular-nums;
    font-kerning: none;
}
素人の予想ですが
span.texhtml span.texhtml {
    font-size: 100%;
}
の部分で入れ子のときのサイズがうまくいっていると思います.日本語版では現状100%にしておいたほうがいいでしょうか.英語版のその注意はたぶん {{pi}} ができた当時には必要だったけれども今では必要のないものです.
いくつか参考になりそうな例を(コードはよくない可能性がありますが(いくつかは意図的にそうしていますが))おいておきます.
  • <span style='font-family: serif; font-size:100%;'>''x''<sup>''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:100%;'>''x''<sup>''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:100%;'>''x''<sup style="vertical-align:1.0ex; font-size:75%;">''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:108%;'>''x''<sup>''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:108%;'>''x''<span style=font-size:75%;><sup style="vertical-align:1.0ex;">''y''</sup></span></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:108%;'>''x''</span><span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif;'><sup style="vertical-align:1.0ex; font-size:75%;">''y''</span></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:118%;'>''x''<sup>''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:118%;'>''x''<sup style="vertical-align:1.0ex; font-size:100%;">''y''</sup></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:118%;'>''x''<span style="font-size:100%;"><sup style="vertical-align:1.0ex;">''y''</sup></span></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:118%;'>''x''</span><span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:100%;'><sup>''y''</span></span>
  • まわりの xy 文章
  • <span style='font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size:118%;'>''x''<span style=font-size:75%;><sup>''y''</sup></span></span>
  • まわりの xy 文章
新規作成 (利用者名) 会話) 2016年5月7日 (土) 03:26 (UTC) 微修正新規作成 (利用者名) 会話2016年5月7日 (土) 03:38 (UTC)[返信]

<syntaxhighlight>のエラー修正。lang="css" を追加しました。--Glayhours会話2016年5月11日 (水) 15:07 (UTC)[返信]

あ,分数のときはずれてますね,よく分からない…….
{{math|{{sqrt|{{sfrac|1|2}}|.}}}} 1/2,
{{math|{{sqrt|2}}}} 2. 新規作成 (利用者名) 会話2016年5月9日 (月) 09:45 (UTC)[返信]
とりあえず大きな問題がなさそうなら英語版のを文字サイズだけ108%くらいにしてcommon.cssに入れて様子見してみるのでもいい気がするのですがどうでしょうか.<span lang="en" xml:lang="en"> にあたる部分はどうすればいいのかよく分かりませんがテンプレートの方で個別で入れることになるのでしょうか.新規作成 (利用者名) 会話2016年5月11日 (水) 12:18 (UTC)[返信]
PJ:MATHでは少し触れてあるのですが特別:Mypage/common.cssを編集すれば css クラスの設定を反映できます。自分で試したところでは en の Common.css のクラス定義をそのまま移植して問題なく動いているので、ja の方も同じように対処できると思います。{{sqrt}} と {{radic}} についてはフォントによるところが大きいので完璧に調整するのは難しいのではないでしょうか。{{sfrac}} 内部に平方根つきや括弧つきなどを組み込むという方向性なら調整も可能なのかもしれませんが。言語属性は css の範疇ではないのでそのまま残すで良いと思います(目的は欧文フォントの呼び出しだったと思いますが)。
余談になりますが、Common.css に関連しそうな修正箇所といえば {{msup}} などはクラス内の <sup> 要素の定義を変更すれば不要になるような気がします。--Glayhours会話2016年5月11日 (水) 15:07 (UTC)[返信]
報告 MediaWiki‐ノート:Common.css#texhtml クラスの導入 で節を起こしてきました.
なるほど,根号と分数を別々のテンプレートでなくひとつのテンプレートでやればうまくいく(かもしれない)わけですね.まあそのへんの調整はGlayhoursさんを含む他の方にお任せしようかと思います.
「クラス内の <sup> 要素の定義を変更」しておけば,編集者側としてもうれしいかもしれないですね.Common.css そのものの修正はそっちのノートでやりましょう.新規作成 (利用者名) 会話2016年5月13日 (金) 06:14 (UTC)[返信]

エラーメッセージについて

[編集]

この差分:template:mathでエラーメッセージが追加されて、それは分かり易くてよいと感じるのですが、標準名前空間で実際に使ってみた(というか編集中にミスっただけですが)ところ、{{NAMESPACE}}:{{TEMPLATENAME}} はそのページの名前に展開されてしまって(とくに {{TEMPLATENAME}}{{PAGENAME}} と同じ効果のようです)エラーを吐いているのがこのテンプレートであることが一見してわかりません……。それからどうも [[Category:テンプレート呼び出しエラーのあるページ/{{NAMESPACE}}:{{TEMPLATENAME}}]]もそのページ内で解釈されるからか、エラーメッセージが途中から壊れている感じに見えます。編集中に見かけただけで、もしかしたら保存したら直るのかもしれませんが確認していないし、影響範囲も分からないので、下手に弄るよりはとこちらで質問しました。--Buriedunderground会話2016年5月15日 (日) 04:44 (UTC)[返信]

すみません、コピペミスです。直接名前を書けば解決します。報告ありがとうございました。--Glayhours会話2016年5月15日 (日) 04:59 (UTC)[返信]