0 votos
536 vistas

Hola,

Acabo de estar revisando el uso incorrecto de la capitalización. En particular, sé que los traductores a veces han escrito accidentalmente “LORD” en lugar de \nd Lord\nd*. Pero me sorprendió que Run Basic Checks…>Capitalization no detectara las instancias de palabras en mayúsculas.

Esta expresión regular encontrará cualquier par de letras mayúsculas adyacentes, pero también devuelve mucho ruido. Por ejemplo, abreviaturas de nombres de libros, códigos de idioma y nombres de archivos de imagen.
regex:\w*[A-ZĆÄÏÜ]\w*[A-ZĆÄÏÜ]\w
(para los no iniciados en expresiones regulares, [A-ZĆÄÏÜ] significa cualquier carácter de la A a la Z, o cualquiera de los caracteres especiales Ć, Ä, Ï y Ü - solo mayúsculas)

Busqué lugares para cambiar las reglas de capitalización, pero solo encontré un lugar para aprobar o desaprobar palabras con capitalización mixta (en el que las palabras en MAYÚSCULAS no aparecen).

También busqué en los archivos de ayuda de Paratext y en este foro, pero no encontré ninguna información.

¿Existe actualmente una forma fácil de encontrar palabras en MAYÚSCULAS? Si no, ¿se podría añadir esta funcionalidad? Quizás esto podría aparecer en los resultados de búsqueda de capitalización mixta, aunque técnicamente sean todas mayúsculas. O, tal vez sería mejor que tuvieran su propia categoría.

¡Muchas gracias!

Traducción automática desde English
Paratext por (379 puntos)
mostrada de nuevo | 536 vistas

6 Respuestas

0 votos
Mejor respuesta

Me encanta usar expresiones regulares, pero siempre me dan vueltas en la cabeza. Aquí es como he logrado desglosarlo, para quien esté interesado. Usé guiones bajos como espacios para mantener todo alineado.

