web-dev-qa-db-ja.com

LaTeXはAnkiで数学の配置を表示します

Anki で数学のフラッシュカードを作成しようとしています。当然、私は LaTeX をそれらのカードのデフォルトの植字システムにしたかったのです。そのために、basic mathという名前の新しい基本的な音符タイプを作成しました。これが私のオプションヘッダーです:

\documentclass[10pt]{article}
\usepackage[paperwidth=5in, paperheight=100in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amssymb,amsmath,amsfonts,mathrsfs,color}
\pagestyle{empty}
\setlength{\parindent}{0in}
\newcommand{\C}{\mathbb{C}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\renewcommand{\Re}{\operatorname{Re}}
\renewcommand{\Im}{\operatorname{Im}}
\begin{document}

私のカードタイプの前面(フランス語)は次のとおりです。

[ラテックス] {{レクト}} [/ラテックス]

私のカードタイプバック(フランス語)は次のとおりです。

{{FrontSide}}

<hr id=answer>
<br />

[latex]{{Verso}}[/latex]

最後に、これが私のカードタイプのスタイルです。

.card {
font-family: arial;
font-size: 10px;
text-align: center;
color: black;
background-color: white;
}
img {
width: auto;
height: auto;
max-height:1000px;
}

これがカードの表紙(フランス語)です:

Vrai ou faux ?
\[
z-\overline{z}=2\Im z
\]

とその背中:

Faux. En général,
\[
z-\overline{z}=2{\color{red}i}\Im z
\]

残念ながら、レンダリングは次のとおりです。

enter image description here

明らかに、表示計算の配置に何か奇妙なことがあります。このためにカードの裏面を変更した場合:

Faux. En général, bla bla bla bla bla bla bla bla bla bla bla
\[
z-\overline{z}=2{\color{red}i}\Im z
\] 

次に、方程式は適切に中央に配置されます(通常、LaTeXではデフォルトであるはずです)。

enter image description here

だから、私の質問は:Anki数学環境[$$] [/ $$]が与えるように、適切な中心の配置を取得する方法は?

3
Guest

まず、[latex]{{Recto}}[/latex]でやろうとしていることを「できません」。私はあなたを紹介します マニュアルを参照してください

フィールドへのメディア参照は許可されていません。レビュー中に表示される場合と表示されない場合があり、未使用のメディアのチェック、インポート/エクスポートなどでは機能しません。動作しない例:

[latex]{{Field 1}}[/latex]

それ以外に、表示されているのは\documentclass{article}の結果であり、Ankiがdvipngを呼び出して結果の画像をcropする方法と組み合わされています。 (また、なぜそれを100inに設定しているのですか?????)

AnkiがLaTeXから画像を生成するときに、舞台裏で何が起こっているかを見てみましょう。

  1. latexnotpdflatex!アドオンでanki.latex.latexCmdsを手動で変更しない限り、古い学校のもの。 )が呼び出され、連結されたLaTeX入力からDVIファイルが生成されます。

    latex -interaction=nonstopmode tmp.tex
    
  2. 結果に対してdvipngが呼び出され、Ankiデッキに含めることができるPNGに変換されます。その過程で、ほとんどの空白が削除されます。

    dvipng -D 400 -T tight tmp.dvi -o tmp.png
    

さて、これを「実際の」例で実際に見てみましょう。ただし、超高さの100in命令はありません(画像をクリックしてフルサイズで表示します)。

enter image description here

左下は連結されたLaTeXコードです。右上はLaTeXによって生成されたドキュメントです。右下は最終的なトリミングされた画像です。

これまでのところ、とても良いです。元のコードを試してみましょう:

enter image description here

ああ!何が起こっているのか分かりますか?

あなたの方程式is Centered、LaTeXの観点から—つまり、5in-wide {article}の観点、これはここで生成するように指示したものです。それがofw-centerのように見えるようにしているのはcroppingです。 (または、別の観点から言えば、方程式は中心にあり、テキストの支払いが不十分であると言えます—オフセットドキュメントの左。)


さて、「なぜ」で十分です。残念ながら、私が知る限り、これは簡単に修正できる問題ではなく、Ankiが期待していることを理解することができます。

ただし、が機能する1つのアプローチは、特定の例では、標準の\documentclass{article}から \documentclass{standalone} に切り替えることです。 = —ここで、私たちがやりたいことを実行するように特別に設計された機能を備えたパッケージ(layout—たとえば、LaTeX内のセンタリングなどを調整して、それらの最小サイズ。)

具体的には、cropオプションとvarwidthオプションを試してみましょう。 AnkiのLaTeXプレリュードを次のように変更し、必要に応じて¹調整します(Ankiのデフォルトの\special{papersize=3in,5in}行は関係がなくなったため、削除したことに注意してください)。

\documentclass[crop=true,varwidth=true]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{amssymb,amsmath}
\pagestyle{empty}
\setlength{\parindent}{0in}
\begin{document}

enter image description here

多田!

では、注意点について話しましょう、SRSの日没に乗る前に:

  1. これにより、いくつかのコンパイルエラーが発生します。理由を聞かないでください— standaloneパッケージは、私たちが行っていることを気に入らないと思います(ownイメージを生成するように構築されていますか?詳細はわかりません。)これでAnkiの画像生成が台無しになることはありません。プレビューウィンドウに表示される可能性がありますが、よくわかりません。 YMMV。

  2. varwidth環境には…多くの注意点があります。たくさんのことがうまくいきません。私はすべての詳細を知りません—あなたは TeX.seをトロールしなければなりません それを使用するとき、おそらく私より知識のある人々からの答えを見つけるために。

それらのために、私は最後の選択肢を検討したいと思います:

そもそもLaTeXでカード全体を植字しないでください

TeX.seではなくSuperUserを使用しているのは幸運です—あそこは最高の冒涜だと確信していますが、正直なところ、Computer Modernは画面上で醜いですとにかく(印刷用に設計されており、そこでは素晴らしいです…しかし、私たちがAnkiを使用している画面ではそれほど多くはありません。さらに関連性が高いのは、Ankiは将来的に MathJaxに移行する可能性が高い です(つまり、このようなハッキーなプリコンパイル済みPNGを出荷するのではなく、より一貫性のあるカード内レンダリングです)。すべてをLaTeXに出荷するよりも、Ankiの組み込みWebエンジン(HTML、CSS、JavaScript)を使用してスタイリングとタイプ設定を行います。 LaTeXを使用して方程式をPNGにレンダリングすることは、この時点では事実上、ホールドオーバー手段です。

基本的に、カードをHTMLで植字するだけで、これをすべて回避できます。の代わりに:

[latex]
Faux. En général,
\[
z-\overline{z}=2{\color{red}i}\Im z
\]
[/latex]

…試してみてください:

Faux. En général,
[$$]z-\overline{z}=2{\color{red}i}\Im z[/$$]

enter image description here

ブーム;テキストは方程式の中央に配置されます。なんて傑作! (私の設定はあなたの設定とは少し異なります。あなたの設定はそれほど大きくはありません-見た目など)


  1. 使用する{geometry}パッケージを{standalone}で動作させる方法がわかりません。私は実際には専門家ではありません。しばらく前にこの特定の問題に取り組んだばかりです。特定のニーズで機能させるには、おそらくLaTeX自体とのラングリングが必要になります。 、Ankiとは対照的に。幸運を。
4
ELLIOTTCABLE