A partir de 4D 21 R3, puedes crear listas con viñetas y numeradas de varios niveles y con una estructura compleja en 4D Write Pro utilizando hojas de estilo, y puedes exportarlas a todos los formatos, incluido docx. Por ejemplo, si desea crear una lista de varios niveles cuya numeración se ajuste automáticamente cuando se elimine o añada contenido en todos los niveles, o si desea que los títulos y subtítulos tengan estilos y numeración coherentes en todo el documento de 4D Write Pro, esta nueva función es lo que necesita. En esta entrada del blog, le mostraremos exactamente cómo crear listas de varios niveles utilizando hojas de estilo de varios niveles.
En concreto, explicaremos cómo utilizar acciones estándar y comandos para gestionar las hojas de estilo de varios niveles.
HDI_4DWP_MultiLevelStyleSheets
Gestión de hojas de estilo de varios niveles mediante acciones estándar
Si quieres conseguir lo que se muestra en la animación siguiente, aquí tienes cómo hacerlo:
- Paso 1: Dispón de una hoja de estilo de párrafo con un tipo de estilo de lista aplicado a varios párrafos
- Paso 2: Utilice la acción estándar « listLevelAppend» para añadir nuevos niveles a su hoja de estilo de párrafo; de esta forma, pasará de una lista de un solo nivel a una lista de varios niveles
- Paso 3: Utilice las acciones estándar « listLevelDec » y « listLevelInc» para aumentar o disminuir los niveles de los párrafos seleccionados
- Paso 4: Ajusta el formato de los marcadores de numeración utilizando las acciones estándar « listConcatStringFormat » y « listNumberFormat»

