Considere este MWE
\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}
\begin{document}
\section{without relax}
Cambridge : University (A)
\nohyphens{Cambridge} : University (B)
\texttt{Cambridge} : University (C)
\verb|Cambridge| : University (D)
\section{with relax}
Cambridge\relax : University (E)
\nohyphens{Cambridge}\relax : University (F)
\texttt{Cambridge}\relax : University (G)
\verb|Cambridge|\relax : University (H)
\end{document}
Se executarmos com pdfLaTeX ou LuaLaTeX, todos os dois pontos estarão bem alinhados.
Mas se rodarmos com XeLaTeX, parece que existem alguns espaços espúrios (seção 1), que podem ser cancelados com relax
. Por que obtivemos esse comportamento? Se não carregarmos babel ou polyglossia, a saída também estará ok.
Qualquer ideia?
Responder1
Parece que é possível contornar o problema \nohyphens
inserindo um espaço de largura zero (mas não testei com muitas fontes):
\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}
\begin{document}
Cambridge : University (A)
\nohyphens{Cambridge} : University (B)
\nohyphens{Cambridge}: University (C)
\renewcommand{\nohyphens}[1]{{{\language\langwohyphens #1}^^^^200b}}
Cambridge : University (A)
\nohyphens{Cambridge} : University (B)
\nohyphens{Cambridge}: University (C)
\end{document}
Um truque semelhante funciona para \verb
:
\documentclass[french]{article}
\usepackage{babel}
\begin{document}
Cambridge : University (A)
\verb|Cambridge| : University (C)
\makeatletter
\def\verb@egroup{\global\let\verb@balance@group\@empty\egroup^^^^200d}
\makeatother
Cambridge : University (A)
\verb|Cambridge| : University (C)
\end{document}
Responder2
Este é apenas um comentário. Não sou usuário francês do TeX e não sei o que é preferido por escrito: a thin space before colon :
ou without thin space before colon:
. Basta comparar pelas imagens a seguir que são resultados do seguinte com opções diferentes (com/sem \FBsetspaces{colon}{0.5}{0}{0}
):
\documentclass[french]{article}
\usepackage{babel}
\usepackage{hyphenat}
\FBsetspaces{colon}{0.5}{0}{0}
\begin{document}
\section{all without relax}
Cambridge : University (A)
\nohyphens{Cambridge} : University (B)
\texttt{Cambridge} : University (C)
\verb|Cambridge| : University (D)
\section{all with relax}
Cambridge\relax : University (E)
\nohyphens{Cambridge}\relax : University (F)
\texttt{Cambridge}\relax : University (G)
\verb|Cambridge|\relax : University (H)
\section{with relax just for typewriter and verbatim}
Cambridge : University (E)
\nohyphens{Cambridge} : University (F)
\texttt{Cambridge}\relax : University (G)
\verb|Cambridge|\relax : University (H)
\section{all without manual space}
Cambridge: University (E)
\nohyphens{Cambridge}: University (F)
\texttt{Cambridge}: University (G)
\verb|Cambridge|: University (H)
\end{document}