El ajuste de texto , también conocido como ajuste de línea , ajuste de palabra , salto de línea o salto de línea , consiste en dividir una sección de texto en líneas para que se ajuste al 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á completa, de modo que cada línea se ajuste al área visible sin desbordarse, lo que permite leer el texto de arriba abajo sin necesidad de desplazamiento horizontal . El ajuste de palabra es una función adicional de la mayoría de los editores de texto , procesadores de texto y navegadores web , que divide las líneas entre palabras en lugar de dentro de ellas, siempre que sea posible. El ajuste de palabra elimina la necesidad de codificar los delimitadores de salto de línea dentro de los párrafos y permite que la visualización del texto se adapte de forma flexible y dinámica a pantallas de diferentes tamaños.
Ejemplos
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Devoluciones suaves y duras
Un salto de línea suave o ajuste de línea suave es el salto resultante del ajuste de línea o de palabra (ya sea automático o manual), mientras que un salto de línea duro o ajuste de línea duro es un salto intencional que crea un nuevo párrafo. Con un salto de línea duro, se puede (y se debe) aplicar formato de salto de párrafo (ya sea sangría o espacio en blanco vertical). El ajuste de línea suave permite que la longitud de las líneas se ajuste automáticamente con los ajustes del ancho de la ventana del usuario o la configuración de márgenes, y es una función estándar de todos los editores de texto, procesadores de texto y clientes de correo electrónico modernos . Los saltos de línea suaves manuales son innecesarios cuando el ajuste de palabra se realiza automáticamente, por lo que al presionar la tecla "Intro" generalmente se produce un salto de línea duro.
Alternativamente, «salto de línea suave» puede referirse a un salto de línea intencional y almacenado que no es un salto de párrafo. Por ejemplo, es común imprimir direcciones postales en varias líneas, pero se entiende que estas líneas constituyen un solo párrafo. Los saltos de línea son necesarios 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 salto de línea ( ) entre cada párrafo. La configuración de formato, como la sangría de la primera línea o el espaciado entre párrafos, se aplica donde el salto de línea marca la separación. Un salto de línea que no sea de párrafo, que es un retorno suave, se inserta usando + o a través de los menús, y se proporciona para los casos en que el texto debe comenzar en una nueva línea pero no se desean los demás efectos secundarios de comenzar un nuevo párrafo.↵ Enter⇧ Shift↵ Enter
En los lenguajes de marcado orientados a texto, el salto de línea se suele ofrecer como una etiqueta de marcado. Por ejemplo, en HTML existe la etiqueta <br> que tiene la misma función que el salto de línea en los procesadores de texto descritos anteriormente.
Unicode
El algoritmo de salto de línea Unicode determina un conjunto de posiciones, conocidas como oportunidades de salto , 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 solo 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 lo componen. [ 1 ]
El conjunto de caracteres Unicode proporciona un carácter separador de línea, así como un separador de párrafo, para representar la semántica del salto de línea suave y el salto de línea duro.
- U+2028 SEPARADOR DE LÍNEA
- puede utilizarse para representar estas semánticas de forma inequívoca
- U+2029 SEPARADOR DE PÁRRAFOS
- puede utilizarse para representar estas semánticas de forma inequívoca
límites de palabras, división de palabras y espacios duros
Los saltos de línea suaves suelen colocarse después del final de palabras completas o después de la puntuación que las sigue. Sin embargo, también puede producirse un ajuste de línea después de un guion dentro de una palabra. Esto a veces no es deseable y puede evitarse utilizando un guion de no separación o un guion duro en lugar de un guion normal.
Una palabra sin guiones puede dividirse en varias líneas si contiene guiones suaves . Cuando la palabra no se divide en varias líneas, el guion suave no es visible. Pero si se divide en varias líneas, esto ocurre en el guion suave, que se muestra como un guion visible en la primera línea donde se divide la palabra. (En el caso excepcional de una palabra que se supone que se puede dividir en varias líneas sin que aparezca ningún guion, se inserta un espacio de ancho cero en los puntos de división permitidos).
En ocasiones, el ajuste de línea entre palabras adyacentes resulta indeseable. En estos casos, se puede evitar utilizando un espacio en blanco o un espacio de no separación entre las palabras, en lugar de espacios normales.
Ajuste de texto en caracteres chinos, japoneses y coreanos.
En chino , japonés y coreano , el ajuste de línea suele 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, y tienden a, dividirse 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 el ajuste de texto. Por ejemplo,
- Es posible que no se desee el ajuste de texto dentro de los nombres propios, y
- Es posible que no se desee el ajuste de línea dentro de algunas palabras compuestas (cuando el texto está alineado a la izquierda, pero solo en algunos estilos).
La mayoría de los procesadores de texto y programas de composición tipográfica existentes no pueden manejar ninguno de los escenarios anteriores.
La puntuación CJK puede o no seguir reglas similares a las circunstancias especiales mencionadas anteriormente. Depende de las reglas de salto de línea en CJK .
Algoritmo
El ajuste de texto es un problema de optimización . Dependiendo de lo que se necesite optimizar, se utilizan diferentes algoritmos.
Número mínimo de líneas
Una forma sencilla de ajustar el texto es usar un algoritmo voraz que coloca tantas palabras como sea posible en una línea, y luego pasa a la siguiente línea para repetir el proceso hasta que no queden más palabras por colocar. Este método lo utilizan muchos procesadores de texto modernos, como LibreOffice Writer y Microsoft Word. Este algoritmo siempre utiliza el número mínimo de líneas posible, pero puede generar líneas de longitud muy variable. El siguiente pseudocódigo implementa este algoritmo:
EspacioIzquierdo := AnchoDeLínea para cada palabra en el texto si (Ancho(Palabra) + AnchoEspacio) > EspacioIzquierdo insertar salto de línea antes de la palabra en el texto EspacioIzquierdo := AnchoDeLí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 para rellenar, SpaceWidthes el ancho de un solo carácter de espacio, Textes el texto de entrada sobre el que iterar y Wordes una palabra en este texto.
Deshilachado mínimo
En TeX se utiliza un algoritmo diferente que minimiza la suma de los cuadrados de las longitudes de los espacios al final de las líneas para producir un resultado más estético que el algoritmo voraz, que no siempre minimiza el espacio cuadrado.
Historia
En 1955 , Western Union empleó una función primitiva de salto de línea en una "unidad de control de impresora de páginas" . Este sistema utilizaba relés en lugar de computadoras digitales programables, por lo que requería un algoritmo sencillo que pudiera implementarse sin búferes de datos . En el sistema de Western Union, cada línea se interrumpía en el primer espacio que aparecía después del carácter número 58, o en el carácter número 70 si no se encontraba ningún espacio. [ 3 ]
El algoritmo voraz para el salto de línea es anterior al método de programación dinámica descrito por Donald Knuth en un memorándum inédito de 1977 que describe su sistema de composición tipográfica TeX [ 4 ] y publicado posteriormente con más detalle por Knuth y Plass (1981). [ 5 ]
Véase también
- Espacio de no separación : carácter especial en el procesamiento de texto.
- Alineación tipográfica : configuración del flujo de texto o la ubicación de imágenes en relación con una página, columna, celda de tabla o pestaña.
- Espacio de ancho cero : carácter especial en el procesamiento de texto.
- Separador de palabras : glifo que separa palabras escritas.
- Unificador de palabras : caracteres en el procesamiento de texto
- Caracteres por línea : número de caracteres monoespaciados.
- Longitud de línea : en tipografía, ancho de un bloque de texto impreso.
Referencias
- ↑ Heninger, Andy, ed. (25 de enero de 2013). "Algoritmo de salto de línea Unicode" (PDF) . Informes técnicos . Anexo n.° 14 (Actualización propuesta del estándar Unicode): 2. Consultado el 10 de marzo de 2015.
Se debe usar WORD JOINER si la intención es simplemente evitar un salto de línea
. - ↑ Lunde, Ken (1999), Procesamiento de información CJKV: Informática china, japonesa, coreana y vietnamita , O'Reilly Media, Inc., pág. 352, ISBN 9781565922242.
- ↑ Harris, Robert W. (enero de 1956), "Estandarización de teclados" , Western Union Technical Review , 10 (1): 37–42 , archivado del original el 3 de agosto de 2015 , consultado el 7 de abril de 2013..
- ↑ Knuth, Donald (1977), TEXDR.AFT , consultado el 7 de abril de 2013Reimpreso en Knuth, Donald (1999), Digital Typography , CSLI Lecture Notes, vol. 78, Stanford, California: Center for the Study of Language and Information, ISBN 1-57586-010-4.
- ↑ Knuth, Donald Ervin; Plass, Michael F (1981), "Dividir párrafos en líneas", Software: Practice and Experience , 11 (11): 1119–84 , doi : 10.1002/spe.4380111102 , S2CID 206508107
Enlaces externos
- Algoritmo de salto de línea Unicode
- Características del editor de texto
- Tipografía
- Programación dinámica
- algoritmos Unicode