www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "LaTeX" - Index
Index < LaTeX < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Index: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:18 Do 12.04.2012
Autor: Pacapear

Hallo zusammen!

Ich versuche schon den ganzen Tag, mit Latex ein Indexverzeichnis zu erstellen.

Als Latex-Distribution benutze ich Miktex2.7, und als Editor TexnicCenter.

Ich mache es wie folgt:

In die Präambel schreibe ich "\ usepackage{makeidx}" und "\ makeindex", und vor "\ enddocument" schreibe ich "\ printindex".

Bzw. wenn ich die Klasse "AMSbook" verwende, brauche ich wohl KEIN "\ usepackage{makeidx}", weil es irgendwie mitgeliefert ist.

Wenn ich das mache, passiert leider nix. Es wird kein Index erstellt. Und auch keine *.ind-Datei.

Nun habe ich im Internet gelesen, dass man bei TexnixCenter in Profiles "%bm" druch "%tm" ersetzen soll, aber eigentlich nur für Miktex2.9, was ich ja nicht habe. Ich hab es trotzdem mal gemacht, es scheint in so weit zu helfen, dass ich eine *.ind-Datei bekomme und nach mehrmaligem komplieren auch einen Index.

ABER: Alle Wörter im Text, vor die ich "\ index{...}" schreibe, damit sie im Index erscheinen, verschwinden plötzlich aus dem Text.

Ich habe auch schonmal einen anderen Editor ausprobiert (TexStudio), aber da sind die Probleme die gleichen.

Könnt ihr mit weiterhelfen?

Danke schonmal.

LG Nadine

        
Bezug
Index: Antwort
Status: (Antwort) fertig Status 
Datum: 19:28 Do 12.04.2012
Autor: rainerS

Hallo Nadine!

> Hallo zusammen!
>  
> Ich versuche schon den ganzen Tag, mit Latex ein
> Indexverzeichnis zu erstellen.
>  
> Als Latex-Distribution benutze ich Miktex2.7, und als
> Editor TexnicCenter.

Dann solltest du dir []dieses PDF anschauen; sehr hilfreich!

>  
> Ich mache es wie folgt:
>  
> In die Präambel schreibe ich "\ usepackage{makeidx}" und
> "\ makeindex", und vor "\ enddocument" schreibe ich "\
> printindex".
>  
> Bzw. wenn ich die Klasse "AMSbook" verwende, brauche ich
> wohl KEIN "\ usepackage{makeidx}", weil es irgendwie
> mitgeliefert ist.
>  
> Wenn ich das mache, passiert leider nix. Es wird kein Index
> erstellt. Und auch keine *.ind-Datei.

Nein. \makeindex bewirkt, dass eine .idx-Datei erstellt wird, in die jede \index-Anweisung etwas hineinschreibt, und zwar eine \indexentry-Anweisung. Damit hast du zwar alle nötigen Informationen, um einen Index zu erstellen, aber er ist weder sortiert noch formatiert.

Dazu brauchst du einen Indexprozessor. Es gibt davon zwei: das gute alte Programm makeindex und das moderne xindy. Leider leider leider liefert miktex xindy nicht mit.


Du solltest nachschaun, dass in deinem gewählten Profil der Indexprozessor ausgeführt wird; da gibt's nämlich ein Häkchen, mit dem man ihn abschalten kann.

> Nun habe ich im Internet gelesen, dass man bei TexnixCenter
> in Profiles "%bm" druch "%tm" ersetzen soll, aber
> eigentlich nur für Miktex2.9, was ich ja nicht habe. Ich
> hab es trotzdem mal gemacht, es scheint in so weit zu
> helfen, dass ich eine *.ind-Datei bekomme und nach
> mehrmaligem komplieren auch einen Index.

Da kann ich wenig dazu sagen: der Unterschied ist, dass "%bm" für den gesamten Pfad der Datei (ohne ".tex") steht, während "%tm" nur für den Namen steht (ohne Verzeichnis).

Was du tun kannst: latex schreibt eine .log-Datei,  makeindex schreibt eine .ilg-Datei. Wenn deine LaTeX-Datei blabla.tex heißt, dann muss in der blabla.log-Datei stehen:

Writing index file blabla.idx

und in der blabla.ilg-Datei etwas wie

This is makeindex, portable version 2.6 [7-14-88].
Scanning input file blabla.idx done (4 entries accepted, 0 rejected).
Sorting entries....done (9 comparisons).
Generating output file blabla.ind....done (71 lines written, 0 warnings).

