
Ich versuche, mathematischen Ausdrücken Pfeile hinzuzufügen (insbesondere innerhalb von Grenzen), um darauf hinzuweisen, dass beim Lösen einer Grenze einem bestimmten Term ein Wert zugewiesen wird. Ich bin auf das Cancel-Paket und seinen Befehl \cancelto{}{} gestoßen, habe aber zwei Probleme damit: 1. Es streicht den Term durch, als würde es ihn stornieren (offensichtlich). 2. Es geht nur nach oben (ganz nach oben, aber der rechte Teil stört mich nicht), während ich es vielleicht nach unten brauche, wenn ich eine Tendenz im Nenner eines Bruchs zeige.
Bei meiner Suche hier habe ich einen benutzerdefinierten Befehl gefunden, der die Aufgabe mehr oder weniger erfüllt (ich habe ihn ein wenig modifiziert) und ihn zum Laufen gebracht. Leider funktioniert er die Hälfte der Zeit. Die andere Hälfte bringt er einfach alle Grundlinien der anderen Elemente in der Gleichung durcheinander. Ich hinterlasse Ihnen den Code der Befehle (für den ich, wie gesagt, nicht verantwortlich bin) und einen Fehler, den ich habe, in der Hoffnung, dass mir jemand helfen kann. Ich lerne Tikz immer noch, daher kann ich es nicht selbst lösen, obwohl ich vermute, dass dort die Antwort auf mein Problem liegt.
Der von mir geänderte Code:
\usetikzlibrary{calc}
\newcommand*\canc[1]{%
\mathchoice
{\scriptstyle#1}
{\scriptstyle#1}
{\scriptscriptstyle#1}
{\scriptscriptstyle#1}
}
\newcommand*\dtendto[2][0]{%
\kern9pt%
\begin{tikzpicture}[baseline=(current bounding box.center).anchor=east]
\node[anchor=east] (a) {$#2$};
\draw[->, color = red] ($(a.south)$) -- ($(a.south)-(-4pt,8pt)$) node
at ($(a.south)-(-8pt,12pt)$) {$\canc{#1}$};
\end{tikzpicture}
}
\newcommand*\utendto[2][0]{%
\kern9pt%
\begin{tikzpicture}[baseline=(current bounding box.south).anchor=east]
\node[anchor=east] (a) {$#2$};
\draw[->, color = red] ($(a.north)$) -- ($(a.north)+(4pt,8pt)$) node
at ($(a.north)+(8pt,12pt)$) {$\canc{#1}$};
\end{tikzpicture}
}
Der Teil, bei dem ich Probleme habe (ich habe frühere Teile, bei denen dies funktioniert hat, aber ein korrekter Code würde dort sicherlich auch funktionieren).
\lim_{x\to\infty} \frac{\bcancel{x^5}\cdot(\utendto[2]{2}
-\utendto[0]{\frac{3}{x^2}} +
\utendto[0]{\frac{2}{x^4}})}{\bcancel{x^5}\cdot\left(4 + \frac{5}{x}
-\frac{100}{x^5}\right)}
Und eine Momentaufnahme der Anzeige: Beachten Sie, dass ich möchte, dass die Pfeile oben hinzugefügt werden, als wüsste die Gleichung nicht einmal, dass sie da sind. Jetzt scheint es, als würde es auf das reagieren, was ich hinzufüge, indem ich versuche, die + und - Zeichen zu zentrieren (sogar die Klammern, wenn ich \left( und \right) verwende), wodurch ein normales Erscheinungsbild verzerrt wird.
Und hier ist eine Photoshop-Version, wie es für mich aussehen soll:
Im Grunde genommen möchte ich, dass die Gleichung die Pfeile ignoriert und so gesetzt wird, als wären sie nicht da (außer natürlich, dass der vertikale Abstand nicht durch andere Zeilen oder Gleichungen oben oder unten überlagert wird).
Es ist mir gelungen, einen neuen Befehl namens \dtendto[]{} zu erstellen, der dasselbe macht, außer dass der Pfeil nach Südosten statt nach Nordosten zeigt, aber ich denke, die Lösung ist für beide die gleiche, und um den Beitrag nicht länger zu machen, habe ich ihn weggelassen.
Dank im Voraus,
Antwort1
Bemerkungen
Ich habe und hinzugefügt inner xsep=0pt
und outer sep=0pt
außerdem den Begrenzungsrahmen begrenzt.
In meiner Bearbeitung habe ich die Bibliothek entfernt calc
, da sie nicht wirklich benötigt wird. Darüber hinaus habe ich inner sep=0pt
die Knoten und shorten <=.3333em
Pfeile so eingestellt, dass der Abstand zwischen Ziffer und Pfeil erhalten bleibt, während zusätzlicher Abstand unter der Ziffer entfernt wird.
Ich habe alle Werte durch skalierbare Einheiten ( ex
und em
) ersetzt.
Außerdem benötigen Sie das Makro nicht , da es in Ihrer Implementierung \canc
immer standardmäßig verwendet wird .\scriptstyle
Implementierung
\documentclass{article}
\pagestyle{empty}
\usepackage{tikz,cancel}
\renewcommand{\CancelColor}{\color{red}}
\newcommand*\dtendto[2][0]{%
\begin{tikzpicture}[baseline=(a.base),every node/.style={inner sep=0pt,outer sep=0pt}]
\node (a) {$#2$};
\path[red] (a.south) node (b) at +(0.5em,-3ex) {$\scriptstyle #1$};
\draw[->,red,shorten <=.3333em,shorten >=.3333em] (a) -- (b);
\pgfresetboundingbox
\path[use as bounding box] (a.north west) rectangle (a.south east |- b.south);
\end{tikzpicture}
}
\newcommand*\utendto[2][0]{%
\begin{tikzpicture}[baseline=(a.base),every node/.style={inner sep=0pt,outer sep=0pt}]
\node (a) {$#2$};
\path[red] (a.north) node (b) at +(0.5em,3ex) {$\scriptstyle #1$};
\draw[->,red,shorten <=.3333em,shorten >=.3333em] (a) -- (b);
\pgfresetboundingbox
\path[use as bounding box] (a.south west) rectangle (a.north east |- b.north);
\end{tikzpicture}
}
\begin{document}
\fbox{
$\displaystyle
\lim_{x\to\infty} \frac{\bcancel{x^5}\cdot(\utendto[2]{2}
-\utendto[0]{\frac{3}{x^2}} +
\utendto[0]{\frac{2}{x^4}})}{\bcancel{x^5}\cdot\left(\dtendto[4]{4} + \frac{5}{x}
-\frac{100}{x^5}\right)}
$
}
\end{document}
Ausgabe
In der tatsächlichen Ausgabe werden die Begrenzungsrahmen nicht hervorgehoben. Ich habe sie zur Veranschaulichung nur grün eingefärbt.