
체코어에서는 공백 없이 en-dash를 사용하여 날짜 범위를 작성합니다. 예:
1351년~1362년
대시 주변의 선을 끊는 것은 허용되지 않습니다. 대신, 필요한 경우 다음과 같이 조판해야 합니다.
1351~1362
여기서 "až"는 "~까지" 또는 "~까지"를 의미합니다. 그런 다음 "až"라는 단어 뒤에 줄 바꿈이 발생할 수 있습니다.
이와 같은 범위는 제가 작업 중인 책에서 많이 나타납니다. 따라서 나는 이 문제를 자동으로 분류하기 위해 바벨 확장 하이픈 넣기 규칙을 사용하고 싶습니다.
이러한 경우 endash 대신 사용할 \babelposthyphenation
문자에 대한 규칙을 만들었습니다 . §
다음을 제외하면 예상대로 작동합니다."až"라는 단어 앞에 공백을 삽입하는 방법을 알 수 없습니다. 에서 답을 찾을 수 없었습니다.바벨 위키소스 코드를 충분히 이해하지 못합니다.
결과는 다음과 같습니다( lualatex
아래 바벨과 최신 버전으로 컴파일되는 MWE). 첫 번째 줄에는 원하는 결과가 표시됩니다.
% !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}
답변1
prebreak, postbreak 및 nobreak 텍스트에는 건너뛰기를 넣을 수 없습니다. 하지만 컨은 가질 수 있습니다. 라인의 공간 확장이나 축소에는 참여하지 않습니다.
두 가지 방법 중 더 많은 의미를 전달하는 첫 번째 방법을 선호합니다.
\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}