Biblatex와 회고록을 이용한 상호참조 참고문헌 자체?

Biblatex와 회고록을 이용한 상호참조 참고문헌 자체?

biblatex, hyperref및 클래스 cleverref아래에 참고문헌의 개별 항목뿐만 아니라 참고문헌 자체에 대한 상호 참조 링크를 삽입할 수 있습니까 memoir?

즉, 다음 소스와 같이 \cref{WHAT}서문에 표시된 내용이 참고문헌을 가리키도록 어떤 레이블을 어디서, 어떻게 생성할 수 있습니까? (따라서 해당 링크를 클릭하면 참고문헌의 첫 페이지로 이동하게 됩니다.)

\documentclass[12pt]{memoir}

\usepackage[backend=bibtex]{biblatex}

\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 

\begin{filecontents}{biblatexdoc.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\addbibresource{biblatexdoc}

\begin{document}

\frontmatter
\tableofcontents

\chapter{Prefarc}

The Bibliography (\cref{WHAT}) includes only works actually cited.

\chapter{Math}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.

\printbibliography

\end{document} 

답변1

\nameref{WHAT}것보다 더 나은 변형인 것 같습니다 \cref{WHAT}. 후자는 카운터에 대한 레이블이 필요합니다(글쎄, \nameref이것도 필요하지만 내부적으로 \biblabel사용 \label하고 자동으로 하이퍼링크를 추가하는 래퍼로 레이블을 가짜로 만드는 것이 더 쉽습니다). 서지.

\documentclass[12pt]{memoir}

\usepackage[backend=bibtex]{biblatex}
\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 
\usepackage{cleveref}

\begin{filecontents}{biblatexdoc.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\addbibresource{biblatexdoc}

\makeatletter
\newcommand{\biblabel}[1]{%
  \phantomsection
  \edef\@currentlabel{\bibname}%
  \edef\@currentlabelname{\bibname}% Provide the \nameref - anchor name
  \label{#1}%
}
\makeatother


\begin{document}

\frontmatter
\tableofcontents

\chapter{Preface}

The \nameref{WHAT} includes only works actually cited.

\chapter{Math}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.


\printbibliography\biblabel{WHAT}

\end{document} 

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

업데이트

하나 이상의 참고문헌을 지원합니다.

\documentclass[12pt]{memoir}

\usepackage[backend=bibtex]{biblatex}
\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 
\usepackage{cleveref}

\begin{filecontents}{biblatexdoc.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\addbibresource{biblatexdoc}

\makeatletter
\define@key{blx@bib2}{title}{\gdef\blx@thetitle{#1}}
\newcommand{\biblabel}[1]{%
  \phantomsection
  \edef\@currentlabel{\bibname}%
  \@ifundefined{blx@thetitle}{%
    \edef\@currentlabelname{\bibname}%
  }{%
    \edef\@currentlabelname{\blx@thetitle}%
  }%
  \label{#1}%
}
\makeatother


\begin{document}

\frontmatter
\tableofcontents

\chapter{Preface}

The \nameref{WHAT} includes only works actually cited, however, there is another \nameref{WHATOTHER}.

\chapter{Math}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.

\printbibliography[title={My sophisticated bibliography}]\biblabel{WHAT}

\printbibliography[title=Bib2]\biblabel{WHATOTHER}

\end{document} 

여러 페이지 참고문헌 업데이트

\documentclass[12pt]{memoir}

\usepackage[backend=bibtex]{biblatex}
\usepackage{hyperref}
\hypersetup{hyperindex,colorlinks, citecolor=red} 

%\usepackage{msc}
\usepackage{cleveref}

\begin{filecontents}{biblatexdoc.bib}
@article{Archimedes200,author = {Archimedes},title = {Pi's the limit },
journal = {Syracuse J. Gastronom.\ Math.}, year = {200BCE},volume = {10},pages={\textsc{CCCXV}--\textsc{CCCXIV}}}

@article{EulerE1776,Author = {Euler, Leonhard},Title = {All about E},
Journal = {Math.\ Psychol.},Year = {1776},Volume = {4},pages={1--2718}}
\end{filecontents}

\addbibresource{biblatexdoc}
\addbibresource{biblatex-examples}


\makeatletter
\define@key{blx@bib2}{title}{\gdef\blx@thetitle{#1}}
\newcommand{\biblabel}[1]{%
  \phantomsection
  \@ifundefined{blx@thetitle}{%
    \edef\@currentlabelname{\bibname}%
    \edef\@currentlabel{\bibname}%
  }{%
    \edef\@currentlabel{\blx@thetitle}%
    \edef\@currentlabelname{\blx@thetitle}%
  }%
  \label{#1}%
}

\newcommand{\biblabelnote}[1]{%
  \defbibnote{#1}{\biblabel{#1}}%
}

\makeatother


\begin{document}

\frontmatter
\tableofcontents

\chapter{Preface}

The \nameref{WHAT} includes only works actually cited, however, there is another \nameref{WHATOTHER}.

\chapter{Math}
\nocite{*}

Archimedes~\cite{Archimedes200} and Euler~\cite{EulerE1776} studied the constants, $\pi$ and $e$,  respectively.

\biblabelnote{WHAT}
\printbibliography[title={My sophisticated bibliography},prenote={WHAT}]

\biblabelnote{WHATOTHER}
\printbibliography[title=Bib2,prenote={WHATOTHER}]

\end{document} 

답변2

또 다른 가능성(매우 정교하지는 않지만 부분적으로 사용됨)여기에서): \label아래에 를 배치합니다 \printbibliography. 서문 장에서 다음을 작성하십시오.

The \hyperref[WHAT]{Bibliography} includes only works actually cited.

관련 정보