如何为希腊语定义类似“|(德语)”的命令?——:允许连字符、无连字符、最小空格

如何为希腊语定义类似“|(德语)”的命令?——:允许连字符、无连字符、最小空格

对于我的 polutonikogreek 文档,我想使用像 这样的命令/快捷方式"|germanb.ldf\declare@shorthand{german}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}\allowhyphens}{}}。(有些人倾向于标记和分离单词的词源逻辑部分。)我已经定义了新的快捷方式\/\|,我已在我的所有文档中将它们用于希腊语,但无论出于什么原因,它们都不起作用。

\pdfgentounicode=1
\input glyphtounicode
\documentclass[ngerman]{scrbook}
\usepackage{savesym,cmap}
\usepackage[LGR,T1]{fontenc} \usepackage[utf8]{inputenc} \input{ix-utf8enc.dfu}
\input{ix-utf8enc.dfu} \usepackage[main=ngerman,greek,]{babel}
\usepackage[GlyphNames]{teubner}\savesymbol{breve} \savesymbol{aa}
\usepackage{mathpazo} \restoresymbol{pplj}{breve}\restoresymbol{pplj}{aa}
\ifFamily{pplj}{porson}
\usepackage[nonegthinspace,twothirds]{thinsp}
\makeatletter
\renewcommand*{\,}{\thinspace\allowhyphens}%doesn't really work ...
\iflanguage{greek}{\let\/\relax}{}%doesn't work, produces "ρ"s
\let\|\relax %I need something line \/, but without allowing for linebreaks
\addto\greek@shorthands{%
  \declare@shorthand{greek}{\/}{\textormath{\penalty\@M\discretionary{-}
{}{\kern.08em}
     \allowhyphens}{}} %I don't use "|, as this has special meaning in Greek/teubner, so I choose
      \declare@shorthand{greek}{\|}{\textormath{\penalty\@M\discretionary{}{}{\kern.08em}
     \nolinebreak}{}} %the same without linebreak, e.g. if it follows the first letter of a word
    }
\makeatother
\begin{document}
\begin{otherlanguage}{greek}o\us k \es k\/d\ia\/dwsi, \as ll''\,\esa\|laben\\
οὐκ ἐκ\/δί\/δωσι, ἀλλ''\,ἔ\|λαβεν
\end{otherlanguage}
\end{document}

相关内容