Source code for sphinxcontrib.bibtex.style.referencing.label

import dataclasses

from sphinxcontrib.bibtex.style.referencing import (
    BracketStyle, PersonStyle, GroupReferenceStyle
)
from .basic_label import (
    BasicLabelParentheticalReferenceStyle,
    BasicLabelTextualReferenceStyle,
)
from .extra_author import ExtraAuthorReferenceStyle
from .extra_label import ExtraLabelReferenceStyle
from .extra_year import ExtraYearReferenceStyle


[docs]@dataclasses.dataclass class LabelReferenceStyle(GroupReferenceStyle): """Textual or parenthetical reference by label, or just by author, label, or year. """ #: Bracket style for textual citations (:cite:t: and variations). bracket_textual: BracketStyle = BracketStyle() #: Bracket style for parenthetical citations #: (:cite:p: and variations). bracket_parenthetical: BracketStyle = BracketStyle() #: Bracket style for author citations #: (:cite:author: and variations). bracket_author: BracketStyle = BracketStyle() #: Bracket style for label citations #: (:cite:label: and variations). bracket_label: BracketStyle = BracketStyle() #: Bracket style for year citations #: (:cite:year: and variations). bracket_year: BracketStyle = BracketStyle() #: Person style. person: PersonStyle = PersonStyle() def __post_init__(self): self.styles.extend([ BasicLabelParentheticalReferenceStyle( bracket=self.bracket_parenthetical, person=self.person), BasicLabelTextualReferenceStyle( bracket=self.bracket_textual, person=self.person), ExtraAuthorReferenceStyle( bracket=self.bracket_author, person=self.person), ExtraLabelReferenceStyle(bracket=self.bracket_label), ExtraYearReferenceStyle(bracket=self.bracket_year), ]) super().__post_init__()