
Ich möchte zwischen Indextitel und Inhalt einen Text schreiben. (auch zwischen Bibliografietitel und Inhalt).
Ich habe versucht, den Titel mit dem Text neu zu definieren, aber ich hoffe, dass es eine bessere Lösung gibt, denn das hier ist zu hässlich.
Danke.
Antwort1
Angesichts der unterschiedlichen Natur von bibliography
und index
habe ich meine Antwort in zwei Teile unterteilt:
Text zwischen Bibliographietitel und Inhalt.
Diese Lösung basiert aufPatchdie thebibliography
Umgebung (mithilfe des Paketsetoolbox
und dessen Befehl \patchcmd
), um ihn Some text
vor dem Inhalt hinzuzufügen.
Ich erstelle einen Befehl \bibpreface{Text before bibliography}
dafür.
Hier ein Codebeispiel (einschließlich der .bib
Verwendung filecontents
)
\documentclass{book}
%---------------------------------
% Database .bib file
\begin{filecontents}{mydatabib.bib}
@book{goossens93,
author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
title = "The Latex Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
@book{lamport94,
author = "Leslie Lamport",
title = "Latex: A Document Preparation System",
year = "1994",
edition = "Second",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
@misc{patashnik88,
author = "Oren Patashnik",
title = "{B}ib{T}e{X}ing. Documentation for General {B}ib{T}e{X} users",
year = "1988",
howpublished = "Electronic document accompanying BibTeX
distribution"
}
\end{filecontents}
%-----------------------------------------
\usepackage{etoolbox}
\newcommand{\bibpreface}[1]{\patchcmd{\thebibliography}{\list}{#1\list}{}{}}
\begin{document}
In \cite{goossens93} we can find information very useful about \LaTeX\ and in \cite{patashnik88} there is important information about \textsc{Bib}\TeX.
\nocite{*}
\bibpreface{Text before of bibliography, and some warnings to take in account when you read the books.}
\bibliographystyle{plain}
\bibliography{mydatabib}
\end{document}
Teil des Ergebnisses (abgeschnitten)
Dieser Ansatz funktioniert auch in article
undreport
Klassen.
BEARBEITEN
Wenn Sie Ihre Bibliographie schreibenmanuelldann nur mit diesem
\documentclass{book}
\usepackage{etoolbox}
\newcommand{\bibpreface}[1]{\patchcmd{\thebibliography}{\list}{#1\list}{}{}}
\begin{document}
In \cite{goossens93} we can find information very useful about \LaTeX\ and in \cite{patashnik88} there is important information about \textsc{Bib}\TeX.
\nocite{*}
\bibpreface{Text before of bibliography, and some warnings to take in account when you read the books.
This allows change of lines.}
\begin{thebibliography}{1}
\bibitem{goossens93}
Michel Goossens, Frank Mittlebach, and Alexander Samarin.
\newblock {\em The Latex Companion}.
\newblock Addison-Wesley, Reading, Massachusetts, 1993.
\bibitem{lamport94}
Leslie Lamport.
\newblock {\em Latex: A Document Preparation System}.
\newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
\bibitem{patashnik88}
Oren Patashnik.
\newblock {B}ib{T}e{X}ing. documentation for general {B}ib{T}e{X} users.
\newblock Electronic document accompanying BibTeX distribution, 1988.
\end{thebibliography}
\end{document}
Sie erhalten das gewünschte Ergebnis.
Text zwischen Indextitel und Inhalt.
Mit der gleichen Idee definiere ich den Befehl \indexpreamble{Text}
, dieser schreibt seineTextüber die gesamte Seite (denken Sie daran, dass index
in geschrieben steht twocolumn
)
Sie müssen nur diesen Code hinzufügenVorder \makeindex
Anweisung in derPräambel des Dokuments
\usepackage{etoolbox} %If it doesn't loaded
\newlength{\oldparindent}
\setlength{\oldparindent}{\parindent}
\newcommand{\indexpreamble}[1]{\patchcmd{\theindex}{]}{\setlength{\parindent}{\oldparindent}%
\noindent#1\par\indexspace]}{}{}}
und verwenden Sie es \indexpreamble{...}
direkt vor „of “ \printindex
(oder „ \begin{theindex}
).
Antwort2
Warum nicht verwenden biblatex
? Es ist sowohl funktionsreich als auch nicht so kompliziert. Ich weiß, dass dies nicht das von Ihnen gewählte Paket ist, aber hier ist ein Vorschlag:
Das prenote
-Feld ist genau auf deinen Zweck zugeschnitten (wenn ich das richtig verstehe):
\documentclass{article}
\usepackage{filecontents}
% suggested bibliography package
\usepackage[indexing = true]{biblatex}
\addbibresource{mydatabib.bib}
\defbibnote{bib-intro}{This is where you put your bibliography prenote.}
% suggested index package
\usepackage{imakeidx}
\makeindex
\begin{filecontents}{mydatabib.bib}
@book{goossens93,
author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
title = "The Latex Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
@misc{patashnik88,
author = "Oren Patashnik",
title = "{B}ib{T}e{X}ing. Documentation for General {B}ib{T}e{X} users",
year = "1988",
howpublished = "Electronic document accompanying BibTeX
distribution"
}
\end{filecontents}
\begin{document}
In \cite{goossens93} we can find information very useful about \LaTeX\ and in \cite{patashnik88} there is important information about \textsc{Bib}\TeX.
% Printing the bibliography
\printbibliography[prenote={bib-intro}]
% Printing the index with a prenote
\indexprologue{%
Index prenote goes here. Lets make it a bit longer just for illustrating the presentation of it.
}
\printindex
\end{document}
Gibt mir:
Mit \printbibliography[prenote={bib-intro}]
legen Sie fest, welche Vornote Sie verwenden möchten, und mit \defbibnote{bib-intro}{<text>}
legen Sie den Text fest, der vorangestellt werden soll. Siehe Seite 73 desBiblatex-Dokumentation.
Beachten Sie, dass ich nur zu Illustrationszwecken die Dokumentklasse „Artikel“ anstelle von „Buch“ verwendet habe (es ist einfacher, einen Bildschirmausschnitt mit allem auf einer Seite zu erstellen).
Ich bin nicht ganz sicher, wie und welches Paket Sie den Index verwenden möchten, aber ich würde empfehlen imakeidx
.
Durch Einbeziehung
\usepackage{imakeidx}
\makeindex
Zu Ihrer Präambel und [indexing = true]
als Biblatex-Option werden Ihre bibliographischen Daten indexiert. Ich habe dieses Setup zu meinem obigen Beispiel hinzugefügt und erhalte dadurch diesen Index: