Ich bräuchte sowas wie

Öffne in Overleaf
\foreach \i in \sage{<Mit Sage erzeugte Liste>}{
    <Ausdruck von \i>
    }

konkret benötige z.B. \def\Liste{5,4,2,1,3} um daraus ein TikZ-Bild zu zeichnen. Deshalb ist es möglicherweise auch unpraktisch komplett bei Sage Variablen zu bleiben.

Etwa

sage: def P(n,k): return (list(Permutations(n)[k-1])) # Syntax: P(3,2)

erzeugt eine Liste von Zahlen 1,2,3, bloß wie kann ich diese mit TeX weiterverarbeiten?

Öffne in Overleaf
%\documentclass[]{article}
\documentclass[border=5mm, varwidth]{standalone}
\usepackage{sagetex}
\usepackage{tikz}
\usepackage{amsmath}

\begin{sagesilent}
def P(n,k): return (list(Permutations(n)[k-1])) # Syntax: P(3,2)
def Q(n, k): return matrix([range(1, n + 1), list(Permutations(n)[k-1])]) #Syntax: Q(3,1)
\end{sagesilent}

Test: \\ 
Tut:\\
$\sage{P(3,1)}$ \\

\foreach \i in {1,...,3}{
\i
}

Tut nicht: \\

\foreach \i in \sage{P(3,1)}{
\i
}

Weitere -positive- Tests: 
$\sigma_1 = \sage{Q(3,1)}$

\foreach \i in {1,...,6}{
$\sigma_\i = \sage{Q(3,\i)}$
}
\end{document}

gefragt 09 Mär '18, 15:30

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

geschlossen 12 Mär '18, 09:49

Das ist IMHO das immer gleiche Problem mit \sage, das wir hier schon mehrfach hatten: \sage ist nicht voll expandierbar. Wo immer man also das vollständig expandierte Ergebnis davon haben muss, bekommt man ein Problem.

(11 Mär '18, 11:59) saputello

Verdammt! Ich hatte eine Idee, vielleicht könnte man die Werte der Liste, die z.B. P(3,1) liefert einzeln auslesen. An sich sowas wie P(3,2)[0], P(3,2)[1], P(3,2)[2] (ich glaube so einfach ging es nicht) und die dann wieder zu einer LaTeX-Liste zusammenfassen. Da werde ich mal weiterforschen.

(11 Mär '18, 14:08) cis

Die Frage wurde aus folgenden Grund "Anderes Geht nicht!" geschlossen cis 12 Mär '18, 09:49

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×13
×11
×7

gestellte Frage: 09 Mär '18, 15:30

Frage wurde gesehen: 2,176 Mal

zuletzt geändert: 12 Mär '18, 09:49