Es handelt sich um eine Anschlußfrage zur (beantworteten) Frage Wie kann ich die Erstellung eines Abkürzungsverzeichnisses mit dem Paket nomencl automatisieren?

Hallo!

arara hat (vgl. Handbuch Kapitel 8 'Quick Start') eine vordefinierte Methode für das Paket nomencl (siehe o.g. Link), nicht aber für sein Aufbaupaket nomentbl, das eher zur Erstellung von Abkürzungsverzeichnissen beim mathematisch-technischen Textsatz geeignet ist, da auch Formelzeichen etc. verarbeitet werden können.

Wie läßt sich die verlinkte Automatisierung mit arara hierauf übertragen?

Danke fürs Lesen und das Interesse!

alt text

Open in writeLaTeX
%testdokument.tex

%Näheres / Quelle
%http://tex.stackexchange.com/questions/170679/error-for-nomenclature-paragraph-ended-before-nomenclature-was-complete/170685#170685
%
%%% Anleitung:
%Nach Komplilieren
%makeindex.exe -s nomentbl.ist -t testdokument.nlg -o testdokument.nls testdokument.nlo
%im Zielverzeichnis in die Kommandozeile eingeben, dann nochmal kompilieren.
%%%

\documentclass[a5paper, parskip=full-]{scrreprt}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage{ifthen}
%\usepackage{paralist}
%\usepackage{makeidx}
%\usepackage{booktabs}

%Formelzeichenverzeichnis ============
\usepackage{nomentbl}
\newcommand{\abk}{\nomenclature}
%Einstellungen
\renewcommand{\nomname}{Formelzeichenverzeichnis}
\setlength{\nomlabelwidth}{.20\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep}
%Titel:
\renewcommand\nomgroup[1]{%
   \ifx#1L\relax
     \large \bfseries Lateinische Formelzeichen
   \fi
   \ifx#1G\relax
     \large \bfseries Griechische Formelzeichen
   \fi
   \ifx#1A\relax
     \large \bfseries Abkürzungen
   \fi
   \ifx#1I\relax
     \large \bfseries Indizes
   \fi
   \ifx#1K\relax
     \large \bfseries Kennzahlen
   \fi}

\makenomenclature
%========================
%========
\begin{document}
%========
\printnomenclature

\[F=m\alpha\]

\nomenclature[L]{$F$}{Kraft}{N}{ML/T$^2$}
\nomenclature[L]{$m$}{Masse}{kg}{M}
\nomenclature[G]{$\alpha$}{Beschleunigung}{m/s$^2$}{L/T$^2$}

\printnomenclature
%========
\end{document}
%========

gefragt 05 Mai '14, 09:18

cis's gravatar image

cis
5.4k861169
Akzeptiert: 68%

bearbeitet 05 Mai '14, 13:01


Bei einer aktuellen Installation mit arara v3.0 hat die nomencl-Regel eine Option style für den Namen der Stildatei mit der Voreinstellung nomencl. Das heißt, per Voreinstellung wird makeindex mit -s nomencl.ist aufgerufen.

Da für nomentbl der Aufruf gleich ist mit Ausnahme der Stildatei, die jetzt nomentbl.ist heißt, kann man einfach die gleiche Regel verwenden, aber als Option eine andere Stildatei nennen:

Open in writeLaTeX
% arara: pdflatex
% arara: nomencl: { style: nomentbl }
% arara: pdflatex

Zumindest bei mir funktioniert das einwandfrei.


Alternativ kann man sich eine nomentbl-Regel analog zur nomencl-Regel schreiben (auch wenn der Aufwand hier vielleicht übertrieben ist):

Open in writeLaTeX
!config
# Nomentbl rule for arara
# author: Clemens Niederberger 
# requires arara 3.0+
identifier: nomentbl
name: Nomentbl
command: <arara> makeindex @{options} "@{getBasename(file)}.nlo" -s "@{style}.ist" -o "@{getBasename(file)}.nls"
arguments: 
- identifier: style
  flag: <arara> @{parameters.style}
  default: nomentbl
