Как я могу получить цитаты из печати LaTeX внутри скобок? - PullRequest
0 голосов
/ 19 февраля 2019

У меня проблема со стилем ссылок в LaTeX.Я использую:

\usepackage[backend=bibtex,style=authoryear]{biblatex} %

Но когда я смотрю на ссылки, текст не в скобках.Например:

, рассмотрено в Roy et al.2010

должно быть

, рассмотрено в ( Рой и др. 2010 )

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Другой подход к добавлению круглых скобок вокруг цитат состоит в изменении определения макроса \cite:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{knuth,
  author       = {Knuth, Donald E.},
  title        = {The {\TeX} book},
  date         = 1984,
  maintitle    = {Computers \& Typesetting},
  volume       = {A},
  publisher    = {Addison-Wesley},
  location     = {Reading, Mass.},
  langid       = {english},
  langidopts   = {variant=american},
  sortyear     = {1984-1},
  sorttitle    = {Computers & Typesetting A},
  indexsorttitle= {The TeXbook},
  indextitle   = {\protect\TeX book, The},
  shorttitle   = {\TeX book}
}

@article{einstein,
    author = {Einstein, A.},
    title = {Die Grundlage der allgemeinen Relativitätstheorie},
    journal = {Annalen der Physik},
    volume = {354},
    number = {7},
    doi = {10.1002/andp.19163540702},
    pages = {769--822},
    year = {1916}
}
\end{filecontents*}

\usepackage[backend=bibtex,style=authoryear]{biblatex}
\addbibresource{\jobname.bib}


\DeclareCiteCommand{\cite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[bibhyperref]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\cite}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[bibhyperref]{\usebibmacro{citeyear}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\begin{document}


\cite{einstein}

\printbibliography

\end{document}

enter image description here

0 голосов
/ 19 февраля 2019

У всех пакетов библиографии есть возможность добавлять или не ставить скобки в цитату, в зависимости от контекста.

Действительно, обычно нежелательно заключать в скобки все цитаты.Например, если вы говорите «see \cite{foobar}», вы, вероятно, хотите «увидеть (Foobar 1999)».Но в такой фразе, как "(\cite{foobar} also has interesting examples)", вы не хотите ставить скобки, поскольку "((Foobar 1999) также ...)" выглядит некрасиво и не рекомендуется в стандартных типографских правилах.Вероятно, "(Foobar 1999 также имеет ...)" предпочтительнее.

По этой причине в ванильном bibtex у вас есть \cite (без скобок) и \citep (с круглыми скобками).

В biblatex вы можете сделать то же самое.Вместо \cite используйте \parencite, чтобы получить цитаты с круглыми скобками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...