Problem mit betababel

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit betababel

von kouki » Di 17. Apr 2018, 16:48

Vielen Dank!

Bin auf babel umgestiegen und der Hinweis mit \protect hat super funktioniert!

von Gast » Do 12. Apr 2018, 07:39

Lies mal was unter "Known limitations" in der [d]betababel[/d]-Anleitung steht. Auch \newcommand gehört in die Kategory "Other commands". Danach sollte halbwegs klar werden, warum in gr.idx solch ein Salat geschrieben wird:
\indexentry{\def <'\char 116\char 101sv\char 116{}\Bet@Mode =1 \FirstP@r =1 \noindent \begingroup \catcode `\=0 \catcode `\\=12 \catcode `\&=6 \catcode `\#=12 \catcode `\==12 \lccode `(=0\lccode `)=0 \lccode `[=0\lccode `]=0 \lccode `+=0\lccode `/=0 \lccode `\==0\lccode `|=0 \uccode `(=0\uccode `)=0 \uccode `[=0\uccode `]=0 \uccode `+=0\uccode `/=0 \uccode `\==0\uccode `|=0 \lccode `-=0\lccode `_=0 \lccode `.=0\lccode `,=0 \lccode `:=0\lccode `;=0 \lccode `'=0\lccode `?=0 \gdef {}\gdef Terminus{t(/est}Terminus\par \endgroup \gdef {}\foreignlanguage  {polutonikogreek}{\catcode `\ \active <'\char 116\char 101sv\char 116}}{1}
bei dem makeindex dann Probleme hat, das zu verarbeiten:
!! Input index error (file = gr.idx, line = 1):
-- Extra `@' at position 59 of first argument.

Eine mögliche Lösung im konkreten Fall wäre
\documentclass[
   a4paper
   parskip,
]{scrreprt}

\usepackage[polutonikogreek, german]{babel}
\usepackage[german]{betababel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[]{imakeidx}
\makeindex[name=gr,title=Griechischer Index,intoc,columns=2]
\makeindex[name=dt,title=Deutscher Index,intoc,columns=2]
\usepackage[font=footnotesize]{caption}

\newcommand{\test}{\bcode{t(/est}}
\newcommand{\IDXtest}{\index[gr]{\protect\bcode{t(/est}}}% ggf. \protect durch \string ersetzen und ggf. weitere "Befehle" schützen.

\begin{document}

Hier soll \test\IDXtest~stehen

Hier funktioiert es \test\index[gr]{\bcode{t(/eeeest}}

\printindex[gr]
\indexprologue{\small In this index you’ll find only
german words}

\end{document}
Eventuell wäre auch die Verwendung von \detokenize sinnvoll, kann aber (wie \protect) auch zu zusätzlichen Leerzeichen führen.

BTW: betababel wurde zuletzt vor über zehn Jahren aktualisiert. babel wird hingegen inzwischen wieder aktiv weiterentwickelt. Das muss nicht zu einem Problem führen, kann aber.

Problem mit betababel

von kouki » Mi 11. Apr 2018, 19:18

Hallo,

ich würde gerne neue Kommendos erstellen um jedesmal wenn ich ein griechisches Wort schreibe automatisch ein Index-Eintrag erstellt wird.
Die Definiton
\newcommand{\neu}{test\index[gr]{test}}
funktioniert.
Sobald ich aber im Index auch die betacode-Umgebung nutze funktioniert es nicht mehr :?
\documentclass[
	a4paper
	parskip,
]{scrreprt}

\usepackage[polutonikogreek, german]{babel}
\usepackage[german]{betababel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[]{imakeidx}
\makeindex[name=gr,title=Griechischer Index,intoc,columns=2]
\makeindex[name=dt,title=Deutscher Index,intoc,columns=2]
\usepackage[font=footnotesize]{caption}

\newcommand{\test}{\bcode{t(/est}}
\newcommand{\IDXtest}{\index[gr]{\bcode{t(/est}}}

\begin{document}

Hier soll \test\IDXtest~stehen

Hier funktioiert es \test\index[gr]{\bcode{t(/eeeest}}

\printindex[gr]
\indexprologue{\small In this index you’ll find only
german words}

\end{document}

Nach oben