stringtranslate.com

Ajuste de línea y ajuste de palabra

El salto de línea , también conocido como ajuste de palabras , consiste en dividir una sección de texto en líneas para que quepa en el ancho disponible de una página, ventana u otra área de visualización. En la visualización de texto, el ajuste de línea continúa en una nueva línea cuando una línea está llena, de modo que cada línea encaje en la ventana visible, lo que permite leer el texto de arriba a abajo sin ningún desplazamiento horizontal . El ajuste de texto es la característica adicional de la mayoría de los editores de texto , procesadores de texto y navegadores web , de dividir líneas entre palabras en lugar de dentro de palabras, cuando sea posible. El ajuste de texto hace innecesario codificar delimitadores de nueva línea dentro de los párrafos y permite que la visualización del texto se adapte de forma flexible y dinámica a visualizaciones de diferentes tamaños.

Devoluciones suaves y duras

Un retorno suave o un ajuste suave es el salto resultante de un ajuste de línea o de texto (ya sea automático o manual), mientras que un retorno o ajuste duro es un salto intencional que crea un nuevo párrafo. Con un retorno forzado, se puede (y se debe) aplicar el formato de salto de párrafo (ya sea sangría o espacios en blanco verticales). El ajuste suave permite que la longitud de las líneas se ajuste automáticamente con ajustes en el ancho de la ventana del usuario o en la configuración de los márgenes, y es una característica estándar de todos los editores de texto, procesadores de texto y clientes de correo electrónico modernos . Los saltos suaves manuales son innecesarios cuando el ajuste de texto se realiza automáticamente, por lo que presionar la tecla "Entrar" generalmente produce un retorno forzado.

Alternativamente, "retorno suave" puede significar un salto de línea almacenado intencional que no es un salto de párrafo. Por ejemplo, es común imprimir direcciones postales en un formato de varias líneas, pero se entiende que las varias líneas constituyen un solo párrafo. Se necesitan saltos de línea para dividir las palabras de la dirección en líneas de la longitud adecuada.

En los procesadores de texto gráficos contemporáneos Microsoft Word y Libreoffice Writer , se espera que los usuarios escriban un retorno de carro ( ) entre cada párrafo. Las configuraciones de formato, como la sangría de primera línea o el espacio entre párrafos, surten efecto donde el retorno de carro marca la ruptura. Un salto de línea que no es de párrafo, que es un retorno suave, se inserta usando + o mediante los menús, y se proporciona para los casos en los que el texto debe comenzar en una nueva línea pero no se desea ninguno de los otros efectos secundarios de comenzar un nuevo párrafo. .EnterShiftEnter

En los lenguajes de marcado orientados a texto, normalmente se ofrece un retorno suave como etiqueta de marcado. Por ejemplo, en HTML hay una etiqueta <br> que tiene el mismo propósito que el retorno suave en los procesadores de texto descritos anteriormente.

Unicódigo

El algoritmo de ruptura de línea Unicode determina un conjunto de posiciones, conocidas como oportunidades de ruptura , que son lugares apropiados para comenzar una nueva línea. Las posiciones reales de salto de línea son seleccionadas entre las oportunidades de salto por el software de nivel superior que llama al algoritmo, no por el algoritmo en sí, porque sólo el software de nivel superior conoce el ancho de la pantalla en la que se muestra el texto y el ancho de los glifos que componen el texto mostrado. [1]

El juego de caracteres Unicode proporciona un carácter separador de línea, así como un separador de párrafo para representar la semántica del retorno suave y del retorno duro.

0x2028 SEPARADOR DE LINEA
* puede usarse para representar esta semántica sin ambigüedades
0x2029 SEPARADOR DE PÁRRAFO
* puede usarse para representar esta semántica sin ambigüedades

Límites de palabras, separación de palabras y espacios duros

Los retornos suaves generalmente se colocan después del final de las palabras completas o después de la puntuación que sigue a las palabras completas. Sin embargo, el ajuste de palabras también puede ocurrir después de un guión dentro de una palabra. A veces esto no es deseado y se puede bloquear usando un guión que no se rompa o un guión duro , en lugar de un guión normal.

Una palabra sin guiones se puede encapsular si incluye guiones suaves . Cuando la palabra no está dividida (es decir, no está dividida entre líneas), el guión suave no es visible. Pero si la palabra se cruza entre líneas, esto se hace en el guión suave, momento en el que se muestra como un guión visible en la línea superior donde se divide la palabra. (En el raro caso de una palabra que debe poder empaquetarse dividiéndola en líneas pero sin que aparezca un guión, se coloca un espacio de ancho cero en los puntos de ruptura permitidos en la palabra).

A veces, el ajuste de palabras no es deseable entre palabras adyacentes. En tales casos, el ajuste de palabras generalmente se puede bloquear usando un espacio rígido o un espacio sin separación entre las palabras, en lugar de espacios regulares.

