Latex plottet einen Teil des Indexverzeichnisses falsch

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: Latex plottet einen Teil des Indexverzeichnisses falsch

von Blaecki1994 » So 29. Dez 2019, 13:25

Hallo Bartman, hallo u_fischer,

vielen Dank für eure Hinweise und Tipps!! Problem hat sich gelöst.

von u_fischer » Fr 27. Dez 2019, 18:54

du hast dich in deinen \ifthenelse-Schachtelungen verlaufen. Der letzten fehlt der else-Zweig.

Ich würde ifthenelse vermeiden:




Verwende nicht lmodern, helvet und inputenc zusammen mit lualatex und xelatex.

\documentclass[duplex,twoside,openright,parskip=half-]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{fontspec}
\setmainfont{TeX Gyre Heros}


\usepackage{geometry}
\geometry{a4paper, top=30mm, bottom=35mm, inner=40mm, outer=25mm, headsep=15mm, footskip=23mm}

\usepackage{fancyhdr}
\pagestyle{fancy}

\renewcommand{\dotfill}{\leaders\hbox to 9pt{\hss.\hss}\hfill}

%-------------Nomenclature Einstellungen-------------
\usepackage[refpage,intoc]{nomencl}
%Pagenumber in nomenclature
\renewcommand{\pagedeclaration}[1]{{\hfill #1}}
\renewcommand{\nompreamble}{\vspace{3em}}
\renewcommand{\nompostamble}{}%{\footnotesize Unless otherwise noted, metrical (SI) units are used in this document}
\newcommand{\nomunit}[1]{\hfill[\parbox{.06\textwidth}{\centering $#1$}]} %.06\textwidth ändern wenn Einheitenklammen zu schmal
\newlength{\nomentrywidth}
\setlength{\nomentrywidth}{.76\textwidth} %76

%Case with or without unit
\newcommand{\mynomenclature}[4][A]{%
    \ifthenelse{\equal{#4}{}}%
    {\nomenclature[#1]{#2}{\parbox[b]{\nomentrywidth}{#3 \dotfill.}}}%
    {\nomenclature[#1]{\parbox[tt]{2.9cm}{#2\nomunit{#4}\hspace{1.5em}}}{\parbox[m]{\nomentrywidth}{#3 \dotfill.}}}%
}

%Gruppierung
%A Abkürzungen
%F Formelzeichen
%I Indizes

\newcommand\nomgrouptitleA{Abkürzungen}
\newcommand\nomgrouptitleF{Formelzeichen}
\newcommand\nomgrouptitleI{Indizes}

\def\nomname{Symbolverzeichnis}

\renewcommand{\nomgroup}[1]{%
      \vspace{2em}\item[]\hspace*{-\leftmargin}%
      \hfill \textbf{\csname nomgrouptitle#1\endcsname}%
      \hfill\mbox{}%
      }

\makenomenclature

\begin{document}

\printnomenclature[3cm] %number defines the width of the left entries %3

\mynomenclature[A]{Abv1}{These are all correct}{}
\mynomenclature[A]{Abv2}{These are all correct}{}

\mynomenclature[F]{Abv1}{These are all correct}{$\frac{m}{s}$}
\mynomenclature[F]{Abv2}{These are all correct}{$\frac{m}{s}$}

\mynomenclature[I]{x}{This one is incorrect}{}
\mynomenclature[I]{y}{This one is correct}{}

\end{document}

von Bartman » Do 26. Dez 2019, 15:54

Bild

Da ich mich mit nomencl nicht auskenne, möchte ich ein paar Off-Topic-Bemerkungen zum Besten geben:

Du verarbeitest Deinen LaTeX-Quelltext wegen des Ladens von fontspec mit Lua- oder XeLaTeX, andernfalls dürftest Du mit pdfLaTeX eine Fehlermeldung bekommen. Die Ladebefehle für inputenc und lmodern werden nicht mehr
gebraucht: Wie steige ich auf Xe/LuaLaTeX um?

subfigure ist veraltet.

pdflscape lädt lscape.

hyperref lädt url und sollte, bis auf einige Ausnahmen, als letztes Paket geladen werden.

Wenn Du float lädst, um das Gleiten von Gleitumgebungen zu unterbinden, dann könnte Dich diese Frage auf TeXwelt interessieren.

Verwende weder tocbibind noch fancyhdr mit einer KOMA-Script-Klasse.

Die Klasse kann einige Fähigkeiten des Pakets caption selber bereitstellen.

Für das Einstellen des Einzugs und des Abstands eines Absatzes bietet die Klasse den Befehl \setparsizes an. In Deinem Fall führt das zu \setparsizes{0pt}{1em}{0pt plus 1fil}.

Latex plottet einen Teil des Indexverzeichnisses falsch

von Blaecki1994 » Do 26. Dez 2019, 13:57

Hallo zusammen,

ich habe eine Frage bezüglich des Indexverzeichnisses. Dafür benutze ich das package "nomencl". Innerhalb dieses Verzeichnisses nutze ich 3 verschiedene Gruppen, Abkürzungen, Formelzeichen und Indizes. Es kann je nach Variable immer die Abkürzung, die Beschreibung und eine Einheit angegeben werden.

Das funktioniert auch sehr gut, außer für die Gruppe Indizes (siehe Bild). Ich habe versucht verschiedene Parameter zu ändern, jedoch ohne Erfolg. Es wird immer nur die erste Zeile falsch geplottet, danach wird es korrekt dargestellt. Kennt jemand dieses Problem und kann hier unterstützen?

Vielen Dank im Voraus und frohe Weihachten! :)

Beste Grüße
Blaecki

Anbei ein Minimalbeispiel:
\documentclass[duplex,twoside,openright]{scrreprt}

\usepackage[scaled]{helvet}
\renewcommand\familydefault{\sfdefault} 
\usepackage{fontspec}
\usepackage{pgfplots}
\usepackage{subfigure}
\setcounter{secnumdepth}{3}
\usepackage{lscape}
\usepackage{pdflscape}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{changepage}
\usepackage{amsmath, amsfonts, amssymb}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
\usepackage{setspace}
\usepackage{siunitx}
\usepackage{url}
\usepackage{float}
\usepackage{ifthen}
\usepackage{calc}
\usepackage{caption}
\usepackage{tocbibind}
\usepackage{lmodern}

\setlength{\parindent}{0pt}     % kein Einrücken nach Absatz
\setlength{\parskip}{1em}       % Abstand nach Absatz

\usepackage{geometry}
\geometry{a4paper, top=30mm, bottom=35mm, inner=40mm, outer=25mm, headsep=15mm, footskip=23mm}

\usepackage{fancyhdr}
\pagestyle{fancy} 

\renewcommand{\dotfill}{\leaders\hbox to 9pt{\hss.\hss}\hfill}

%-------------Nomenclature Einstellungen-------------
\usepackage[refpage,intoc]{nomencl}
%Pagenumber in nomenclature
\renewcommand{\pagedeclaration}[1]{{\hfill #1}}
\renewcommand{\nompreamble}{\vspace{3em}}
\renewcommand{\nompostamble}{}%{\footnotesize Unless otherwise noted, metrical (SI) units are used in this document}
\newcommand{\nomunit}[1]{\hfill[\parbox{.06\textwidth}{\centering $#1$}]} %.06\textwidth ändern wenn Einheitenklammen zu schmal
\newlength{\nomentrywidth}
\setlength{\nomentrywidth}{.76\textwidth} %76

%Case with or without unit
\newcommand{\mynomenclature}[4][A]{%
    \ifthenelse{\equal{#4}{}}%
    {\nomenclature[#1]{#2}{\parbox[b]{\nomentrywidth}{#3 \dotfill.}}}%
    {\nomenclature[#1]{\parbox[tt]{2.9cm}{#2\nomunit{#4}\hspace{1.5em}}}{\parbox[m]{\nomentrywidth}{#3 \dotfill.}}}%
}

%Gruppierung
%A Abkürzungen
%F Formelzeichen
%I Indizes

    \def\nomname{Symbolverzeichnis}
    \renewcommand{\nomgroup}[1]{%
        \ifthenelse{\equal{#1}{A}}{\vspace{2em}\item[]\hspace*{-\leftmargin}%
            \hfill \textbf{Abkürzungen} \hfill \hbox{}}{%
            \ifthenelse{\equal{#1}{F}}{\vspace{2em}\item[]\hspace*{-\leftmargin}%
                \hfill \textbf{Formelzeichen} \hfill
                \hbox{}}{%
                \ifthenelse{\equal{#1}{I}}{\vspace{2em}\item[]\hspace*{-\leftmargin}%
                    \hfill \textbf{Indizes} \hfill \hbox{}}}}}


%Varinfo
\newcommand{\varinfo}[4][A]{\parbox[tt]{.1\textwidth}{\hfill}\parbox[tt]{.2\textwidth}{#2~[$#4$]~\dotfill.}\parbox[tt]{.6\textwidth}{#3}\mynomenclature[#1]{#2}{#3}{#4}\\[6pt]}
\newcommand{\varinfomod}[4][A]{\parbox[tt]{.1\textwidth}{\hfill}\parbox[tt]{.2\textwidth}{#2~[$#4$]~\dotfill.}\parbox[tt]{.6\textwidth}{#3}\\[6pt]}

\def\deg{\ensuremath{^{\circ}}}
\newcommand{\myfrac}[2]{\displaystyle\frac{#1}{#2}}
%--------------------------------------------------------


\makeindex

\makenomenclature

\begin{document}

\printnomenclature[3cm] %number defines the width of the left entries %3

\mynomenclature[A]{Abv1}{These are all correct}{}
\mynomenclature[A]{Abv2}{These are all correct}{}

\mynomenclature[F]{Abv1}{These are all correct}{$\frac{m}{s}$}
\mynomenclature[F]{Abv2}{These are all correct}{$\frac{m}{s}$}

\mynomenclature[I]{x}{This one is incorrect}{}
\mynomenclature[I]{y}{This one is correct}{}

\end{document}
Dateianhänge
Fehlerhaftes Symbolverzeichnis
Fehlerhaftes Symbolverzeichnis
Symbolverzeichnis.png (11.98 KiB) 6637 mal betrachtet

Nach oben