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, 15:18

cis's gravatar image

cis
9.5k74452491
Akzeptiert-Rate: 29%

bearbeitet 05 Mai '14, 19: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, 17:32

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 12 Mai '14, 11: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, 18:36) cis

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

(05 Mai '14, 19:14) cgnieder

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, 19:24) cis
1

@cis Ich hab noch ein bisschen was geschrieben

(05 Mai '14, 19:49) cgnieder
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×77
×30
×2

gestellte Frage: 05 Mai '14, 15:18

Frage wurde gesehen: 12,383 Mal

zuletzt geändert: 12 Mai '14, 11:58