
До последнего обновления teubner.sty (с GlyphNames) можно было использовать \og-макрос (ὸ), пока не был загружен французский babel (страница 15, прим. 1 teubner-doc.pdf). Теперь \og-макрос вообще не работает: в pdf-выводе там, где в .tex-файле был \og, просто ничего нет. В .log-файле написано
! Undefined control sequence.
l.596 t\og{} kal\og n mhk\ea ti \og{}
В моем .tex-файле нет ничего французского, и даже когда я удаляю каждый отдельный пакет, TeXify, удаляю другой пакет вместо последнего, \og не работает. Я не вижу, где он переопределен, даже savesymbol, который я использовал до и после разных пакетов, не помогает.
МВС:
\pdfgentounicode=1
\input glyphtounicode
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass{scrbook}
\usepackage{cmap}
\usepackage[LGR,T1]{fontenc}
\usepackage[utf8]{inputenc}
\input{ix-utf8enc.dfu}
\usepackage{savesym}
\usepackage[math=normal,greek,german,main=ngerman,english]{babel}
\usepackage{gfsdidot,gfsporson}
\usepackage[GlyphNames,boldLipsian]{teubner}
\savesymbol{breve}
\savesymbol{og}
\usepackage[osf,sc]{mathpazo}
\restoresymbol{pplj}{breve}
\usepackage[scaled=.95]{DejaVuSansCondensed}
\Lipsiantrue
\ifFamily{pplj}{porson}
\usepackage[nonegthinspace,twothirds]{thinsp}
\usepackage{fixltx2e}
\makeatletter
\renewcommand{\,}{\thinspace\allowhyphens}
\newcommand{\hrsp}{\ifmmode\mskip1mu\else\kern0.08em\fi}
\ifFamily{pplj}{porson}
\addto\greek@shorthands{%
\declare@shorthand{greek}{\/}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}
\allowhyphens}{}}
}
\Lipsiantrue
\ifFamily{pplj}{porson}
\makeatother
\begin{document}
\subsection*{Platon \emph{Theaitetos} 184\hrsp b--185\hrsp d}
185\hrsp c\\
\begin{otherlanguage}{greek}to\uc to o\usa\/te \osa yis
o\usa\/te \as ko\hg{} fa\ia netai, \as ll\aa{} ti \asa llo. \quad
\textsc{JE.} T\ia{} d''\,o\us{} m\ea llei, \hra{} ge di\ag{} t\hc s
gl\wa sshs d\ua namis? \quad \textsc{SW.} Kal\wc s l\ea geis. \hr{}
d\eg{} d\hg{} di\ag{} t\ia nos d\ua namis t\oa{} t''\,\es p\ig{}
p\ac si koin\og n ka\ig{} t\og{} \es p\ig{} to\ua tois
dhlo\ic{} soi, \wrci{} t\og{} ((\esa stin)) \es p\/onom\aa zeis
ka\ig{} t\og{} ((o\us k \esa sti)) ka\ig{} \arg{} nun\/d\hg{}
\hs rwt\wa men per\ig{} a\us t\wc n? to\ua tois p\ac si po\ic a
\as po\/d\wa seis \osa rgana di''\,\wrc n a\is sj\aa netai \hr m\wc n
t\og{} a\is sjan\oa menon \era kasta? \quad \textsc{JE.} O\us s\ia an
l\ea geis ka\ig{} t\og{} m\hg{} e\isc nai, ka\ig{} \oR moi\oa\/thta
ka\ig{} \as n\/omoi\oa\/thta, ka\ig{} t\og{} ta\us t\oa n te ka\ig{}
t\og{} \era teron, \esa ti d\eg{} \era n te ka\ig{} t\og n \asa llon
\as rijm\og n per\ig{} a\us t\wc n.\\
\og\og\og
\end{otherlanguage}
\end{document}
решение1
Это иллюстрирует проблему:
\documentclass{scrbook}
\usepackage{savesym}
\usepackage[greek,english]{babel}
\usepackage[GlyphNames]{teubner}
\savesymbol{og}
\begin{document}
\begin{otherlanguage}{greek}\og\end{otherlanguage}
\begin{otherlanguage}{greek}to o\usa\end{otherlanguage}
\end{document}
Это позволяет избежать проблемы:
\documentclass{scrbook}
\usepackage{savesym}
\usepackage[greek,english]{babel}
\usepackage[GlyphNames]{teubner}
\savesymbol{og}
\restoresymbol{pplj}{og}
\begin{document}
\begin{otherlanguage}{greek}\og\end{otherlanguage}
\begin{otherlanguage}{greek}to o\usa\end{otherlanguage}
\end{document}
По крайней мере, если предположить, что \og должен выглядеть именно так. Понятия не имею.
EDIT: Основываясь на комментариях OP, я редактирую этот ответ. Вышеизложенное верно для старых версий teubner. Для новых версий следующее показывает проблему:
\documentclass{scrbook}
\usepackage{savesym}
\usepackage[greek,english]{babel}
\usepackage[GlyphNames]{teubner}
\savesymbol{oG}
\begin{document}
\begin{otherlanguage}{greek}\oG\end{otherlanguage}
\begin{otherlanguage}{greek}to o\usa\end{otherlanguage}
\end{document}
и следующее позволяет избежать этой проблемы:
\documentclass{scrbook}
\usepackage{savesym}
\usepackage[greek,english]{babel}
\usepackage[GlyphNames]{teubner}
\savesymbol{oG}
\restoresymbol{pplj}{oG}
\begin{document}
\begin{otherlanguage}{greek}\oG\end{otherlanguage}
\begin{otherlanguage}{greek}to o\usa\end{otherlanguage}
\end{document}
Обратите внимание, что для использования \oG недостаточно просто обновиться. Для отображения символа также необходим \restoresymbol...
Выходные данные показаны на изображениях выше.