![包 natbib:将文内引用 [Johnson 1990] 更改为](https://linux22.com/image/268799/%E5%8C%85%20natbib%EF%BC%9A%E5%B0%86%E6%96%87%E5%86%85%E5%BC%95%E7%94%A8%20%5BJohnson%201990%5D%20%E6%9B%B4%E6%94%B9%E4%B8%BA%20.png)
我正在使用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}
然后我得到: