
En checo, escribimos rangos de fechas con un guión sin espacios, por ejemplo
1351-1362
No está permitido romper la línea alrededor del guión. En lugar de ello, cuando sea necesario, deberá componerse como
1351 a 1362
donde "až" significa "hasta" o "hasta". Entonces el salto de línea puede aparecer después de la palabra "až".
Rangos como estos ocurren mucho en el libro en el que estoy trabajando. Por lo tanto, deseo utilizar las reglas de separación de palabras extendidas de Babel para solucionar este problema automáticamente.
Creé una \babelposthyphenation
regla para un carácter §
que se usaría en lugar del endash en estos casos. Funciona como se esperaba excepto,No sé cómo insertar un espacio delante de la palabra "až". No pude encontrar la respuesta enla wiki de babely no entiendo el código fuente lo suficientemente bien.
Aquí está el resultado (MWE que se compila con lualatex
la última versión de Babel a continuación). La primera línea muestra el resultado deseado.
% !TeX encoding = UTF-8
% !TeX program = lualatex
\documentclass[10pt,twoside]{book}
\usepackage[czech]{babel}
\usepackage[papersize={85mm, 100mm},showframe]{geometry}
\babelposthyphenation{czech}{.§.}{
{},
{ no = --, pre = až, post = , data = 1 },
{}
}
\begin{document}
\thispagestyle{empty}
\noindent profesorem 1351--1362 a~v~roce 1353~až 1372
\vspace*{2ex}
\noindent profesorem 1351§1362 a~v~roce 1353§1372
\end{document}
Respuesta1
No puedes poner saltos en los textos previos, posteriores y sin pausas. Pero puedes tener un kern. No participará en el estiramiento o encogimiento del espacio en la línea.
Dos métodos, preferiría el primero porque tiene más semántica.
\documentclass[10pt,twoside]{book}
\usepackage[czech]{babel}
\usepackage[papersize={85mm, 100mm},showframe]{geometry}
\usepackage{newunicodechar}
\newcommand{\breakrange}{\discretionary{\kern0.3333em až}{}{--}}
\newcommand{\yrrange}[2]{#1\breakrange#2}
\newunicodechar{§}{\breakrange}
\begin{document}
\thispagestyle{empty}
\noindent profesorem \yrrange{1351}{1362} a~v~roce \yrrange{1353}{1372}
\vspace*{2ex}
\noindent profesorem 1351§1362 a~v~roce 1353§1372
\end{document}