我想创建一个
包含三列(Symbol
、Beschreibung
、SI-Einheit
)的命名法。
因此它应如下所示:
我的代码
\documentclass[
pdftex,a4paper,11pt,oneside,fleqn,
bibliography=totoc,listof=totoc,
headlines=2.1,headsepline,
numbers=noenddot
]{scrreprt}
%%%----- Mathe ----------------------------------
\usepackage{amsmath,amsfonts,amssymb,bm}
\usepackage[squaren,textstyle]{SIunits}
\usepackage{icomma}
\usepackage{mathtools}
\usepackage[makeroom]{cancel}
\usepackage{trfsigns}
%%%----- Abkürzungsverzeichnis ------------------
\usepackage[intoc]{nomencl}
\usepackage{ifthen}
\let\abk\nomenclature % Befehl umbenennen in abk
\renewcommand{\nomname}{Abkürzungsverzeichnis} % Deutsche Überschrift
\setlength{\nomlabelwidth}{.20\hsize} % Punkte zw. Abkürzung und Erklärung
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep} % Zeilenabstände verkleinern
\makenomenclature
%\pagestyle{scrheadings}
%Aufruf für Abkürzungsverzeichnis im Text durch: \abk{Abkürzung}{Beschreibung}
%%%----- Symbolverzeichnis ----------------------
%Um ein zusätzliches Symbolverzeichnis zu generieren wird mit Hilfe des Pakets nomencl noch ein zweiter Index erstellt. Dazu dienen die folgenden Befehle:
\renewcommand{\nompreamble}{\markboth{\nomname}{\nomname}}
\newcommand{\nomaltname}{Symbolverzeichnis}
\newcommand{\nomaltpreamble}{\markboth{\nomaltname}{\nomaltname}}
\newcommand{\nomaltpostamble}{}
\newcommand{\switchnomitem}{S}
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{\switchnomitem}}{\switchnomalt}{}}
\newcommand{\switchnomalt}{%
\end{thenomenclature}
\renewcommand{\nomname}{\nomaltname}
\renewcommand{\nompreamble}{\nomaltpreamble}
\renewcommand{\nompostamble}{\nomaltpostamble}
\begin{thenomenclature}
}
%%%--------------------------------------------------------
%%%----- Beginn Dokument ----------------------------------
\begin{document}
\printnomenclature
\begin{equation}
F_{\mathrm{L}} = i \cdot l \cdot B
\end{equation}
\abk[s]{$F_{\mathrm{L}}$}{Lorentzkraft [N]}
\abk[s]{$B$}{Flussdichte [V s $\mathrm{m}^{-2}$]}
\abk{ESB}{Ersatzschaltbild}
\end{document}
我目前的版本是:
创建条目的命令\abk[s]{xy}{zx}
应该仍然相同。
答案1
我已经调整了您的解决方案以获得表格格式。可能需要额外的精简,但至少它给出了所需的结果。
- 我使用
nomentbl
选项nomencl
。这将生成longtable
而不是 列表。 - 这需要包
siunitx
而不是SIunits
。 - 我重组了条目以符合此格式。
- 我将
longtable
标题添加到了您的宏中\switchnomalt
。
\documentclass[
pdftex,a4paper,11pt,oneside,fleqn,
bibliography=totoc,listof=totoc,
headlines=2.1,headsepline,
numbers=noenddot
]{scrreprt}
%%%----- Mathe ----------------------------------
\usepackage{amsmath,amsfonts,amssymb,bm}
\usepackage{siunitx}
\usepackage{icomma}
\usepackage{mathtools}
\usepackage[makeroom]{cancel}
\usepackage{trfsigns}
%%%----- Abkürzungsverzeichnis ------------------
\usepackage[intoc,nomentbl]{nomencl}
\usepackage{ifthen}
\let\abk\nomenclature % Befehl umbenennen in abk
\renewcommand{\nomname}{Abkürzungsverzeichnis} % Deutsche Überschrift
\setlength{\nomlabelwidth}{.20\hsize} % Punkte zw. Abkürzung und Erklärung
\renewcommand{\nomlabel}[1]{#1 \dotfill}
\setlength{\nomitemsep}{-\parsep} % Zeilenabstände verkleinern
\makenomenclature
%\pagestyle{scrheadings}
%Aufruf für Abkürzungsverzeichnis im Text durch: \abk{Abkürzung}{Beschreibung}
%%%----- Symbolverzeichnis ----------------------
%Um ein zusätzliches Symbolverzeichnis zu generieren wird mit Hilfe des Pakets nomencl noch ein zweiter Index erstellt. Dazu dienen die folgenden Befehle:
\renewcommand{\nompreamble}{\markboth{\nomname}{\nomname}}
\newcommand{\nomaltname}{Symbolverzeichnis}
\newcommand{\nomaltpreamble}{\markboth{\nomaltname}{\nomaltname}}
\newcommand{\nomaltpostamble}{}
\newcommand{\switchnomitem}{S}
\renewcommand{\nomgroup}[1]{%
\ifthenelse{\equal{#1}{\switchnomitem}}{\switchnomalt}{}}
\newcommand{\switchnomalt}{%
\end{thenomenclature}
\renewcommand{\nomname}{\nomaltname}
\renewcommand{\nompreamble}{\nomaltpreamble}
\renewcommand{\nompostamble}{\nomaltpostamble}
\begin{thenomenclature}
\hline & Symbol & Beschreibung & SI-Einheit \\ \hline
}
%%%--------------------------------------------------------
%%%----- Beginn Dokument ----------------------------------
\begin{document}
\printnomenclature
\begin{equation}
F_{\mathrm{L}} = i \cdot l \cdot B
\end{equation}
\abk[s]{$F_{\mathrm{L}}$}{Lorentzkraft}{N}{}
\abk[s]{$B$}{Flussdichte}{V s m^{-2}}{}
\abk{ESB}{Ersatzschaltbild}{}{}
\end{document}