Anlegen eines eigenen Wörterbuchs mit LaTeX

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: Anlegen eines eigenen Wörterbuchs mit LaTeX

von Jana_S » Do 6. Okt 2011, 19:06

Einfach mal wieder eine gute Idee mit dem Wörtebuch, könnte eine solche Funktion auch für mein Projekt vorstellen.
Finanztipps benötigt?
Kein Problem, auf http://www.geld-anlegen24.net kann man alles übersichtlich auffinden.
Tipps und Tricks aus erster Expertenhand!

von iTob » Di 4. Okt 2011, 01:08

Ich weiß nicht, in wie weit das (noch) relevant ist, aber auf TeX.SX hat grad jemand eine Frage gestellt, deren Antworten dir vielleicht auch helfen könnten …

How could one setup a layout for a dictionary? (if possible)

von Sepp99 » Di 27. Sep 2011, 19:07

Mit glossaries ein Ansatz:
\listfiles
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{glossaries}
\makeglossaries

% Neuer style für Wörterbuch
% Paketdoku Kap. 2.13.1 bis 2.13.3
\newglossarystyle{WBlist}{%
\glossarystyle{long3colheader}% Basisstyle
\renewenvironment{theglossary}%
{\begin{longtable}{p{3cm}p{3cm}r}}%
{\end{longtable}}%
\renewcommand*{\glossaryheader}{%
\bfseries Englisch & \bfseries Deutsch & \bfseries Seite \\ \hline \endhead}%
}

% Einträge, können auch in externe Datei ausgelagert 
% und mit \input{file} eingefügt werden
\newglossaryentry{Du}{name=You,description={Du}}
\newglossaryentry{Ich}{name=I,description={Ich}}
\newglossaryentry{habe}{name=have,description={habe}}
\newglossaryentry{Apfel}{name=aple,description={Apfel}}
\newglossaryentry{Hilfe}{name=help,description={Hilfe}}


\begin{document}
\glsaddall
\printglossary[style=WBlist,title=Wörterbuch]
\end{document}
Die \newglossaryentry kann man ja in eine externe Datei laden. Jedenfalls läßt dieses Beispiel genug Raum für eigene Experimente.

Gruß, Sepp.-

PS: @itob Wie gehts Dir mit dem Studium. Ich habs ja jetzt geschafft.

Edit: Anhang
Dateianhänge
T_gloss99.pdf
(15.59 KiB) 370-mal heruntergeladen

von LuPi » Di 27. Sep 2011, 16:11

Dieser Code ist eine separate Datei, die Du - wie auch makeindex - zwischen den verschiedenen LaTeX-Läufen von einem perl-Compiler abarbeiten lässt. Der Input hierfür ist eine *.loa-Datei (list of abbreviations), die während des vorhergehenden LaTeX-Laufes entsteht.

Aber ich würde mir an Deiner Stelle glossaries.sty noch eine Chance geben. Ich hab' das an einem Nachmittag in meine bestehende Struktur einbauen können (und das will was heißen :wink: ).

von ponjio » Di 27. Sep 2011, 15:54

Vielen Dank erstmal, aber in was gebe ich denn jetzt diesen Code ein?

Ja ich könnte ja mal versuchen glossaries zu verwenden. Diesmal ist ja nur ein MakeIndex Befehl zu bearbeiten. Naja mal gucken. ich versuche mich mal. Am Ende ist es vllt wieder einfacher, dass ganze manuell zu erstellen :)

von LuPi » Di 27. Sep 2011, 15:47

Aber klar:
# 16. November 2004 / 12. April 2005
$infilename = "kt_skript.loa";
$outfilename = ">kt_skript.loa.out";
open (INFILE, "$infilename") or die "Can't open input-file $infilename!\n";
$i = 0;
while (<INFILE>) {
   @line[$i++] = $_;
}
close (INFILE);
if ($i)
{
   open (OUTFILE, "$outfilename");
   @sortedline = sort @line;
   foreach (@sortedline) {
      s/ /}{/;
      $sortedline[$i] = $_;
   }
   foreach (@sortedline) {
      s/^/ \\EintragKTVerzeichnis{/;
      $sortedline[$i] = $_;
   }
   foreach (@sortedline) {
      s/$/}/;
      $sortedline[$i] = $_;
   }
   $prev = "not equal to $sortedline[0]";
   @sortedandremovedline = grep($_ ne $prev && ($prev = $_, 1), @sortedline);
#   @sortedandremovedline = @sortedline;
   print (OUTFILE "\\begin{KTVerzeichnis}\n");
   print OUTFILE @sortedandremovedline[0..$#sortedandremovedline--];
   print (OUTFILE "\\end{KTVerzeichnis}");
   close (OUTFILE);
   print "$i Einträge in $infilename gelesen, sortiert und nach $outfilename geschrieben.\n";
}
else
{
   print "$infilename leer; kein $outfilename erzeugt.\n";
}
# EOF
Nur kurz zur Ergänzung: Derzeit steige ich auf glossaries.sty um (ohne allerdings Tips dazu geben zu können).

von ponjio » Di 27. Sep 2011, 15:41

LuPi hat geschrieben:Falls Du mit makeindex (oder allgemein mit LaTeX-Bordmitteln) nicht zum Ziel kommst: Ich habe mal mit perl ein ganz einfaches Sortierprogramm (für ein Abkürzungsverzeichnis) geschrieben. War wirklich unproblematisch - meine ersten Gehversuche mit perl ...
Könntest du mir das zur Verfügung stellen bzw. mir ein Link zur Einarbeitung geben?

Vielen Dank.

von LuPi » Di 27. Sep 2011, 15:29

Falls Du mit makeindex (oder allgemein mit LaTeX-Bordmitteln) nicht zum Ziel kommst: Ich habe mal mit perl ein ganz einfaches Sortierprogramm (für ein Abkürzungsverzeichnis) geschrieben. War wirklich unproblematisch - meine ersten Gehversuche mit perl ...

von ponjio » Di 27. Sep 2011, 15:03

iTob hat geschrieben:Vielleicht hat noch jemand eine andere Idee. Du könntest auch mal deine Gehversuche in Form von Minimalbeispielen zeigen und sagen was dich daran stört, dann kann dir u.U. konkreter geholfen werden.

Tobi
Ich könnte ja den Link hierher mal im Makro-Forum posten. Vllt können mir die dort besser helfen. Was mich stört ist eg nur die manuelle Sortierung der Worte.
Ich würde halt gern ein Makro entwickeln, mit dem ich über MakeIndex die Worte ordnen lassen kann.

von iTob » Di 27. Sep 2011, 13:46

Hm … also dann bin ich raus. Du könntest höchstens versuchen, ein externes programm zum sortieren der Codezeilen zu verwenden, aber das wäre halt eher nicht automatisch.

Vielleicht hat noch jemand eine andere Idee. Du könntest auch mal deine Gehversuche in Form von Minimalbeispielen zeigen und sagen was dich daran stört, dann kann dir u.U. konkreter geholfen werden.

Tobi

PS: Ich habe den Status mal zurück gestellt. „Rückfrage“ ist aber eh anders gedacht ;-)

Nach oben