> ABER: Alle Wörter im Text, vor die ich "\ index{...}"
> schreibe, damit sie im Index erscheinen, verschwinden
> plötzlich aus dem Text.

Meinst du, du schreibst nur \index{Wort} ? Die \index-Anweisung schreibt nur in die .idx-Datei. Wenn das Wort außerdem im Text erscheinen soll, musst du schreiben

Wort\index{Wort}

oder

Wort\index{Indexeintrag für Wort}

oder auch

Größe eines Moskitos\index{Moskito!Größe}

Eine genaue Beschreibung, wie das funktioniert, findest du []hier.

Wenn das nicht dein Problem ist, dann solltest du mal ein einfaches Beispiel hochladen (siehe []http://minimalbeispiel.de).

  Viele Grüße
     Rainer


Bezug
                
Bezug
Index: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:51 Fr 13.04.2012
Autor: Pacapear

Hallo!



> Nein. [mm][code]\ makeindex[/code][/mm] bewirkt, dass eine .idx-Datei
> erstellt wird, in die jede [mm][code]\ index[/code]-Anweisung[/mm]
> etwas hineinschreibt, und zwar eine
> [mm][code]\ indexentry[/code]-Anweisung.[/mm] Damit hast du zwar alle
> nötigen Informationen, um einen Index zu erstellen, aber
> er ist weder sortiert noch formatiert.
>  
> Dazu brauchst du einen Indexprozessor. Es gibt davon zwei:
> das gute alte Programm makeindex und das moderne xindy.
> Leider leider leider liefert miktex xindy nicht mit.
>
> Du solltest nachschaun, dass in deinem gewählten Profil
> der Indexprozessor ausgeführt wird; da gibt's nämlich ein
> Häkchen, mit dem man ihn abschalten kann.

Ich hab in den Ausgabeprofilen folgendes gefunden:

"Makeindex in diesem Profil nicht verwenden."

Es ist KEIN Haken drin, also heißt es doch, dass es es verwende. Ist das dieser Indexprozessor?



> Da kann ich wenig dazu sagen: der Unterschied ist, dass
> "%bm" für den gesamten Pfad der Datei (ohne ".tex") steht,
> während "%tm" nur für den Namen steht (ohne
> Verzeichnis).
>  
> Was du tun kannst: latex schreibt eine .log-Datei,  
> makeindex schreibt eine .ilg-Datei. Wenn deine LaTeX-Datei
> blabla.tex heißt, dann muss in der blabla.log-Datei
> stehen:
>  
> Writing index file blabla.idx
>  
> und in der blabla.ilg-Datei etwas wie
>  
> This is makeindex, portable version 2.6 [7-14-88].
>  Scanning input file blabla.idx done (4 entries accepted, 0
> rejected).
>  Sorting entries....done (9 comparisons).
>  Generating output file blabla.ind....done (71 lines
> written, 0 warnings).

Also ich hab jetzt nochmal das "%tm" wieder rausgenommen, und wieder "%bm" reingeschrieben, was da vorher stand.

Die *.idx Datei bekomme ich wieder, aber weder eine *.ind noch eine *.ilg Datei.

Im Log steht:

"Writing index file bla.idx"
"No file bla.ind."


  

> > ABER: Alle Wörter im Text, vor die ich "\ index{...}"
> > schreibe, damit sie im Index erscheinen, verschwinden
> > plötzlich aus dem Text.
>  
> Meinst du, du schreibst nur [mm][code]\index{Wort}[/code][/mm] ? Die
> [mm][code]\index[/code]-Anweisung[/mm] schreibt nur in die
> .idx-Datei. Wenn das Wort außerdem im Text erscheinen
> soll, musst du schreiben
>  
> [mm][code]Wort\index{Wort}[/code][/mm]
>  
> oder
>  
> [mm][code]Wort\index{Indexeintrag für Wort}[/code][/mm]
>  
> oder auch
>  
> Größe eines [mm]Moskitos\index{Moskito!Größe}[/mm]

Ah, ok, ich dachte, wenn ich "\ index{Wort}" schreibe, dass es dann im Text bleibt und auch im Index erscheint.



Hier mal ein Beispiel-Code (ohne Leerzeichen nach dem Slash ;-) ):

\ documentclass{book}
\ usepackage[latin1]{inputenc}
\ usepackage[ngerman]{babel}
\ usepackage{makeidx}
\ makeindex

\ begin{document}

Hallo. Das ist ein Test \ index{Test}.

