6

Las versiones recientes de Mathematica proporciona la opción de tener una única $Context para cada grupo de células, a través de:contexto único para cada grupo a un nivel específico

  • Evaluación> Notebook contexto predeterminado> único para cada grupo celular

Este es un concepto atractivo, pero me parece inutilizable, ya que mi código abarca múltiples grupos de células.

me gustaría una forma de especificar un contexto único para grupos celulares de un cierto nivel como todos los Section, pero no un contexto distinto para cada Subsection o Subsubsection.

Una solución deberá afectar a los nuevos grupos de células a medida que se crean.

+0

¿podría describir algunos usos posibles para estos contextos de celda? – magma

+0

@magma la Ayuda en sí misma es un buen ejemplo. Al tener un contexto único para cada grupo de células, puede (en su mayor parte) evaluar de forma segura los ejemplos sin que interfieran entre sí, o con sus propios ordenadores portátiles. Me gustaría ser capaz de tener un comportamiento similar en mis cuadernos que abordan una serie de temas relacionados con todo o problemas contextualmente independientes, preservando al mismo tiempo la capacidad de organizar el código para estos temas utilizando subsección, etc. grupos –

Respuesta

1

Debería poder hacer esto modificando la hoja de estilo de su computadora portátil. Puede usar la opción CellContext para establecer el contexto. La documentación de mma hace esto para restringir el contexto del ejemplo a grupos de Celdas.

+0

Pero qué celda? ¿Estás diciendo que puedo afectar los grupos de células *** solo *** hasta un cierto nivel, *** sin *** afectando a los subgrupos de ese nivel? –

+0

Si haces "CellContext ->" yourNameHere "<> ToString [SectionNumber] <>" backtick "en la definición de la celda de entrada, creo que debería funcionar. El único problema es conseguir en SectionNumber como para todo lo que sé el número de sección acecha en un elemento 'CounterBox ["Section"] 'y no estoy seguro de cómo extraer el número de eso. –

+0

@ mr.wizard olvidó su etiqueta –

1

Puede lograr esto agrupando celdas manualmente en lugar de confiar en el mecanismo de agrupamiento automático. En el notebook en cuestión, use el elemento de menú Celda/Agrupación/Agrupación manual para habilitar la agrupación manual. Ahora, al ingresar secciones, subsecciones, etc., no se agruparán automáticamente. Seleccione las celdas que desea que estén en un solo grupo y use el elemento de menú Celda/Agrupación/Celdas de grupo/Grupo juntas. Ahora que están agrupados, puede configurar CellContext para que sea CellGroup y todos funcionarán bien juntos.

+0

Eso no parece hacer lo que quiero (lo intenté), y la agrupación manual es un desastre. –

+0

WReach, ¿podrías cargar un archivo de Notebook que hayas configurado como crees que yo quiero? Dos personas votaron por esto, por lo que les funciona o no entienden lo que intento lograr. –

+0

@ Mr.Wizard Por favor, eche un vistazo a [este cuaderno] (http://members.shaw.ca/weaklyreachable/so/grouping-woes.nb). Tenga en cuenta que mi respuesta no satisface completamente sus necesidades ya que se necesita intervención manual para nuevos grupos de células. – WReach

Cuestiones relacionadas