Gestión de hojas de estilo multinivel mediante comandos 4D
Antes de 4D 21 R3, 4D Write Pro ya ofrecía hojas de estilo que podían incluir todos los estilos de párrafo (incluidos los tipos de lista) y que se podían aplicar a los párrafos. Hemos enriquecido este concepto existente para que se pueda utilizar para crear listas de varios niveles.
La lista de varios niveles de la captura de pantalla siguiente tiene 3 niveles: uno de nivel raíz y 2 de subnivel. Para lograrlo, se necesitan 3 hojas de estilo de párrafo relacionadas entre sí: una hoja de estilo de nivel raíz y 2 hojas de estilo de subnivel relacionadas con ella. A continuación se explica cómo hacerlo en pasos concretos:
- Paso 1: Crea la hoja de estilo de nivel raíz y las dos hojas de estilo de subnivel relacionadas con ella utilizando el comando ` WP New style sheet ` en una sola línea de código. Estas tres hojas de estilo se crean con valores predeterminados: ` wk list type = wk decimal ` y ` wk margin left = 0,75 cm* (el número de niveles anteriores)
- Paso 2: Obtenga los tres objetos de hoja de estilo diferentes utilizando el comando ` WP Get style sheet `
- Paso 3: Actualiza el estilo de la hoja de estilo de nivel raíz y de cada una de las hojas de estilo de subnivel utilizando el comando WP SET ATTRIBUTES , tal y como hiciste antes con las hojas de estilo de párrafo normales. Los estilos específicos que debemos actualizar en nuestro caso son los siguientes: wk list style type, wk color, wk font size, wk font, wk font bold, wk list string format ltr y wk list format string concat (nuevo atributo)
- Paso 4: Aplica cada hoja de estilo a los párrafos correspondientes utilizando el comando WP SET ATTRIBUTES , tal y como hiciste antes con las hojas de estilo de párrafo normales.
- Paso 5 (opcional): Puede eliminar una hoja de estilo específica utilizando el comando WP DELETE STYLE SHEET en caso de que cambie de opinión; solo recuerde que si elimina la hoja de estilo de nivel raíz, las hojas de estilo de subnivel relacionadas con ella también se eliminarán.
- Paso 6 (opcional): Puedes exportar tu documento de 4D Write Pro que contiene tu lista de varios niveles utilizando el comando WP EXPORT DOCUMENT a otros formatos: DOCX, SVG, PDF y HTML. En este caso, tu lista exportada conservará la misma jerarquía, estilos y estructura sin perder la sangría ni la numeración.

A continuación se muestra todo el código necesario para crear la lista de varios niveles utilizando hojas de estilo de varios niveles combinadas:
$spanishNovels:="Spanish Novels\n20th century\nCien años de soledad\nEl túnel\nFicciones\n"
$frenchNovels:="French Novels\n19th century\nLes Misérables\nMadame Bovary\nGerminal"
WP SET TEXT(WParea; $spanishNovels+$frenchNovels; wk append)
//Creating 3 multi-level style sheets
WP New style sheet(WParea; wk type paragraph; "MyList"; 3)
//Getting the multi-level style sheets objects
levelStyle1:=WP Get style sheet(WParea; "MyList"; 1)
levelStyle2:=WP Get style sheet(WParea; "MyList"; 2)
levelStyle3:=WP Get style sheet(WParea; "MyList"; 3)
//Modifying the paragraph styles of the multi-level style sheets
WP SET ATTRIBUTES(levelStyle1; \
{listStyleType: wk upper latin; color: "#1F3A5F"; fontSize: 18; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle2; \
{listStyleType: wk decimal; listConcatStringFormat: True; color: "#52796F"; fontSize: 16; font: "Tahoma"; listFont: "Tahoma"; fontBold: wk true})
WP SET ATTRIBUTES(levelStyle3; \
{listStringFormatLtr: "(#)"; listConcatStringFormat: False; color: "Black"; fontSize: 12; font: "Times New Roman"; listFont: "Times New Roman"})
//Setting the multi-level style sheets to the appropriate paragraphs
$paragraphs:=WP Get elements(WParea; wk type paragraph)
For ($i; 0; 9)
If (($i=0) ' ($i=5))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle1)
Else
If (($i=1) ' ($i=6))
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle2)
Else
WP SET ATTRIBUTES($paragraphs[$i]; wk style sheet; levelStyle3)
End if
End if
End for
Importación y exportación de listas de varios niveles
Las listas de varios niveles no solo están disponibles dentro de 4D Write Pro, sino que también se conservan al exportar o importar a otros formatos.
Al exportar un documento de 4D Write Pro que contenga listas de varios niveles, el documento resultante conserva la misma estructura de lista y los mismos niveles en todos los formatos de exportación compatibles, incluidos DOCX, PDF, SVG, página web HTML completa y HTML-MIME. Esto significa que la numeración de varios niveles (nivel raíz y subniveles) se mantiene coherente, sin aplanar la lista ni perder la sangría y la jerarquía.
Además, al importar un documento DOCX que contenga una lista de varios niveles, 4D Write Pro conserva la misma estructura de varios niveles en el documento resultante de 4D Write Pro.
Tanto las listas planas como las de varios niveles se importan con su jerarquía intacta, y puede seguir editándolas mediante programación o a través de acciones estándar.
Conclusión
Con las hojas de estilo de varios niveles de 4D Write Pro, la creación de documentos estructurados y profesionales resulta más sencilla y potente que nunca. Tanto si está creando esquemas complejos, organizando información jerárquica o garantizando una numeración coherente en documentos extensos, esta función le ofrece un control total sobre la estructura y la presentación de su contenido.
Al combinar acciones estándar para la edición interactiva y comandos 4D para el control mediante programación, puede crear, gestionar y mantener fácilmente listas de varios niveles que se adaptan automáticamente a medida que evoluciona su documento. Y lo que es aún mejor, estas listas conservan su estructura y formato al exportar o importar documentos, lo que garantiza una interoperabilidad perfecta con formatos como DOCX, PDF, HTML y muchos más.
Aunque 4D 21 R3 ya ofrece potentes capacidades para gestionar listas de varios niveles mediante programación y a través de acciones estándar, en 4D 21 R4 se introducirá una interfaz de usuario dedicada para manejar estas funciones de forma más intuitiva, lo que mejorará aún más la experiencia general.
Para obtener más detalles sobre las listas en 4D Write Pro, consulta la documentación, y para tus preguntas y comentarios, visita el foro de 4D.
Por el momento, no se pueden publicar comentarios en esta entrada.