创建包含 3 列的命名法

创建包含 3 列的命名法

我想创建一个
包含三列(SymbolBeschreibungSI-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

我已经调整了您的解决方案以获得表格格式。可能需要额外的精简,但至少它给出了所需的结果。

  1. 我使用nomentbl选项nomencl。这将生成longtable而不是 列表。
  2. 这需要包siunitx而不是SIunits
  3. 我重组了条目以符合此格式。
  4. 我将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}

在此处输入图片描述

相关内容