Text zwischen Bibliografietitel und Inhalt mithilfe des Multibib-Pakets

Text zwischen Bibliografietitel und Inhalt mithilfe des Multibib-Pakets

Ich möchte zwischen dem Titel und dem Inhalt der Bibliografie einen Text schreiben.

Ich habe versucht, mit zu lösendiese Lösungaber es funktioniert nicht mit dem Multibib-Paket. Danke.

% arara: xelatex
% arara: bibtex: { files: [ main, B , A ] }
% arara: xelatex
% arara: xelatex
% arara: clean1

\documentclass{report}

\usepackage{etoolbox}
\newcommand{\bibpreface}[1]{\patchcmd{\thebibliography}{\list}{#1\list}{}{}}

\usepackage[resetlabels,labeled]{multibib}

\usepackage{xepersian}
\settextfont{XB Niloofar}
\newcommand{\ReferenceDocuments}{\rl{مستندات مرجع}}
\newcommand{\RelevantDocumentation}{\rl{مستندات ذیربط}}
\newcites{A,B}{\ReferenceDocuments%
,
\RelevantDocumentation}
\begin{document}
یک استناد به مستندات مرجع
 \cite{bb} 
 یک استناد به مستندات ذیربط
  \citeA{aa}
  یک استناد به مراجع اصلی
 \citeA{cc}
 یک استناد دیگر 
 \citeB{dd}

\renewcommand{\refname}{\rl{مراجع}}
\bibpreface{مقداری متن قبل از محتویات\\}
\bibliographystyle{plain-fa}
\bibliography{lit}

\bibliographystyleA{plain}
\bibliographyA{lit}         

\bibliographystyleB{plain}
\bibliographyB{lit}          

\end{document}

Und lit.bib:

@Article{aa,
  author =   {Author, A.},
  title =    {Title},
  journal =  {Journal},
  year =     2000
}

@ARTICLE{bb,
  AUTHOR =  {واحدی, مصطفی},
  TITLE =  {درختان پوشای کمینه دورنگی مسطح},
  JOURNAL =  {مجله فارسی نمونه},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

@ARTICLE{dd,
  AUTHOR =  {بهبودی‌فام, حسین},
  TITLE =  {یک عنوان درست و درمون},
  JOURNAL =  {مجله فارسی نمونه},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

@ARTICLE{cc,
  AUTHOR =  {بهبودی, احمد},
  TITLE =  {یک عنوان درست و درمون},
  JOURNAL =  {مجله فارسی نمونه},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

Antwort1

Eine Möglichkeit besteht darin, die „Interna“ von Biblatex zu verwenden:

\documentclass{report}

\usepackage{hyperref}
% \usepackage{xepersian}
% \settextfont{XB Niloofar}

% bibliography
\usepackage[natbib = true,         % true allows usage of citet, citep etc. commands
    style = authoryear,             % numeric, % trad-plain: use old bibtex plain style
    backend = biber,                %
    hyperref = true,                % 
    giveninits = true,              % first names are reduced to initials
    maxbibnames = 8, maxcitenames = 2, %
    uniquename = init, 
    uniquelist = minyear, 
    doi = false, url = false, isbn = false, eprint = false] % supress all id numbers
    {biblatex} %
\addbibresource{lit.bib}

% categories
\DeclareBibliographyCategory{published}
\DeclareBibliographyCategory{conf}

% add papers to categories
\addtocategory{published}{aa}
\addtocategory{published}{dd}
\addtocategory{conf}{bb}
\addtocategory{conf}{cc}

% 
\defbibfilter{pub}{category=published}
\defbibfilter{conf}{category=conf}

\begin{document}
    \nocite{*}

    \defbibnote{A}{During the course of this thesis my research has contributed to the following publications:}
    \defbibnote{B}{Conference papers}

    \printbibliography[
        title = {Peer-reviewed journals},
        heading=subbibliography,
        filter = pub,
        prenote = A
        ]
    \printbibliography[
        title = {Conference contributions},
        heading=subbibliography,
        filter = conf,
        prenote = B
    ]
\end{document}

Sie müssen dies mit biber statt mit bibtex kompilieren, vorzugsweise mit bibtex, latexmkdas sich auch um die Kompilierung des Dokuments kümmert, so oft wie nötig (und Sie müssen sich nicht darum kümmern, wie biber aufgerufen wird). Der Befehl lautet einfachlatexmk -pdf -xelatex <yourfile>

Es tut mir leid, aber ich musste die Bibliographie ändern, da mir die persischen Schriftarten fehlen:

@Article{aa,
  author =   {Author, A.},
  title =    {Title A},
  journal =  {Journal},
  year =     2000
}

@ARTICLE{bb,
  AUTHOR =  {Author, B.},
  TITLE =  {Title B},
  JOURNAL =  {Journal B},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

@ARTICLE{dd,
  AUTHOR =  {Author, C.},
  TITLE =  {Title C},
  JOURNAL =  {Journal C},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

@ARTICLE{cc,
  AUTHOR =  {Author, D.},
  TITLE =  {Title D},
  JOURNAL =  {Journal D},
  VOLUME =  {1},
  YEAR =  {1387},
  NUMBER =  {2},
  MONTH =  {آبان},
  PAGES =  {22-30},
  LANGUAGE =   {Persian}
}

Die Ausgabe: Bildbeschreibung hier eingeben


Bearbeiten: Verwenden von Bibtex und Multibib (beachten Sie, dass sich das wie ein grausamer Hack anfühlt und es wahrscheinlich auch ist ...):

\documentclass{report}

\usepackage{hyperref}
% \usepackage{xepersian}
% \settextfont{XB Niloofar}

\usepackage[resetlabels,labeled]{multibib}
\newcites{A,B}
{{BibTitle A\newline\vspace{2ex}\newline\mdseries\normalsize Description text for this bibliography A},% 
 {BibTitle B\newline\vspace{2ex}\newline\mdseries\normalsize Description text for this bibliography B}%
}

\begin{document}

    \nociteA{aa,cc}
    \bibliographystyleA{plain}
    \bibliographyA{lit}         

    \nociteB{bb,dd}
    \bibliographystyleB{plain}
    \bibliographyB{lit}
\end{document}

Man kann mit dem vertikalen Abstand zwischen Überschrift und Text experimentieren. Ich habe im Multibib-Handbuch jedoch keine Lösung gefunden. Es scheint, dass nur Überschriften vorgesehen sind, kein Einführungstext.
Die Ausgabe (nur für Bib A, da die andere in der Berichtsklasse auf eine neue Seite gesetzt ist):

Bildbeschreibung hier eingeben

Antwort2

Eine andere Möglichkeit (meiner Meinung nach eine einfachere) besteht darin, Header mit dieser Technik zu entfernen:Multibib ohne zusätzlichen Titel verwenden

Fügen Sie dann bei Bedarf manuell Titel hinzu.

verwandte Informationen