LaTeX zeigt die mathematische Ausrichtung in Anki an

1657
Guest

Ich habe versucht, mathematische Karteikarten in Anki zu erstellen . Natürlich wollte ich, dass LaTeX das Standard-Satzsystem für diese Karten ist. Zu diesem Zweck habe ich einen neuen Grundnotizentyp namens Grundlegende Mathematik erstellt . Hier ist mein Optionsheader:

\documentclass[10pt] \usepackage[paperwidth=5in, paperheight=100in] \usepackage[utf8] \usepackage \pagestyle \setlength{\parindent} \newcommand{\C}{\mathbb} \newcommand{\N}{\mathbb} \newcommand{\Q}{\mathbb} \newcommand{\R}{\mathbb} \newcommand{\Z}{\mathbb} \renewcommand{\Re}{\operatorname} \renewcommand{\Im}{\operatorname} \begin 

Mein Kartentyp (auf Französisch) ist:

[Latex] {} [/ Latex]

Mein Kartentyp zurück (auf Französisch) ist:

{}  <hr id=answer> <br />  [latex]{}[/latex] 

Zum Schluss noch mein Kartentyp:

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

Hier ist eine Kartenfront (auf Französisch):

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

und sein Rücken:

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

Leider ist hier das Rendern:

LaTeX zeigt die mathematische Ausrichtung in Anki an

Offensichtlich ist etwas komisch mit der Ausrichtung der Anzeige. Wenn ich dafür die Rückseite der Karte ändere:

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

dann ist die Gleichung richtig zentriert (wie es normalerweise bei LaTeX standardmäßig sein sollte):

LaTeX zeigt die mathematische Ausrichtung in Anki an

Meine Frage ist also: Wie bekomme ich die richtige Zentrumsausrichtung, wie es die Anki-Umgebung [$$] [/ $$] geben würde?

2

1 Antwort auf die Frage

3
ELLIOTTCABLE

Zunächst einmal können Sie nicht tun, was Sie tun möchten [latex]{}[/latex]. Ich verweise Sie auf das Handbuch :

Medienreferenzen auf Felder sind nicht zulässig. Während der Überprüfung werden sie möglicherweise nicht angezeigt und funktionieren nicht, wenn Sie nach nicht verwendeten Medien suchen, importieren / exportieren usw. Beispiele, die nicht funktionieren:

[latex]{}[/latex] 

Abgesehen davon ist das, was Sie sehen, ein Ergebnis der \documentclassKombination von Anki und dvipngdem Zuschneiden des resultierenden Bildes. (Auch, warum zum Teufel haben Sie es eingestellt 100in?)

Schauen wir uns an, was hinter den Kulissen passiert, wenn Anki ein Bild aus LaTeX generiert:

  1. latex( nicht pdflatex ! die alte Schule, es sei denn, Sie ändern manuell anki.latex.latexCmdsmit einem Add-On.) wird aufgerufen, um eine DVI-Datei aus der verketteten LaTeX-Eingabe zu generieren:

    latex -interaction=nonstopmode tmp.tex 
  2. dvipng wird für das Ergebnis aufgerufen, um es in eine PNG-Datei zu konvertieren, die in Ihr Anki-Deck aufgenommen werden kann, und schneidet dabei den Großteil des Whitespaces aus:

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

Okay, lassen Sie uns dies an Ihrem "funktionierenden" Beispiel in Aktion sehen, abgesehen von der extrem großen 100inAnweisung (klicken Sie auf das Bild, um es in voller Größe zu sehen):

Unten links ist Ihr verketteter LaTeX-Code. Oben rechts ist das von LaTeX erzeugte Dokument. und rechts unten ist das endgültige, beschnittene Bild.

So weit, ist es gut. Versuchen wir es mit Ihrem Originalcode :

Ahhah! Sehen Sie, was dort passiert?

Ihre Gleichung ist aus der Perspektive von LaTeX zentriert - das heißt, die Perspektive von 5in-weit , die Sie hier angegeben haben. Es ist der Zuschnitt, der den Anschein erweckt, als sei er ofw-center. (Oder aus einer anderen Perspektive könnten wir sagen, dass die Gleichung zentriert ist und der Text schlecht ausgezahlt wird - er ist in Ihrem Dokument weit nach links versetzt .)