Desglose de la expresión regular que encuentra palabras en MAYÚSCULAS que no van precedidas por ciertos marcadores.
(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

  1. Buscar un límite de palabra
    __________________________\b_________
  2. Buscar cualquier letra mayúscula al inicio de una palabra
    __________________________\b\p{Lu}___
  3. Buscar una o más letras mayúsculas, comenzando al inicio de una palabra
    __________________________\b\p{Lu}+__
  4. Buscar una palabra de cualquier longitud que esté toda en mayúsculas
    __________________________\b\p{Lu}+\b
  5. Después de encontrar una palabra en mayúsculas, comprobar si había un agrupamiento opcional justo antes de ella
    (?_______________________)\b\p{Lu}+\b
  6. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera una barra invertida justo antes de ella
    (?<!\\___________________)\b\p{Lu}+\b
  7. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera un \id o \h o \toc o \mt o \fig justo antes de ella
    (?<!\\(id|h|toc|mt|fig)__)\b\p{Lu}+\b
  8. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera un \id o \h o \toc o \mt o \fig en cualquier parte anterior de la línea
    (?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

Personalmente, creo que eliminaré |mt porque quiero comprobar las mayúsculas en los títulos de los libros también.

Me ocurre que, ¿qué pasa si se inserta una figura al inicio o en medio de un versículo? Las palabras siguientes en MAYÚSCULAS no serían detectadas por esta expresión regular.

(\\fig(.*?)\\fig\*) captura la etiqueta de figura completa, pero eso resultó no ayudar. Esto es lo que se me ocurrió:
(?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

Aquí está el desglose:

  1. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera un \id o \h o \toc en cualquier parte anterior de la línea.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b______________
  2. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera un \id o \h o \toc en cualquier parte anterior de la línea. Luego mirar hacia adelante cualquier número de caracteres.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?___________
  3. Después de encontrar una palabra en mayúsculas, asegurarse de que no hubiera un \id o \h o \toc en cualquier parte anterior de la línea. Luego mirar hacia adelante cualquier número de caracteres para asegurarse de que \fig* no se encuentre en ninguna parte posterior de la línea.
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

Por alguna razón, esta expresión regular no detectó “\mt1 GÉNESIS”. ¿Alguna idea de por qué?

Traducción automática desde English
por (379 puntos)
mostrada de nuevo

Un \fig nunca debería estar dentro de un versículo o párrafo, porque romperá el texto y el formato de muchas formas malas dependiendo de tu software de salida. Necesita colocarse al final de un párrafo. Por supuesto, ejecutamos expresiones regulares en todo tipo de momentos cuando el texto no está especialmente limpio, pero quería mencionar esa restricción.

Traducción automática desde English
0 votos

Hola anon094061.
Puedes colocar la siguiente expresión regular en el motor de búsqueda de Paratext para ver las palabras que están todas en mayúsculas: regex:\b\p{Lu}+\b

donde:
“regex:” es el comando para indicar a Paratext que se trata de una expresión regular.
“\b” es el límite de palabra
“\p{Lu}” indica letras mayúsculas
“+” indica una o más veces la fórmula anterior.
Es decir, buscará una o más letras mayúsculas consecutivas que tengan un delimitador de palabra en los extremos, como espacios o comas.


De hecho, el inventario de capitalización mixta… considera combinaciones inusuales, por lo que no enumera aquí las palabras en mayúsculas.

Traducción automática desde English
por (973 puntos)
mostrada de nuevo
0 votos

Es un poco más complicado, pero también puedes usar:
regex:(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

esto es para ignorar el contenido de ciertos marcadores que ya sabemos que estarán en mayúsculas, como “id” o “mt”.
Puedes agregar otros marcadores para excluirlos añadiendo una “|” y el nombre del marcador tal como aparece dentro del paréntesis mayor.

Traducción automática desde English
por (973 puntos)
mostrada de nuevo

¡Vaya, esto es realmente genial! Muchas gracias anon689242, es justo lo que necesitaba.

Creo que esta comprobación sería una gran adición a “Assignments and Progress”.

Traducción automática desde English
0 votos

Ah, acabo de darme cuenta de que mi solución \fig \fig* filtra los resultados en MAYÚSCULAS que ocurren en un versículo antes de la figura. Por lo tanto, se necesita algo más avanzado. Investigaré cómo indicar a la expresión regular que ignore un grupo.

Traducción automática desde English
por (379 puntos)
mostrada de nuevo
+1 voto

He encontrado que https://regex101.com/ es útil para el análisis de expresiones regulares, aunque entiendo que la conexión a Internet puede ser un problema para algunos. No estoy seguro de qué “sabor” de expresión regular corresponde a lo que usa Paratext.

Traducción automática desde English
por (296 puntos)

Según mis notas, Paratext 9, RegEx Pal, PrintDraft Changes.txt y DBLchanges.txt todos usan
C# (NET 2.0-4.8.1 & .NET Core 1.0-3.0)

Me gustaría que se confirmara.

Traducción automática desde English
0 votos

Muy buenas observaciones. Gracias @Shegnada y @anon806807.

Acababa de pensar que quizás quisiéramos que esta expresión regular también compruebe el texto alt de las figuras. Creo que es solo el nombre del archivo de imagen el que está causando el problema, así que, ¿por qué no lo filtramos simplemente? Algo como
\b.*\.(TIF|GIF|JPG|JPEG)\b?

¿Quizás con una aserción negativa hacia adelante? ¿Algo como esto?

(?:\b.*\.(TIF(F)|GIF|JP(E)G|PNG|EPS|BMP|WEBP)\b)

Debería ignorar también algo como CN01628B.tif.

No estoy sentado frente a mi computadora mientras escribo esto, pero espero probarlo pronto.

Traducción automática desde English
por (379 puntos)
mostrada de nuevo

Preguntas relacionadas

0 votos
3 respuestas 228 vistas
(Paul Unger writes) I found a topic in the PT Supporters e-mail list that held promise for how to do this. It ... track. Does anyone know what I need to put for small caps?
anónimo preguntada abr 10, 2015
0 votos
2 respuestas 309 vistas
Un equipo al que estoy ayudando desearía que el nombre de Dios se mostrara en mayúsculas (no en versalitas). Qué necesito ... el contenido de \nd \nd* se muestre en mayúsculas?
Ruth Mathys 153 preguntada oct 25, 2023
0 votos
6 respuestas 810 vistas
Hola, tengo una pregunta sobre cómo marcar masivamente palabras como incorrectas en la lista de palabras. Estamos en ... ahora una solicitud para hacerlo posible! Gracias, Lizzie
anon859055 130 preguntada jul 14, 2021
0 votos
6 respuestas 450 vistas
Quiero que el estilo \nd esté en versalitas. Cuando exporto de PT a RTF, \nd aparece subrayado. Marqué la ... distinción de estilo. Qué puedo hacer para obtener versalitas?
anon054969 123 preguntada feb 20, 2021
0 votos
0 respuestas 162 vistas
The KJVA uses \sc markup for signs and inscriptions like \sc King of the Jews\sc*. \sc stands ... Scripture Typesetting trainer & Regular Expression Specialist Dallas TX aDllas TX
anon467281 571 preguntada mar 15, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
So Peter was kept in prison, but the church was earnestly praying to God for him.
Acts 12:5
3,048 preguntas
6,007 respuestas
5,672 comentarios
2,027 usuarios