Prettyprint


Pretty-printing (o prettyprinting ) es la aplicación de varias convenciones de formato estilístico a archivos de texto , como código fuente , marcado y tipos similares de contenido. Estas convenciones de formato pueden implicar adherirse a un estilo de sangría , usar diferentes colores y tipos de letra para resaltar los elementos sintácticos del código fuente, o ajustar el tamaño para que el contenido sea más fácil de leer y comprender para las personas. Las impresoras bonitas para el código fuente a veces se denominan formateadores de código o embellecedores .

La impresión bonita generalmente se refiere a mostrar expresiones matemáticas de manera similar a la forma en que se compondrían profesionalmente. Por ejemplo, en sistemas de álgebra computarizada como Maxima o Mathematica , el sistema puede escribir resultados como " x ^ 2 + 3 * x " como " ". Algunas calculadoras gráficas , como la serie Casio 9860 , la serie HP-49 , la TI-84 Plus , la TI-89 y la TI-Nspire , la TI-83 Plus con el complemento PrettyPt [1] o la TI-84 Máscon el mismo complemento o los sistemas operativos habilitados para "MathPrint", pueden realizar impresiones bonitas. Además, varias calculadoras científicas más nuevas están equipadas con pantallas de matriz de puntos capaces de realizar impresiones bonitas, como la serie Casio FX-ES (pantalla natural), la serie Sharp EL-W (WriteView), HP SmartCalc 300s y TI-30XB .

Muchos programas de formato de texto también pueden componer matemáticas: TeX se desarrolló específicamente para la composición tipográfica matemática de alta calidad .

La impresión bonita en instancias de lenguaje de marcado suele asociarse con la sangría de las etiquetas y el contenido de la cadena para determinar visualmente la jerarquía y el anidamiento. Aunque las estructuras sintácticas de los lenguajes basados ​​en etiquetas no varían significativamente, la sangría puede variar significativamente debido a cómo se interpreta un lenguaje de marcado o debido a los datos que describe.

En MathML , los caracteres de espacio en blanco no reflejan datos, significado o sintaxis por encima de lo que requiere la sintaxis XML . En HTML , los caracteres de espacio en blanco entre etiquetas se consideran texto y se analizan como nodos de texto en el resultado analizado. [2]Si bien la sangría se puede aplicar generosamente a un documento MathML, se debe tener suficiente cuidado adicional en la impresión bonita de un documento HTML para garantizar que no se creen o destruyan nodos de texto adicionales en la proximidad general al contenido o elementos de etiqueta reflectantes del contenido. Esta diferencia en complejidad no es trivial desde la perspectiva de una operación de impresión bonita automatizada donde no se necesitan reglas especiales o casos extremos, como en el ejemplo más simple de MathML. El ejemplo HTML puede requerir una serie de algoritmos progresivos interrelacionados para dar cuenta de varios patrones de elementos de etiqueta y contenido que se ajusta a un estilo uniforme y es consistente en la aplicación en varias instancias, como lo demuestra el componente de aplicación markup.ts [3] utilizado para embellecer HTML, XML y tecnologías relacionadas para elHerramienta Pretty Diff .

Los programadores a menudo usan herramientas para formatear el código fuente del lenguaje de programación de una manera particular. El formato adecuado del código hace que sea más fácil de leer y comprender. Los diferentes programadores a menudo prefieren diferentes estilos de formato, como el uso de sangría de código y espacios en blanco o posicionamiento de llaves . Un formateador de código convierte el código fuente de un estilo de formato a otro. Esto es relativamente sencillo debido a la sintaxis inequívoca de los lenguajes de programación. El embellecimiento del código implica analizar el código fuente en estructuras de componentes, como declaraciones de asignación, bloques if , bucles , etc. (ver también flujo de control) y formatearlos de la manera especificada por el usuario en un archivo de configuración.


Una expresión matemática compuesta
Código fuente HTML, bastante impreso para mostrar mejor las relaciones jerárquicas de sus elementos (llamados etiquetas)