Ajuste de palabras en texto que contiene chino, japonés y coreano

En chino , japonés y coreano , el ajuste de palabras generalmente puede ocurrir antes y después de cualquier carácter Han , pero ciertos caracteres de puntuación no pueden comenzar una nueva línea. [2] Los kana japoneses se tratan de la misma manera que los caracteres Han ( kanji ) por extensión, lo que significa que las palabras pueden dividirse, y tienden a hacerlo, sin ninguna indicación explícita de que una palabra continúa en la siguiente línea.

Sin embargo, en determinadas circunstancias no se desea ajustar las palabras. Por ejemplo,

La mayoría de los procesadores de texto y software de composición tipográfica existentes no pueden manejar ninguno de los escenarios anteriores.

La puntuación CJK puede seguir o no reglas similares a las circunstancias especiales mencionadas anteriormente. Depende de las reglas de salto de línea en CJK .

Algoritmo

El ajuste de palabras es un problema de optimización . Dependiendo de lo que deba optimizarse, se utilizan diferentes algoritmos.

Número mínimo de líneas

Una forma sencilla de ajustar palabras es utilizar un algoritmo codicioso que coloca tantas palabras en una línea como sea posible y luego pasar a la siguiente línea para hacer lo mismo hasta que no queden más palabras para colocar. Este método lo utilizan muchos procesadores de texto modernos, como Libreoffice Writer y Microsoft Word. [ cita necesaria ] Este algoritmo siempre utiliza el mínimo número posible de líneas, pero puede generar líneas de longitudes muy variables. El siguiente pseudocódigo implementa este algoritmo:

EspacioIzquierda: = Ancho de líneapara cada palabra en el texto si (Ancho (Palabra) + EspacioAncho) > EspacioIzquierda insertar salto de línea antes de Word en texto EspacioIzquierda: = Ancho de línea - Ancho (Palabra) demás EspacioIzquierdo := EspacioIzquierdo - (Ancho(Palabra) + AnchoEspacio)

Donde LineWidthes el ancho de una línea, SpaceLeftes el ancho restante del espacio en la línea a llenar, SpaceWidthes el ancho de un carácter de espacio único, Textes el texto de entrada sobre el que se itera y Wordes una palabra en este texto.

Mínima irregularidad

Un algoritmo diferente, utilizado en TeX , minimiza la suma de los cuadrados de las longitudes de los espacios al final de las líneas para producir un resultado estéticamente más agradable que el algoritmo codicioso, que no siempre minimiza el espacio al cuadrado.

Historia

En 1955 se utilizó una función primitiva de salto de línea en una "unidad de control de impresora de páginas" desarrollada por Western Union . Este sistema utilizaba relés en lugar de computadoras digitales programables y, por lo tanto, necesitaba un algoritmo simple que pudiera implementarse sin buffers de datos . En el sistema de Western Union, cada línea se rompía en el primer carácter de espacio que aparecía después del carácter 58, o en el carácter 70 si no se encontraba ningún carácter de espacio. [3]

El codicioso algoritmo para el salto de línea es anterior al método de programación dinámica descrito por Donald Knuth en un memorando inédito de 1977 que describe su sistema de composición tipográfica TeX [4] y publicado posteriormente con más detalle por Knuth & Plass (1981). [5]

Ver también

Referencias

  1. ^ Heninger, Andy, ed. (25 de enero de 2013). "Algoritmo de ruptura de línea Unicode" (PDF) . Informes Técnicos . Anexo #14 (Actualización propuesta del estándar Unicode): 2 . Consultado el 10 de marzo de 2015 . Se debe utilizar WORD JOINER si la intención es simplemente evitar un salto de línea.
  2. ^ Lunde, Ken (1999), Procesamiento de información CJKV: informática china, japonesa, coreana y vietnamita, O'Reilly Media, Inc., p. 352, ISBN 9781565922242.
  3. ^ Harris, Robert W. (enero de 1956), "Estandarización del teclado", Western Union Technical Review , 10 (1): 37–42, archivado desde el original el 3 de agosto de 2015 , consultado el 7 de abril de 2013.
  4. ^ Knuth, Donald (1977), TEXDR.AFT , consultado el 7 de abril de 2013. Reimpreso en Knuth, Donald (1999), Tipografía digital , CSLI Lecture Notes, vol. 78, Stanford, California: Centro para el Estudio del Lenguaje y la Información, ISBN 1-57586-010-4.
  5. ^ Knuth, Donald Ervin; Plass, Michael F (1981), "Romper párrafos en líneas", Software: práctica y experiencia , 11 (11): 1119–84, doi :10.1002/spe.4380111102, S2CID  206508107

enlaces externos

algoritmo de knuth

Otros enlaces de ajuste de palabras