Цитаты как существительные в biblatex-Chicago

Цитаты как существительные в biblatex-Chicago

Я пытаюсь начать работу с biblatex-chicago и застрял на том, как ссылаться на цитаты как на существительные в стиле сносок (то есть, я хочу сказать «как говорит \citeasnoun{lamport}...»).

думатькраткая версия этого вопроса: «почему мой не \smartciteрасширяется до\parencite сноски?»]

Если я начну так, как предлагает руководство biblatex-chicago

\usepackage[authordate,strict,backend=biber,babel=other]{biblatex-chicago}

тогда все в порядке: я могу использовать \textcite{foo}как существительное, и \autocite{foo}в скобках. Если же я начну с предложенной в руководстве альтернативы

\usepackage[notes,strict,backend=biber,babel=other]{biblatex-chicago}

то у меня его нет \textcite(это немного удивительно, поскольку в руководстве biblatex сказано, что « \textciteкоманды [ ] предоставляются всеми неподробными стилями, которые поставляются с этим пакетом», и я бы предположил, что стиль «notes» является «неподробным» стилем).

Это нормально, так как я, по-видимому, могу подделать это с помощью \def\textcite#1{\citeauthor{#1}\autocite{#1}}. Это почти работает: в тексте я получаю «как говорит Лампорт^1 ...», и разумную сноску с полной ссылкой.

Однако если я попробую сделать это в сноске, то получу «как ЛэмпортЛесли Лэмпорт ... говорит ...» — то есть, в сноске это \autociteбудет выглядеть как обычно \cite, тогда как я ожидал чего-то вроде «как Лэмпорт (Лесли Лэмпорт ...) говорит ...».

Что я пробовал:

  • Я могу указать autocite=footnoteи autocite=inlineв \usepackageкоманде, но это изменит ее в обоих контекстах — в основном тексте и в сносках.
  • Я мог бы потенциально поискать в biblatex.styзацепках и нацарапать что-то, что каким-то образом будет чувствительно к контексту, так что это \autociteбудет выглядеть как \parenciteсноска, но (a) этот стиль... местами довольно хитрый, и (b) я делаю это от имени кого-то другого, так что частичная цель — сказать: «Смотри, LaTeX может сделать это проще, чем вручную» — аргумент, который «используй исходный код, Люк» скорее разрушит. И в любом случае (c) я думал, что это должно происходить автоматически.
  • \DeclareAutoCiteCommandпохоже, это могло бы помочь, но в нем нет альтернативы сноске/основному тексту, которую я ожидал.
  • Замена \autociteна \smartciteэффекты не приводит к изменениям, хотя \smartciteэто «[похоже] на \parencite в сноске и на \footcite в тексте», согласно руководству biblatex ( \parenciteсамо по себе создает ссылку в скобках).

Я достаточно много раз перечитывал руководство, и теперь мне кажется, что я упускаю что-то очевидное или задаю неправильный вопрос.

  • Возможно, ответ заключается в том, чтобы \parenciteявно использовать в сносках. Возможно, но у меня сложилось впечатление, что именно об этом и \autociteследовало позаботиться.
  • Возможно, ответ в том, что я не должен этого делать. Я не гуманитарий, так что, возможно, все знают (кроме меня), что на такие ссылки просто не ссылаются в сносках.

Пример:

\documentclass{scrartcl}

\iftrue
  \usepackage[notes,strict,backend=biber,babel=other]{biblatex-chicago}
  \def\textcite#1{\citeauthor{#1}\smartcite{#1}}
\else
  \usepackage[authordate,strict,backend=biber,babel=other]{biblatex-chicago}
\fi
\addbibresource{bib.bib}

\title{Document}
\author{Me}

\begin{document}
\maketitle

The primary aim of this essay is to refer to \textcite{wittgenstein53}
in the text.\footnote{And refer to \textcite{wittgenstein53} in a footnote}

\printbibliography
\end{document}

В первом случае я получаю «Wittgenstein^1», а в сноске — «Wittgensteinibid.».

Я использую biblatex версии 1.7, biber версии 0.9.9 (и последние версии pdftex и xetex).

решение1

Связанное со стилем содержимое руководства biblatexне обязательно относится к добавленным стилям. Одним из примеров является команда biblatex-chicago's \smartcite. Она не генерирует цитаты в скобках.

Стиль notesмногословный; вы получаете полные метки цитат при первой цитате. Версия 1.7 представила biblatexи \textciteподдерживает все ее многословные стили. Чтобы включить похожие команды в biblatex-chicagoвы можете адаптировать определения из verbose.cbx.

\makeatletter

\DeclareCiteCommand{\textcite}[\cbx@textcite\cbx@textcite@i]
  {\boolfalse{citetracker}%
   \gdef\cbx@savedkeys{}}
  {\printnames{labelname}%
   \xappto\cbx@savedkeys{\thefield{entrykey},}}
  {\multinamedelim}
  {\protected@xappto\cbx@savedcites{%
     [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}}

\DeclareMultiCiteCommand{\textcites}[\cbx@textcite\cbx@textcites@i]
  {\textcite}{\multinamedelim}

\newrobustcmd{\cbx@textcite}[2]{\def\cbx@savedcites{#1}#2\cbx@savedcites}
\newrobustcmd{\cbx@textcite@i}{\iffootnote{\addspace\parencite}{\footcite}}
\newrobustcmd{\cbx@textcites@i}{\iffootnote{\addspace\parencites}{\footcites}}

\makeatother

Здесь аргументы команды цитирования обрабатываются дважды. Первый проход генерирует вывод типа \citeauthor. Второй проход генерирует сноску или цитату в скобках. Я адаптировал код для обработки цитат внутри сносок и работы с \parencite, \footciteи друзьями из notes.

Полученные команды не перемещают знаки препинания за вас. Чтобы включить эту функцию в\textcite , вы можете использоватьнизкоуровневое определение.

Связанный контент