\ printindex

\ end{document}

Das ist doch eigentlich richtig so, oder?



LG Nadine

Bezug
                        
Bezug
Index: Antwort
Status: (Antwort) fertig Status 
Datum: 19:51 Fr 13.04.2012
Autor: rainerS

Hallo Nadine!

> > Du solltest nachschaun, dass in deinem gewählten Profil
> > der Indexprozessor ausgeführt wird; da gibt's nämlich ein
> > Häkchen, mit dem man ihn abschalten kann.
>  
> Ich hab in den Ausgabeprofilen folgendes gefunden:
>  
> "Makeindex in diesem Profil nicht verwenden."
>  
> Es ist KEIN Haken drin, also heißt es doch, dass es es
> verwende. Ist das dieser Indexprozessor?

Ja.

>
> > Da kann ich wenig dazu sagen: der Unterschied ist, dass
> > "%bm" für den gesamten Pfad der Datei (ohne ".tex") steht,
> > während "%tm" nur für den Namen steht (ohne
> > Verzeichnis).
>  >  
> > Was du tun kannst: latex schreibt eine .log-Datei,  
> > makeindex schreibt eine .ilg-Datei. Wenn deine LaTeX-Datei
> > blabla.tex heißt, dann muss in der blabla.log-Datei
> > stehen:
>  >  
> > Writing index file blabla.idx
>  >  
> > und in der blabla.ilg-Datei etwas wie
>  >  
> > This is makeindex, portable version 2.6 [7-14-88].
>  >  Scanning input file blabla.idx done (4 entries accepted, 0 rejected).
>  >  Sorting entries....done (9 comparisons).
>  >  Generating output file blabla.ind....done (71 lines written, 0 warnings).
>  
> Also ich hab jetzt nochmal das "%tm" wieder rausgenommen,
> und wieder "%bm" reingeschrieben, was da vorher stand.
>  
> Die *.idx Datei bekomme ich wieder, aber weder eine *.ind
> noch eine *.ilg Datei.
>  
> Im Log steht:
>  
> "Writing index file bla.idx"
>  "No file bla.ind."

Das ist beim ersten Durchlauf richtig, denn da wird ja die .idx-Datei geschrieben. Dann muss sie von makeindex zur .ind-Datei verarbeitet werden, und im nächsten Lauf wird dann diese Datei eingelesen.

> Hier mal ein Beispiel-Code (ohne Leerzeichen nach dem Slash
> ;-) ):
>  
> \ documentclass{book}
>  \ usepackage[latin1]{inputenc}
>  \ usepackage[ngerman]{babel}
>  \ usepackage{makeidx}
>  \ makeindex
>  
> \ begin{document}
>  
> Hallo. Das ist ein Test \ index{Test}.
>  
> \ printindex
>  
> \ end{document}
>  
> Das ist doch eigentlich richtig so, oder?

Ja. Funktioniert hier auch.

Hmm, vielleicht fehlt dir das makeindex-Programm. Das Verzeichnis für die ausführbaren Programme ist etwas in der Art

C:\Programme\MikTeX 2.8\miktex\bin

darin muss es ein Programm makeindex.exe geben. Im Miktex-Paketmanager müssen Pakete mit Namen

miktex-makeindex-base
miktex-makeindex-bin-2.8

installiert sein.

Wenn das OK ist, dann kannst du dir die Ausgabe genauer anschauen. Bevor du auf "Ausgabe erstellen" gehst bzw. F7 drückst, schalte die Ausgabeleiste ein (im Menü Ansicht). Dann kannst du genau sehen, welche Programme gestartet werden und was sie tun. Der eigentliche LaTeX-Lauf endet mit der Zeile

Transcript written on blabla.log.

und danach sollte eine Zeile der Form

This is C:\Programme\MikTeX 2.8\miktex\bin\makeindex.exe, version ....

kommen (eventuell läuft dazwischen noch bibtex).

Viele Grüße
   Rainer




Bezug
                                
Bezug
Index: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:36 Di 24.04.2012
Autor: Pacapear

Funktioniert alles, danke!

Bezug
                        
Bezug
Index: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:37 Di 17.04.2012
Autor: Lustique

Ich denke, es wäre auf jeden Fall sinnvoll mal auf eine neuere Version von MikTeX umzusteigen, es sei denn du arbeitest noch mit Windows 9x/Me/NT/2000. MikTeX 2.7 ist eigentlich hoffnungslos veraltet.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "LaTeX"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]