이 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}
pdfLaTeX 또는 LuaLaTeX로 실행하면 모든 콜론이 잘 정렬됩니다.
하지만 XeLaTeX로 실행하면 허위 공백(섹션 1)이 있는 것 같은데 relax
. 왜 이런 동작이 발생했습니까? 바벨이나 폴리글로시아를 로드하지 않으면 출력도 괜찮습니다.
어떤 아이디어?
답변1
너비가 0인 공백을 삽입하면 문제를 해결할 수 있는 것처럼 보입니다 \nohyphens
(그러나 많은 글꼴로 테스트하지는 않았습니다).
\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}
비슷한 트릭이 다음에도 적용됩니다 \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}
답변2
이것은 단지 의견입니다. 저는 프랑스어 TeX 사용자가 아니며 서면에서 어느 것이 선호되는지 모르겠습니다: a thin space before colon :
또는 without thin space before colon:
. 다양한 옵션(with/out \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}