(संपूर्ण) ग्रंथ सूची को कैसे देखें?

Aug 17 2020

एक साधारण सवाल है, लेकिन मैं इसे यहां या कहीं और स्टैकएक्सचेंज पर खोजने में असमर्थ था।

मैं द्वारा निर्मित हेडर को क्रॉस-रेफरेंस करना चाहता हूं \printbibliography, यानी एक विशिष्ट प्रविष्टि नहीं बल्कि सिर्फ शीर्षक / शुरुआती पेज।

मैं उसे कैसे कर सकता हूँ?

मैं इसे इस तरह से उपयोग करता हूं:

\printbibliography[title={Quellenverzeichnis}, heading=subbibnumbered]

समस्या यह है कि पैकेज अपने हेडिंग को स्वचालित रूप से उत्पन्न करता है, इसलिए मैं बस \labelवहां नहीं जा सकता और इसे संदर्भित कर सकता हूं ।

असल में, मैं तो बस इसलिए मैं हमेशा की तरह उपयोग कर सकते हैं क्या आवश्यक है क्या करना चाहते हैं \ref, \hyperref, \autoref, \fullrefआदि

और मुझे biblatex डॉक्स (पृष्ठ 88 एफएफ उर्फ ​​सेकंड) में कुछ भी नहीं मिला है । 3.7.2 यह \printbibliographyकमांड के बारे में बात करना शुरू करता है ।)

जवाब

3 DavidPurton Aug 17 2020 at 13:28

अजीब तरह से, मुझे यह करने का एक स्पष्ट तरीका नहीं मिल रहा है।

यहां एक विकल्प है जो शीर्ष को प्रिंट करता है, फिर लेबल सम्मिलित करता है, फिर शेष ग्रंथ सूची को प्रिंट करता है। मेरे लिए किसी अज्ञात कारण से, \@currentlabelअपडेट नहीं किया गया है \printbibheading, इसलिए मुझे उप-काउंटर काउंटर को डिक्रिप्ट करने के लिए हैक की आवश्यकता है, फिर इसका उपयोग करके इंक्रीमेंट करें \refstepcounter

मैं सोच रहा हूँ कि वहाँ एक बेहतर विकल्प होना चाहिए।

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage[colorlinks]{hyperref}
\begin{document}
\section{Here}
\subsection{There}
Page \pageref{bib}. Section \ref{bib}.
\nocite{westfahl:space,aksin}
\printbibheading[title=Quellenverzeichnis, heading=subbibnumbered]
\addtocounter{subsection}{-1}
\refstepcounter{subsection}
\label{bib}
\printbibliography[heading=none]
\end{document}

3 moewe Aug 17 2020 at 14:12

चूंकि आप पहले से ही अपनी ग्रंथ सूची का शीर्षक स्पष्ट रूप से दे चुके हैं, इसलिए आप \labelवहां प्रवेश कर सकते हैं ।

डेविड पर्टन के MWE और स्पष्ट परिवर्तनों के साथ

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage[colorlinks]{hyperref}
\begin{document}
\section{Here}
\subsection{There}
Page \pageref{bib}. Section \ref{bib}.
\nocite{sigfridsson,worman}

\printbibliography[title={Quellenverzeichnis\label{bib}}, heading=subbibnumbered]
\end{document}

यदि आप ऐसा समाधान चाहते हैं जो स्वचालित रूप से 'संदर्भ' या 'ग्रंथ सूची' का चयन करता है, तो आप कक्षा के आधार पर कोशिश कर सकते हैं

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage[colorlinks]{hyperref}

\makeatletter
\newcommand*{\reforbibname}{%
  \ifodd\abx@classtype\relax
    \bibname
  \else
    \refname
  \fi
}
\makeatother

\begin{document}
\section{Here}
\subsection{There}
Page \pageref{bib}. Section \ref{bib}.
\nocite{sigfridsson,worman}

\printbibliography[title={\reforbibname\label{bib}}, heading=subbibnumbered]
\end{document}

आंतरिक कमांड \abx@classtypeका उपयोग biblatexकुछ वर्गों का पता लगाने के लिए किया जाता है । आसानी से, 'सम-वर्ग' समान articleऔर उपयोग हैं \refname, 'विषम वर्ग' report/ book-उपयोग और उपयोग हैं \bibname

ध्यान दें कि यह ग्रंथ सूची शीर्षक परिभाषाओं में डिफ़ॉल्ट शीर्षक के संभावित परिवर्तनों को ध्यान में नहीं रखता है।


एक विकल्प यह होगा कि आप \labelसीधे ग्रंथ सूची के शीर्षक की परिभाषा में शामिल हों। इस मामले में जो होगा

\documentclass{article}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\usepackage[colorlinks]{hyperref}

\defbibheading{subbibnumbered:link}[\refname]{%
  \subsection{#1}%
  \label{bib}}

\begin{document}
\section{Here}
\subsection{There}
Page \pageref{bib}. Section \ref{bib}.
\nocite{sigfridsson,worman}

\printbibliography[heading=subbibnumbered:link]
\end{document}

(बेशक आप चाहें subbibnumberedतो उस उभयलिंगी को अधिलेखित कर सकते हैं, लेकिन चूंकि शीर्षक में लेबल कठिन-कोडित है, इसलिए इसे दो बार उपयोग करने से बचने के लिए एक अद्वितीय नाम चुनना बेहतर हो सकता है।) किसी भी मामले में, आपको यह जानने की आवश्यकता है / आपके दस्तावेज़ में प्रयुक्त ग्रंथ सूची के शीर्षक की मूल परिभाषा की प्रतिलिपि बनाएँ।

3 rugk Jan 03 2021 at 16:33

V3.16 biblatex के बाद से अब आप उपयोग कर सकते हैं label

उदाहरण और इसलिए समस्या / सुविधा अनुरोध से कॉपी की गई , इसलिए सभी क्रेडिट @moewew को जाते हैं , जिन्होंने इसे लागू भी किया।

यहाँ एक उदाहरण है:

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}
\usepackage{cleveref}

\addbibresource{biblatex-examples.bib}


\begin{document}
\autocite{sigfridsson}

\Cref{biblabel}

\printbibliography[heading=bibnumbered, label=biblabel]
\end{document}