包 natbib:将文内引用 [Johnson 1990] 更改为

包 natbib:将文内引用 [Johnson 1990] 更改为

我正在使用natbib,我想更改文内引用。如果作者和年份是 Johnson 1990,则输出应为 [Joh1990],我想natbib打印作者和年份的前三个字母而不留空格。但我不知道如何设置命令来缩短名称。

\documentclass[a4paper,parskip,11pt,listof=totoc,bibliography=totoc,openright]{scrbook}
% Kopf- und Fußzeile mit Separationslinie
%\usepackage[automark,footsepline,plainfootsepline,headsepline,plainheadsepline]{scrpage2} 
\usepackage[automark,footsepline,plainfootsepline,headsepline]{scrpage2} 
% Seitenränder einstellen
\usepackage[left=2.5 cm, right=2.5 cm, top=2.5 cm, bottom=3 cm]{geometry}
% Seitenstil definieren
\pagestyle{scrheadings}
% Kapitel bzw. Unterkapitel in Kopfzeile
\automark[section]{chapter} 

% ngerman = Deutsch (bspw. table of contents übersetzen) + neue Rechtschreibung (sonst german)
\usepackage[ngerman]{babel} 
% inputenc = ä,ö,ü wird erkannt % Dokument ist utf8-kodiert, nicht latin wie vorgegeben! 
\usepackage[utf8]{inputenc} 
 \usepackage[T1]{fontenc}
% beinhaltet u. a. \usepackage{array} % für Tabellen
\usepackage{amsmath}  
% positioniert die Tabellen (und Bilder?) an den Anfang der chapter (sonst sind sie da, wo Platz ist)
\usepackage[section]{placeins}  
%für Bilder
\usepackage{graphicx}

% Beispieltext
\usepackage{blindtext}

% Zitationsstil laden, Verzeichnisname auf chapter-Ebene setzen (für Inhaltsverzeichnis und Kopfzeile)
\usepackage[sectionbib,square]{natbib}
% Kurzzitatverwendung:
\newcommand{\shortcite}[1]{\cite{#1}} % XXX weiter: gucken was man verändern muss für shortcite in .bib
%Einbindung deutsche Klammern
\usepackage[babel,german=guillemets]{csquotes}
% Abkürzungsverzeichnis
\usepackage[printonlyused]{acronym}
%Inkludieren von pdf
\usepackage{pdfpages} % Befehl: \includepdf[pages={5,8,10-14}]{Dokumentname.pdf}
% vollkommen leere Seiten
\usepackage[clearempty]{titlesec}
%Fußnoten durchgängig nummerieren, nicht kapitelweise 
\usepackage{chngcntr} 
\counterwithout{footnote}{chapter}
% \usepackage{hyperref} % klicken und springen
%package glossaries
\usepackage{glossaries}
% alt:  \newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}
% den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}
% Glossar-Befehle anschalten
\makeglossaries


 \begin{document}


text text text [Vgl. \cite{Wittgruber2002}, S. 131].  % [LLL Wittgruber S. 131]
text text text [Vgl. \cite{Etschberger1994}, S. 1]. \\ % [LLL Etschberger S. 1]. XX hier also: 

\bibliographystyle{natdin}
%\bibliographystyle{natbib}
%Einbinden der BiBTex-Datei "literaturverzeichnis3" (Muss im selben Verzeichnis liegen wie .tex-Datei)- An die Stelle, wo das LV hin soll
% wenn neue Datei: hier F7, dann Ausgabe->BibTex, dann noch 2x F7. Falls es nicht funktioniert Style ändern
\bibliography{literaturverzeichnis3}


 \end{document}


% entries of bib-file literaturverzeichnis3:
%
%@book{Etschberger1994,
 %author = {Etschberger, Konrad},
 %year = {1994},
 %title = {{C}ontroller-{A}rea-{N}etwork ; {G}rundlagen, {P}rotokolle, {B}austeine, {A}nwendungen},
 %address = {M{\"u}nchen [u.a.]},
 %edition = {2},
 %publisher = {Hanser},
 %isbn = {3446175962}
%}
%
%
%@book{Wittgruber2002,
 %author = {Wittgruber, Friedrich},
 %year = {2002},
 %title = {{D}igitale {S}chnittstellen und {B}ussysteme: {E}inf{\"u}hrung f{\"u}r das technische {S}tudium ; mit 8 {T}abellen},
 %address = {Braunschweig and Wiesbaden},
 %edition = {2},
 %publisher = {Vieweg},
 %isbn = {9783528174361},
 %series = {{S}tudium {T}echnik}
%}

答案1

一种可能性是使用alpha书目样式。这需要numbers向 natbib 添加选项:

\usepackage[sectionbib,square,numbers]{natbib}

并替换参考书目样式:

\bibliographystyle{alpha}

代替

\bibliographystyle{natdin}

然后我得到:

文本输出

参考书目

相关内容