Hífen duplo na língua taiwanesa carrega função gramatical

Hífen duplo na língua taiwanesa carrega função gramatical

Na língua taiwanesa, o hífen duplo tem função gramatical e é usado com frequência. Exemplo:

Āu--ji̍t chiah koh lâi. (Volte depois de amanhã.)

Āu-ji̍t chiah koh lâi. (Volte novamente no futuro.)

O problema é que o hífen duplo é convertido em n-traço. Eu sei que -{}- pode interromper a conversão. No entanto, a quebra de linha acontecerá entre os dois hífens e isso também deve ser evitado. Portanto, torna-se

Āu\mbox{-{}-}{\allowbreak}ji̍t chiah koh lâi.

Isso parece complicado. Como estou usando xelatex, acho que posso definir um comando para a sequência e, enquanto isso, fazer com que pareça mais um hífen duplo, mesmo no código-fonte.

\newcommand{\‐‐}{\mbox{‐‐}{\allowbreak}}

Aqueles ‐ em \‐‐ não são U+002D, mas U+2010. Igual aos do \mbox, para evitar a ligadura. E supostamente eu posso escrever

Āu\‐‐ji̍t chiah koh lâi.

É muito mais fácil saber que é um hífen duplo.

No entanto, recebi uma mensagem de erro. ! Erro LaTeX: \begin{document} ausente.

O que é intrigante é que

\newcommand{\‐}{\mbox{‐‐}{\allowbreak}}

funciona bem. Mas não é o ideal, pois não se parece com um hífen duplo.

Se não houver uma boa solução para isso, preciso esquecer o \allowbreake apenas escrever dois U+2010 consecutivos. Mas as palavras com hífen duplo são longas e a composição fica feia.

Responder1

Se você conseguir digitar U+2010, a combinação ‐‐(U+2010 U+2010) não produzirá uma ligadura.

Você podede alguma formadefine \--(com hífens, mas isso apagaria a definição de \-).

Uma alternativa possível seria usar \0--(com dois hífens):

\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}

insira a descrição da imagem aqui

Responder2

Você pode desativar as ligaduras TeX clássicas, como --as que não são necessárias no xelatex, basta inserir um travessão para obter um travessão.

insira a descrição da imagem aqui

\documentclass{article}

\usepackage{fontspec}
\setmainfont[Ligatures=TeXOff]{Arial}

\begin{document}

Āu--ji̍t chiah koh lâi dash–dash.

\end{document}

informação relacionada