
En el idioma taiwanés, el guión doble tiene una función gramatical y se usa con frecuencia. Ejemplo:
Āu--ji̍t chiah koh lâi. (Vuelve pasado mañana.)
Āu-ji̍t chiah koh lâi. (Vuelve en el futuro).
El problema es que el doble guión se convierte en n-guión. Sé que -{}- puede detener la conversión. Sin embargo, el salto de línea se producirá entre los dos guiones y eso también debe evitarse. Por lo tanto, se convierte
Āu\mbox{-{}-}{\allowbreak}ji̍t chiah koh lâi.
Esto parece complicado. Como estoy usando xelatex, creo que podría definir un comando para la secuencia y, mientras tanto, hacer que parezca más un guión doble incluso en el código fuente.
\newcommand{\‐‐}{\mbox{‐‐}{\allowbreak}}
Los ‐ en \‐‐ no son U+002D, sino U+2010. Iguales que los de \mbox, para evitar la ligadura. Y supuestamente puedo escribir
Āu\‐‐ji̍t chiah koh lâi.
Es mucho más fácil saber que es un guión doble.
Sin embargo, recibí un mensaje de error. ! Error de LaTeX: Falta \begin{documento}.
Lo que resulta desconcertante es que
\newcommand{\‐}{\mbox{‐‐}{\allowbreak}}
funciona bien. Pero no es nada ideal ya que no parece un guión doble.
Si no hay una buena solución para esto, debo olvidarme del \allowbreak
y simplemente escribir dos U+2010 seguidos. Pero las palabras con doble guión son largas y la tipografía se vuelve fea.
Respuesta1
Si puede escribir U+2010, entonces la combinación ‐‐
(U+2010 U+2010) no producirá una ligadura.
Puedeun pocodefinir \--
(con guiones, pero esto borraría la definición de \-
).
Una posible alternativa sería utilizar \0--
(con dos guiones):
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Libertinus Serif}
\def\0--{‐‐\allowbreak}% two U+2010 in the body
\begin{document}
Āu--ji̍t chiah koh lâi. (Come again the day after tomorrow.) % two hyphens
Āu‐‐ji̍t chiah koh lâi. (Come again the day after tomorrow.) % two U+2010
Āu\0--ji̍t chiah koh lâi. (Come again the day after tomorrow.) % the command
Āu-ji̍t chiah koh lâi. (Come again in the future.)
\parbox[t]{0pt}{\hspace{0pt}Āu\0--ji̍t chiah koh lâi.}
\end{document}