PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : abkürzungs- und symbolverzeichis



bassierf
28-03-2013, 22:07
Hallo ins Forum,

ich bin grade dabei meine Dissertation zu verfassen und habe ein paar probleme mit dem abkürzungs- und symbolverzeichnis. ich habe soweit eine unterteilung schon hingekriegt, d.h. die abkürzungen laufen unter chemisch, formelzeichen etc. nun will ich meine formelzeichen mit der entsprechenden einheit versehen, die ich als alter physiker in eckigen klammern schreiben muss.
das schema hierfür ist: symbol [einheit] beschreibung
das habe ich auch soweit hingekriegt, jedoch sind die einheiten nicht einheitig in ihrer spalte linksbündig (siehe anhang). das möchte ich ändern. zum anderen möchte ich punkte zwischen den einzelnen spalten haben:
symbol...[einheit]...beschreibung
das ist (siehe anhang) mir bis jetzt auch noch nicht gelungen.
im rahmen einer umfangreichen recherche in eurem forum ist es mir nicht gelungen auf dieses zugegeben sehr spezielle problem eine probate lösung zu finden. sollte es bereits eine geben bitte ich um nachsicht und einen kurzen hinweis.
hier mein minimalbeispiel:



%Abkürzungsverzeichnis
\usepackage[intoc]{nomencl}
% Befehl umbenennen in abk
\let\abk\nomenclature
% Deutsche Überschrift
\renewcommand{\nomname}{Abkürzungsverzeichnis}
% Punkte zw. Abkürzung und Erklärung
\setlength{\nomlabelwidth}{.20\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
% Zeilenabstände verkleinern
\setlength{\nomitemsep}{-\parsep}
%das verzeichnis erstellen
\makenomenclature


%um die unterteilung hinzubekommen
\renewcommand{\nomname}{Abkürzungs- und Symbolverzeichnis}
\setlength{\nomlabelwidth}{.30\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\itemsep}
\renewcommand{\nomgroup}[1]{%
\renewcommand{\makelabel}[1][]{##1}
\item[~]
\ifthenelse{\equal{#1}{A}}{%
\item[\textbf{Allgemeine Abkürzungen}]}{%
\ifthenelse{\equal{#1}{C}}{%
\item[\textbf{Chemische Abkürzungen}]}{%
\ifthenelse{\equal{#1}{S}}{%
\item[\textbf{Formelsymbol}]}{%
}}}%
\item[~]
\let\makelabel\nomlabel
}

%um Einheiten in das Formelzeichenverzeichnis zu bekommen
\newcommand*\nomunit[1]{\hfill\parbox{5em}{#1}}

\begin{document}
% Abkürzungsverzeichnis einbinden
\input{Inhalt/Glossar}
\end{document}

die einzelnen einträge laufen (bei den formelzeichen) nach dem muster


\nomenclature[S]{$k$\nomunit{[$\frac{eV}{K}$]}}{Boltzmann-Kontstante}


ich hoffe ihr findet hierfür eine lösung. danke im voraus.

grüße
f.bassier

rais
29-03-2013, 19:45
Hallo und Herzlich willkommen :)


nun will ich meine formelzeichen mit der entsprechenden einheit versehen, die ich als alter physiker in eckigen klammern schreiben muss.

das verstehe ich nicht. Wie alt muss ein Physiker sein, damit er Einheiten in eckigen Klammern angeben muss?
AFAIR heißt es bei einer Größenangabe für ein beliebiges Symbol x:
x = {x} [x], wobei
{x} den Zahlenwert und [x] das Einheitszeichen darstellt.
Bei z. B. U = 5 V wäre {U} = 5 und [U] = V.
Mit anderen Worten: [...] heißt soviel wie `Einheit von ...'
Zumindest dachte ich das. Vllt kannst Du mir als `alter' Physiker erklären, warum das bei Dir anders sein soll.


hier mein minimalbeispiel:

Nö, das ist keins. Schau Dir bitte die hiesige Anleitung zur Erstellung eines Minmalbeispiels (http://www.mrunix.de/forums/showthread.php?t=66921) an. Denke dabei vllt an eine Art Versuchsaufbau, der das von Dir beobachtete Verhalten zu demonstrieren vermag.

PS) Deine Shift-Taste klemmt wohl...

MfG

bassierf
12-04-2013, 21:07
Ich widme mich nach etwas längerer Zeit mal wieder dem Thema Formalien meiner Dissertation. Die ist de facto fertig, jedoch möchte ich mich noch ein wenig dem Layout widmen.

@rais: Die von Dir dargelegten Anmerkungen zu meiner Einheitenbeschreibung nehme ich mit Freude zur Kenntnis. Inhaltliche Hinweise hatte ich hier nicht erwartet. Dennoch weise ich darauf hin, dass das keinen Widerspruch zu meiner Art Einheiten zu beschreiben darstellt. Das ist ja aus dem Bild im Anhang zu erkennen. Man kann nun noch diskutieren ob runde Klammern auch akzeptabel sind, aber ich denke das ist hier vllt. etwas fehl am Platze. Mein Doktorvater ist jetzt auch nicht so perfide, um sich in solche Marginalitäten reinzusteigern.

Ich habe dezente Schwierigkeiten ein lauffähiges Minimalbeispiel zu finden, da man für ein Abkürzungsverzeichnis rel. viele Punkte einbinden muss und mir das anscheinend nicht vollkommen gelingt. Trotzdem möchte ich betonen, dass ich einen Großteil meiner Arbeitszeit gestern und heute auf dieses Thema verwendet habe. LATEX ist jetzt auch nicht die Sprache mit der ich mich täglich auseinandersetze und in der ich über allzu fundierte Kenntnisse verfüge.

Aus den von mir beschriebenen Programmcode ist m.E. dennoch die Struktur, wie ich das Verzeichnis aufgebaut habe, ersichtlich.
Es geht mir darum, dass man, wie in einer Tabelle drei Spalten erhält, die bündig sind und der Zwischenraum mit einer Reihe von Punkten gefüllt wird. Im Moment ist das offensichtlich nicht der Fall (siehe Anhang). Das entscheidende, und hierauf bezieht sich explizit meine Frage, ist also eine Struktur zu finden, in der man dies erhält. Ich denke, dass sollte möglich sein, mir fällt jedoch trotz intensiver Überlegungen offen gesagt nichts ein.

Ich würde mich über eine sachdienliche Antwort freuen und danke im Voraus.

Grüße
F.Bassier

ctansearch
12-04-2013, 22:19
Wenn ich es richtig verstehe, willst Du Tabellenspalten mit Punkten verbinden.
Wenn Du dies innerhalb der Spalten versuchst, gibt es keine Regelmäßigkeit, deshalb sieht das vermutlich sehr häßlich aus. Du könntest aber eine gepunktete Spalte dazwischenschalten und die Inhalte der Zellen einrücken.



\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{longtable}
\begin{document}
\begin{longtable}{p{1cm}p{1cm}p{1cm}}
\caption{Abkürzungsverzeichnis}\\
\hfill test &\dotfill& test \hfill \\
\end{longtable}
\end{document}

bobmalaria
12-04-2013, 22:32
so,

ich hatte mir ja fest vorgenommen nie zu nomencl was zu schreiben damit langsam alle glossaries verwenden. aber jetzt ist das kind schon in den brunnen gefallen.

ich kann nur eine teillösung anbieten. schau dir an ob es in deinem dokument was bringt.

also. es gibt das paket nomentbl, das die darstellung von verzeichnissen in tabellenform erlaubt. das war mein ansatzpunkt.

so wie du bisher die unit definiert hast kann man das leider nicht verwenden da es die unit ans ende des eintrags klatscht


\documentclass{article}

\usepackage{nomentbl}

\makenomenclature


%\nomenclature[prefix]{symbol}{description}{units}{dimension}

\begin{document}
bla
\nomenclature[AF]{$F$}{Force}{N}{}%
\nomenclature[Am]{$m$}{mass}{kg}{}%
\nomenclature[Ga]{$\alpha$}{acceleration}{m/s$^2$}{}%

\printnomenclature

\end{document}

der aufruf von makeindex ändert sich damit zu

makeindex -s nomentbl.ist -o datei.nls datei.nlo

wobei datei natürlich dein texdateiname ist.

um jetzt die punkte zu bekommen muss man im paket und in der index stil datei ist herumpfuschen

speichere das als nomentbl.sty in deinen projektordner


%%
%% This is file `nomentbl.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% nomentbl.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% Copyright (C) 2006 by Brian Elmegaard <be@mek.dtu.dk>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.2 of this license
%% or (at your option) any later version. The latest version of this
%% license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 1.2 or later is part of all distributions of LaTeX version
%% 1999/12/01 or later.
%%
%% The file is based on skeleton.ins in the dtxtut package by Scott Pakin
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{nomentbl}
[2006/04/14 v0.4 Nomenclature in a longtable environment]


\def\docdate{2006/04/14}
\newif\if@intoc
\RequirePackage{longtable}
\RequirePackageWithOptions{nomencl}[2005/09/22 v4.2 Nomenclature package (LN)]
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{array}
\DeclareOption{intoc}{\@intoctrue}
\DeclareOption{notintoc}{\@intocfalse}
\DeclareOption*{%
\PassOptionsToPackage{\CurrentOption}{nomencl}%
}
\DeclareOption{croatian}{%
\def\eqdeclaration#1{jednad\v{z}bu\nobreakspace(#1 )}%
\def\pagedeclaration#1{\hspace*{2mm}stranica\nobre akspace#1}%
\def\nomname{Popis simbola}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{danish}{%
\def\eqdeclaration#1{ligning\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}side\nobreaksp ace#1}%
\def\nomname{Symbolliste}%
\def\nomAname{Romerske bogstaver}%
\def\nomGname{Græske bogstaver}%
\def\nomXname{(Højtstillede) indices}%
\def\nomZname{Indices}}
\DeclareOption{english}{%
\def\eqdeclaration#1{equation\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}page\nobreaksp ace#1}%
\def\nomname{Nomenclature}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{french}{%
\def\eqdeclaration#1{\'equation\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}page\nobreaksp ace#1}%
\def\nomname{Liste des symboles}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{german}{%
\def\eqdeclaration#1{Gleichung\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}Seite\nobreaks pace#1}%
\def\nomname{Symbolverzeichnis}%
\def\nomAname{Lateinische Buchstaben}%
\def\nomGname{Griechische Buchstaben}%
\def\nomXname{(hochgestellte) Indizes}%
\def\nomZname{Indizes}}
\DeclareOption{italian}{%
\def\eqdeclaration#1{equazione\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}pagina\nobreak space#1}%
\def\nomname{Elenco dei Simboli}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{polish}{%
\def\eqdeclaration#1{rownanie\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}strona\nobreak space#1}%
\def\nomname{Lista symboli}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{portuguese}{%
\def\eqdeclaration#1{equa\c{c}\~ao\nobreakspace(#1 )}%
\def\pagedeclaration#1{\hspace*{2mm}p\'agina\nobre akspace#1}%
\def\nomname{Nomenclatura}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{russian}{%
\def\eqdeclaration#1{\cyrs\cyrm.\nobreakspace(#1)} %
\def\pagedeclaration#1{\hspace*{2mm}\cyrs\cyrt\cyr r.\nobreakspace#1}%
\def\nomname{\CYRS\cyrp\cyri\cyrs\cyro\cyrk%
\ \cyro\cyrb\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyr i%
\cyrishrt}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{spanish}{%
\def\eqdeclaration#1{ecuaci\'on\nobreakspace(#1)}%
\def\pagedeclaration#1{\hspace*{2mm}p\'agina\nobre akspace#1}%
\def\nomname{Nomenclatura}%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\DeclareOption{ukrainian}{%
\def\eqdeclaration#1{\cyrd\cyri\cyrv.\nobreakspace (#1)}%
\def\pagedeclaration#1{\hspace*{2mm}\cyrs\cyrt\cyr o\cyrr.\nobreakspace#1}%
\def\nomname{\CYRP\cyre\cyrr\cyre\cyrl\cyrii\cyrk%
\ \cyrp\cyro\cyrz\cyrn\cyra\cyrch\cyre\cyrn\cyrsftsn }%
\def\nomAname{Latin Letters}%
\def\nomGname{Greek Letters}%
\def\nomXname{Superscripts}%
\def\nomZname{Subscripts}}
\ExecuteOptions{notintoc,norefeq,norefpage,prefix, cfg,english}
\ProcessOptions\relax
\def\@@nomenclature[#1]#2#3#4#5{\endgroup\@esphack}
\def\@@@nomenclature[#1]#2#3#4#5{%
\def\@tempa{#2}\def\@tempb{#3}%
\protected@write\@nomenclaturefile{}%
{\string\nomenclatureentry{#1\nom@verb\@tempa @{\nom@verb\@tempa}&%
\begingroup#4\endgroup &\string\dotfill &\begingroup\nom@verb\@tempb\endgroup&%
\begingroup#5\endgroup&\begingroup\protect\nomeqref{\theequation}%
|nompageref}{\thepage}}%
\endgroup
\@esphack}

\def\thenomenclature{%
\@ifundefined{chapter}%
{
\section*{\nomname}
\if@intoc\addcontentsline{toc}{section}{\nomname}\ fi%
}%
{
\chapter*{\nomname}
\if@intoc\addcontentsline{toc}{chapter}{\nomname}\ fi%
}%
\markboth{\nomname}{\nomname}
\nompreamble
}

\def\endthenomenclature{%
\endlist
\nompostamble}

\renewcommand\nomgroup[1]{%
\ifthenelse{\equal{#1}{A}}{%
\large{\nomAname}}{%
\ifthenelse{\equal{#1}{G}}{%
\large{\nomGname}}{%
\ifthenelse{\equal{#1}{X}}{%
\large{\nomXname}}{%
\ifthenelse{\equal{#1}{Z}}{%
\large{\nomZname}}{%
{}}}}}}

%%
%%


\endinput
%%
%% End of file `nomentbl.sty'.



speichere das als nomentbl.ist in deinen projektordner


%%
%% This is file `nomentbl.ist',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% nomentbl.dtx (with options: `idxstyle')
%%
%% Copyright (C) 2006 by Brian Elmegaard <be@mek.dtu.dk>
%%
%% This file can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License distributed from CTAN
%% archives in the directory macros/latex/base/lppl.txt; either
%% version 1.2 of the license, or (at your option) any later version.
%%
%% Nomenclature style file for MAKEINDEX.
%% For nomentbl v0.4
%%
%% Written by Brian Elmegaard
%%



actual '@'
quote '%'
delim_0 ""
delim_1 ""
delim_2 ""
item_0 ""
delim_t " \\\\\n"
line_max 1000
heading_prefix "\\multicolumn{3}{l}{\\nomgroup{"
heading_suffix "}} \\\\\n\\nopagebreak\\\\*[\\parskip]\n\\nopagebreak{}"
headings_flag 1
group_skip "\\\\*[\\parskip]"
preamble "\n\\begin{thenomenclature}\n%
\\begin{longtable}[l]%
{p{\\textwidth*\\real{0.1}}p{\\textwidth*\\real{0. 1}}p{\\textwidth*\\real{0.4}}l!{\\extracolsep{\\fi ll}}ll}\n"
postamble "\n\\end{longtable}\n\n\\end{thenomenclature}\n"
keyword "\\nomenclatureentry"

%%
%%


\endinput
%%
%% End of file `nomentbl.ist'.


ausgabe ist dann sowas

http://www.mrunix.de/forums/attachment.php?attachmentid=5667&stc=1&d=1365802292

nur um es zu erwähnen, in glossaries hätte mich die änderung 2min gekostet, so ca 30.

gruss

bassierf
20-04-2013, 21:06
Danke für die Schnelle Hilfe.

Die Implementierung in meinen Code ist mir nach etwas längerer Einarbeitungszeit gelungen, wobei mir nomentbl oder allgemein nomencl doch arg komplex und umständlich erscheint.

Mein Problem ist nun, dass wenn die Einträge zu lang werden einfach der rest abgeschnitten wird (siehe Anhang).

Der Eintrag müsste einfach in die nächste Zeile weitergeführt werden. Ich denke das sollte im Bereich des möglichen liegen. Danke im Voraus.

Grüße
F.bassier

bobmalaria
20-04-2013, 22:09
hi,

ja das liegt daran das ich die spalte innerhalb der tabelle als einfache 'l' spalte gestaltet hatte. die kann keinen zeilenumbruch.

versuche mal


ALT:

{p{\\textwidth*\\real{0.1}}p{\\textwidth*\\real{0. 1}}p{\\textwidth*\\real{0.4}}l!{\\extracolsep{\\fi ll}}ll}\n"

NEU:

{p{\\textwidth*\\real{0.1}}p{\\textwidth*\\real{0. 1}}p{\\textwidth*\\real{0.4}}p{\\textwidth*\\real{ 0.4}}!{\\extracolsep{\\fill}}ll}\n"

hab das nicht ausprobiert, aber sollte so eigentlich gehen.

gruss

PS: wie ich geschrieben habe, das ist extrem umständlich in nomencl. es ist einfach nicht dafür gemacht worden. in der zwischenzeit ist mit glossaries meiner meinung nach ein flexibleres paket vorhanden.
wer das hier liest und sich generell für ein abkürzungsverzeichnis interessiert, der sollte sich direkt glossaries ansehen. auf http://texfragen.de/ habe ich dazu ein längeren artikel geschrieben, inkl formelzeichenverzeichnis etc. ales schön flexibel gestaltbar