user-interface wolfram-mathematica mathematica-frontend

user interface - Cómo crear cuadernos matemáticos tabulados



user-interface wolfram-mathematica (1)

Si bien Mathematica no admite directamente ventanas de pestañas con pestañas, es posible reproducir algo del efecto utilizando DockedCells . La interfaz del Libro virtual / Navegador de funciones (desde el menú de ayuda) hace esto ... es esencialmente una presentación de diapositivas con dos diapositivas, una que contiene el VB y la otra que contiene la FN, con una interfaz de navegación DockedCells dirigida por NotebookFind que se ve un poco como pestañas

Aquí está la idea de cómo podría hacer un cuaderno de este tipo por su cuenta. Disculpe, hay algún tipo de conceptos avanzados aquí ... si hay partes de esta solución sobre las que desea obtener más información, tal vez pueda escindir más preguntas.

(* make a single page of the notebook *) page[tag_String] := Cell@CellGroupData[{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] := NotebookPut@Notebook[page /@ nameList, DockedCells -> ToBoxes[ExpressionCell[Row[button /@ nameList], "DockedCell"]][[1]], ScreenStyleEnvironment -> "SlideShow"]; makeTabbedNotebook[{"First", "Second", "Third"}]

Editar: se modificó NotebookFind[ButtonNotebook[],tag,All,CellTags] , que parece que no siempre se desplaza la presentación de diapositivas correctamente, a NotebookLocate[tag] . Ver discusión en comentarios. Los dos bits de código deberían, en teoría, ser equivalentes, pero un error en Mathematica 8 parece hacer que se comporten de manera diferente a veces.

¿Hay una manera de crear y editar cuadernos (secuencias de celdas) en una interfaz con pestañas? ¿Se podría hacer tal interfaz con TabView o alguna otra herramienta? Supongo que esto sería posible si hiciera un front-end desde cero, pero ¿hay alguna manera dentro del front-end estándar de Wolfram?

Dos cosas me motivan a preguntar esto. Primero, me gustaría crear un reemplazo para los cuadernos de Microsoft Office OneNote con Mathematica. En segundo lugar, cuando estoy trabajando en Mathematica, me pregunto si una interfaz con pestañas funcionaría mejor que tener varias ventanas separadas abiertas.