¡Es hora de un nuevo desafío tipográfico ! Es un problema común al copiar y pegar entre varios formatos de documentos: guiones. Si bien reduce la irregularidad de un diseño alineado a la izquierda o iguala el espacio en un diseño justificado, es un completo dolor cuando su PDF no se construye correctamente y conserva los guiones en el diseño, lo que dificulta la edición o reflujo del texto copiado.
Afortunadamente, si creemos en los innumerables libros de autoayuda que existen, nada es un problema si lo ves como un desafío. Creo que estos libros de autoayuda se refieren sin excepción a PPCG, donde cualquier problema se resolverá si se presenta como un desafío. Su tarea es eliminar los guiones ofensivos y los saltos de línea de un texto, para que esté listo para pegar en cualquier editor de texto.
Descripción del problema
Escribirás un programa o función que elimine los guiones y los saltos de línea cuando corresponda. La entrada será una cadena activada stdin
(o la alternativa más cercana) o como una entrada de función. La salida (en la salidastdout
más cercana o alternativa o función) será el texto 'corregido'. Este texto debe ser directamente copiable y pastable. Esto significa que la salida inicial o final está bien, pero la salida adicional a la mitad del texto corregido (por ejemplo, espacios iniciales en cada línea) no lo está .
El caso más básico es el siguiente (nota: sin espacios finales)
Lorem ipsum dolor sit amet, con-
sectetur adipiscing elit. Morbi
lacinia nisi sed mauris rhoncus.
El guión ofensivo y los saltos de línea deben eliminarse para obtener
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi lacinia nisi sed mauris rhoncus.
Sin embargo, se deben observar algunas excepciones.
- Las nuevas líneas dobles indican un salto de párrafo, y deben conservarse.
- Los nombres y nombres propios nunca se dividen en dos líneas, a menos que ya contengan un guión (por ejemplo, ecuaciones de Navier-Stokes). El salto de línea debe eliminarse, pero el guión debe conservarse. Estos casos pueden identificarse teniendo solo la primera letra en mayúscula.
- A veces, un guión indica un grupo de palabras (por ejemplo, los siglos XIX y XX). Cuando esto sucede a través de dos líneas, esto se indica con un espacio inicial en la siguiente línea.
Un ejemplo: (las opiniones expresadas en este ejemplo son ficticias y no representan necesariamente la opinión del autor; los opositores al método Runge-Kutta-Fehlberg son igualmente bienvenidos a participar en este desafío)
Differential equations can
be solved with the Runge-Kutta-
Fehlberg method.
Developed in the nineteenth-
or twentieth century, this
method is completely FANTAS-
TIC.
se convertirá
Differential equations can be solved with the Runge-Kutta-Fehlberg method.
Developed in the nineteenth- or twentieth century, this method is completely FANTASTIC.
Los saltos de línea pueden ser el punto de código ASCII \n
o \r\n
según su preferencia, y el guión es un ASCII simple -
(signo menos). No se requiere soporte UTF-8. Este desafío es el código de golf , por lo que gana el código más corto.