- identifier: options
  flag: <arara> @{parameters.options}

Die speichert man unter dem Namen nomentbl.yaml ab, wo sie arara finden kann. Bei mir ist das mein lokaler TeX-Baum

Open in writeLaTeX
<pfad>/texlive/texmf-local/scripts/arara/rules/

Das Vorgehen ist dabei grundsätzlich ähnlich wie es @Bes bei Wie kann ich Klassen oder Pakete verwenden, die nur als einzelne Datei bereitgestellt werden? beschrieben hat.

Dann kann man auch

Open in writeLaTeX
% arara: pdflatex
% arara: nomentbl
% arara: pdflatex

verwenden.


Nehmen wir die neue Regel mal auseinander:

Open in writeLaTeX
!config
# Nomentbl rule for arara
# author: Clemens Niederberger 
# requires arara 3.0+

Das war nur der Start und ein paar Hintergrundinformationen... # ist das Kommentarzeichen, wie % für LaTeX.

Open in writeLaTeX
identifier: nomentbl
name: Nomentbl

Der identifier ist das Kommando, das man in der TeX-Datei am Ende angibt. name ist der Name der Regel.

Open in writeLaTeX
command: <arara> makeindex @{options} "@{getBasename(file)}.nlo" -s "@{style}.ist" -o "@{getBasename(file)}.nls"

Der eigentliche Befehl. Damit ruft arara makeindex auf mit Optionen (options und style), die im nachfolgenden Code noch definiert werden. "@{getBasename(file)}.nlo" ist die .nlo Datei, die nomentbl erstellt, -s "@{style}.ist" die entsprechende Stildatei, die mit der style-Option auch explizit angegeben werden kann. -o "@{getBasename(file)}.nls" schreibt den Output in eine nlo-Datei, die nomentbl dann im nächsten LaTeX-Lauf verwenden kann, um die Liste zu setzen.

Open in writeLaTeX
arguments: 
- identifier: style
  flag: <arara> @{parameters.style}
  default: nomentbl
- identifier: options
  flag: <arara> @{parameters.options}

In diesem Teil werden die Optionen definiert, zunächst die Option style, mit der man eine alternative Stildatei angeben kann. Etwa eine Datei mystyle.ist:

Open in writeLaTeX
% arara: nomentbl: { style: mystyle }

Dann eine Option options, mit der man weitere Optionen an makeindex weiterreichen kann:

Open in writeLaTeX
% arara: nomentbl: { options: <weitere Optionen> }
Permanenter link

beantwortet 05 Mai '14, 11:32

Clemens's gravatar image

Clemens
19.0k113060

bearbeitet 12 Mai '14, 05:58

Ui! Das 1. versteh ich, das 2. mach mir Angst und Bange :) Ich habe im Dokument in der Frage schlicht

Open in writeLaTeX
%Mit arara:
% arara: pdflatex
% arara: nomencl: { style: nomentbl }
% arara: pdflatex
% arara: pdflatex
% !arara: indent: { overwrite: false, output: outputfile.tex, trace: true }

ergänzt und mit arara, wie im verlinkten Thema, kompiliert - es tut einwandfrei! Das war das mit dem 'style' im Handbuch, worunter ich mir nix vorstellen konnte. Danke!

(05 Mai '14, 12:36) cis

Soll ich die zweite Variante noch etwas ausführen? (Eigentlich ist sie aber sowieso unnötig...)

(05 Mai '14, 13:14) Clemens

Ja, sehr gern. Weil ich ich wollte mit arara ggf. noch ein paar andere Sachen machen - da schnapp ich noch Infos, wie nach Luft (manch Nützliches hab ich schon rausgelesen).

(05 Mai '14, 13:24) cis
1

@cis Ich hab noch ein bisschen was geschrieben

(05 Mai '14, 13:49) Clemens
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×46
×27
×2

Frage gestellt: 05 Mai '14, 09:18

Frage wurde angeschaut: 3,925 Mal

Zuletzt aktualisiert: 12 Mai '14, 05:58