Chociaż program Mathematica nie obsługuje bezpośrednio okien z kartami, możliwe jest odtworzenie efektu podobnego za pomocą DockedCells
. Interfejs Virtual Book/Function Navigator (z menu pomocy) robi to ... jest to zasadniczo pokaz slajdów z dwoma slajdami, z których jeden zawiera VB, a drugi zawiera FN, z interfejsem nawigacyjnym DockedCells
sterowanym przez NotebookFind
, który wygląda nieco jak karty.
Oto podstawowe informacje o tym, jak można zrobić samodzielny notebook. Przepraszam, są tu jakieś zaawansowane koncepcje ... jeśli jest jakaś część tego rozwiązania, o której chcesz dowiedzieć się więcej, być może będziesz mógł udzielić więcej pytań.
(* make a single page of the notebook *)
page[tag_String] :=
[email protected][{Cell["", "SlideShowNavigationBar",
CellTags -> {tag}], Cell[tag, "Title"]}];
(* make a single tab-like button which selects the page *)
button[tag_String] :=
Button[Dynamic[
Setter[Dynamic[
CurrentValue[EvaluationNotebook[], {TaggingRules, "page"},
tag]], tag]],
CurrentValue[EvaluationNotebook[], {TaggingRules, "page"}] = tag;
NotebookLocate[tag],
Appearance -> None];
(* make a notebook based upon a list of strings which are names of tabs *)
makeTabbedNotebook[nameList_List] :=
[email protected][page /@ nameList,
DockedCells ->
ToBoxes[ExpressionCell[Row[button /@ nameList],
"DockedCell"]][[1]],
ScreenStyleEnvironment -> "SlideShow"];
makeTabbedNotebook[{"First", "Second", "Third"}]
Edit: zmienił NotebookFind[ButtonNotebook[],tag,All,CellTags]
, który wydaje się nie zawsze prawidłowo przewinąć pokaz slajdów, aby NotebookLocate[tag]
. Zobacz dyskusję w komentarzach. Te dwa bity kodu powinny teoretycznie być równoważne, ale błąd w Mathematica 8 wydaje się sprawiać, że czasami zachowują się inaczej.
Mathematica obsługuje stronicowanie notebooków do prezentacji, a także obsługuje "zadokowane komórki" (zawsze wyświetlane u góry). Możesz połączyć te dwa elementy, aby utworzyć interfejs użytkownika w zadokowanej komórce do przełączania między stronami. To tylko pomysł na punkt wyjścia. – Szabolcs
Napisałem odpowiedź, że po pomyśleniu więcej na temat działa tylko na wyjście. Myślę, że najszybszym rozwiązaniem byłoby utworzenie oddzielnego paska kart lub palety, która przełącza się między oknami, ustawiając Widoczny-> Fałsz dla wszystkich oprócz wybranego okna/notatnika. To może dać iluzję interfejsu z kartami. –
W interfejsie użytkownika * Mathematica * nie ma wbudowanego (natywnego) interfejsu użytkownika (ale jest to doskonała propozycja do zgłoszenia na [email protected]). Najbliższą rzeczą w interfejsie użytkownika interfejsu, o której mogę pomyśleć, jest środowisko pokazu slajdów (otwórz menu 'Palety' i wybierz' Pokaz slajdów'). –