multibib 패키지를 사용하여 참고문헌 제목과 내용 사이의 텍스트

multibib 패키지를 사용하여 참고문헌 제목과 내용 사이의 텍스트

참고문헌 제목과 내용 사이에 텍스트를 쓰고 싶습니다.

나는로 해결하려고 노력했다.이 솔루션하지만 multibib 패키지에서는 작동하지 않습니다. 감사해요.

% 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}

그리고 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}
}

답변1

한 가지 옵션은 biblatex의 "내부"를 사용하는 것입니다.

\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}

bibtex 대신 biber를 사용하여 이를 컴파일해야 하며, latexmk이를 통해 필요한 만큼 자주 문서를 컴파일하는 것이 바람직합니다(그리고 biber를 호출하는 방법에 대해 신경 쓸 필요가 없습니다). 명령은 단순히latexmk -pdf -xelatex <yourfile>

죄송합니다. 페르시아어 글꼴이 부족하여 참고문헌을 변경해야 했습니다.

@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}
}

출력: 여기에 이미지 설명을 입력하세요


편집: bibtex 및 multibib 사용(이것은 잔인한 해킹처럼 느껴지며 아마도...):

\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}

제목과 텍스트 사이에 추가된 수직 거리의 양을 가지고 놀 수 있습니다. 그러나 멀티턱 매뉴얼에서는 해결책을 찾지 못했습니다. 소개 문구는 없고 제목만 있는 것 같습니다.
출력(다른 하나는 보고서 클래스의 새 페이지로 설정되므로 fpr Bib A만):

여기에 이미지 설명을 입력하세요

답변2

(제 생각에는 더 가벼운) 또 다른 방법은 다음 기술을 사용하여 헤더를 제거하는 것입니다.별도의 타이틀 없이 멀티빕 사용하기

그런 다음 적절한 곳에 제목을 수동으로 추가합니다.

관련 정보