Okay, genug von dem "Warum". Leider ist dieses Problem, soweit ich weiß, kein leichtes Problem zu lösen und trotzdem zu bekommen, was Anki erwartet.

Ein Ansatz aber, dass funktioniert, mit Ihrem spezifischen Beispiel ist von einem Standard zu wechseln \documentclass, um \documentclass- ein Paket mit einem Feature speziell zu tun, was wir tun wollen, hier (stellen Sie die Layout - Sachen wie Ihre Zentrierung, für Instanz - innerhalb von LaTeX, um die Dinge auf ihre kleinste Größe zu setzen.)

Lassen Sie uns insbesondere die Optionen cropund ausprobieren varwidth. Ändern Sie Ihr LaTeX-Vorspiel in Anki wie folgt, und passen Sie es ggf. an Ihre Bedürfnisse an: (Beachten Sie, dass ich Ankis Standardlinie losgelassen habe \special, da sie nicht mehr relevant ist.)

\documentclass[crop=true,varwidth=true] \usepackage[utf8] \usepackage \pagestyle \setlength{\parindent} \begin 

Tada!

Sprechen wir über Vorbehalte, bevor ich in den SRS-Sonnenuntergang fahre:

  1. Dies führt zu einigen Übersetzungsfehlern. Fragen Sie mich nicht warum - ich glaube, das standalonePaket gefällt nicht, was wir damit machen (es ist so aufgebaut, dass es eigene Bilder generiert ? Ich bin mir zwar nicht sicher, was genau ist.) Dies sollte Ankis Image nicht vermasseln Generation, dass sie für Sie im Vorschaufenster erscheinen könnten, bin ich mir nicht sicher? YMMV.

  2. varwidthUmgebungen haben… viele Vorbehalte. Ein paar Dinge funktionieren nicht in ihnen. Ich kenne nicht alle Details - Sie müssen durch TeX.se recherchieren, um Antworten von Leuten zu finden, die sachkundiger sind als ich, höchstwahrscheinlich, wenn Sie es verwenden.

Deshalb möchte ich noch eine letzte Alternative prüfen:

Sie nicht Ihre gesamte Karte in LaTeX setzen an erster Stelle !

Es ist ein Glück, dass wir auf SuperUser sind, und nicht auf TeX.se. Ich bin mir ziemlich sicher, dass dort die höchste Blasphemie ist. Aber ehrlich gesagt, Computer Modern ist sowieso Effing Hässlich auf Bildschirmen (es ist für den Druck gedacht, und es ist großartig dort… aber nicht so viel auf Bildschirmen, wo wir Anki benutzen); Und relevanter ist, dass Anki in Zukunft wahrscheinlich zu MathJax wechseln wird (dh konsistenteres In-Card-Rendering, anstatt hackige vorkompilierte PNGs wie diese zu versenden.) Es ist zukunftsfähiger, sich auf das integrierte Web von Anki zu verlassen Engine (HTML, CSS, JavaScript) für das Styling und das Setzen von Texten, als das alles an LaTeX zu versenden! Das Rendern von Gleichungen für PNGs mit LaTeX ist an diesem Punkt effektiv ein Hold-Over-Maß.

Grundsätzlich kann dies alles vermieden werden, wenn Sie Ihre Karte nur in HTML eingeben. Anstatt:

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

… Versuchen:

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

Boom; Der Text wird über der Gleichung zentriert. Was für ein Meisterwerk! (Meine Einstellungen unterscheiden sich geringfügig von Ihren Einstellungen; Ihre Einstellungen werden nicht so groß aussehen, usw.)


  1. Ich habe keine Ahnung, wie das Paket, mit dem Sie arbeiten, funktioniert . Ich bin eigentlich kein Experte, ich habe mich gerade vor einiger Zeit mit diesem spezifischen Problem auseinandersetzen müssen - weil es für Ihre speziellen Bedürfnisse geeignet ist, wird es wahrscheinlich einen Streit mit LaTeX selbst geben, im Gegensatz zu Anki. Viel Glück.
(PS - Ich habe das Flag für die Verschiebung nach [TeX.se] (https://tex.stackexchange.com) markiert, da dies wahrscheinlich ein geeigneter Ort für solche Fragen ist!) ELLIOTTCABLE vor 6 Jahren 0