natbib으로 제목을 인용하는 방법은 무엇입니까?

natbib으로 제목을 인용하는 방법은 무엇입니까?

해결책을 찾기 위해 광범위하게 검색했지만 작동하는 솔루션을 찾지 못했습니다. 가장 눈에 띄는 것은 다음과 같습니다. natbib 및 hyperref 패키지를 사용하는 \citetitle 및 \citeeditor 그리고 https://stackoverflow.com/questions/2496599/how-do-i-cite-the-title-of-an-article-in-latex

내 관련 설정은 다음과 같습니다

\documentclass[a4paper,11pt,oldfontcommands]{memoir}
\usepackage[colorlinks=true]{hyperref}
\usepackage{natbib}
%\bibliographystyle{agsm}
\bibliographystyle{myabbrvnat}
\newcommand{\myand}{\&\ }
\setcitestyle{authoryear,aysep={},open={(},close={)}}
\begin{document}
In the book (Book Name) such and such is told to be true \citep{RefWorks:}.
\bibliography{cource}
\end{document}

내 source.bib 파일은 다음과 같습니다.

@book{RefWorks:1
     author={John Johnson},
     year={2015},
     title={Book Name},
     publisher={Publishing Company},
     address={United States of America},
     edition={1st},
     isbn={XXX-X-XXXX-XXXX-X}
}

아마도 내가 찾은 제안 중 일부가 작동하지 않는 이유는 \bibliographystyle{myabbrvnat}. 어디서 찾았는지는 기억나지 않지만 필요한 방식으로 참고문헌을 설정하기 위한 것입니다. 그게 중요해요? 글을 게시해야 할 경우 글자 수 제한을 초과하므로 어디에 게시할 수 있나요?

나는 인용 별칭을 만든 다음 소스 제목을 제공하는 것과 \defcitealias{RefWorks:1}{Book Name}같이 텍스트에 삽입할 수 있는 "일종의" 솔루션이 있다는 것을 알고 있습니다 . \citetalias{RefWorks:1}괜찮습니다. 하지만 제가 찾고 있는 것은 아닙니다. 그렇게 되면 전체 라이브러리에 대해 이것을 설정해야 하므로 번거로울 것입니다.

\cite+소스 제목을 제공하기 위해 -type을 설정하는 방법이 있습니까 ?

편집: 설정에 hyperref 패키지를 넣는 것을 잊었습니다.

답변1

(표시되는 위치 변경 ) 대신 abbrvnat.bst발행하도록 수정했습니다 . 그런 다음 다음 입력 파일을 준비했습니다.\myand{}and" and "

\begin{filecontents*}{\jobname.bib}
@book{RefWorks:1,
     author={John Johnson},
     year={2015},
     title={Book Name},
     publisher={Publishing Company},
     address={United States of America},
     edition={1st},
     isbn={XXX-X-XXXX-XXXX-X}
}
@book{RefWorks:2,
     author={John Johnson and Jack Jackson},
     year={2015},
     title={Book Name},
     publisher={Publishing Company},
     address={United States of America},
     edition={1st},
     isbn={XXX-X-XXXX-XXXX-X}
}
\end{filecontents*}

\documentclass[a4paper,11pt,oldfontcommands,article]{memoir}

\usepackage{natbib}
\usepackage{usebib}
\bibliographystyle{myabbrvnat}
\setcitestyle{authoryear,aysep={},open={(},close={)}}
\bibinput{\jobname} % <--- the same argument as in \bibliography
\newcommand{\myand}{\&}

\begin{document}

In the book ``\usebibentry{RefWorks:1}{title}'' by 
\citeauthor{RefWorks:1}, such and such is told 
to be true \citep{RefWorks:1}.

In the book ``\usebibentry{RefWorks:2}{title}'' by 
\citeauthor{RefWorks:2}, such and such is told 
to be true \citep{RefWorks:2}.

\bibliography{\jobname}

\end{document}

이것이 출력이다

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

이는 filecontents단지 편의를 위해 사용되었으며 자신의 파일을 사용할 수 있습니다 .bib. usebib해당 필드 의 제한 사항을 기억하십시오.~ 해야 하다가 아닌 중괄호로 구분해야 합니다 ".

반면에 biblatex원하는 출력을 생성하도록 강요할 수 있습니다.

\begin{filecontents*}{\jobname.bib}
@book{RefWorks:1,
     author={John Johnson},
     year={2015},
     title={Book Name},
     publisher={Publishing Company},
     address={United States of America},
     edition={1st},
     isbn={XXX-X-XXXX-XXXX-X}
}
@book{RefWorks:2,
     author={John Johnson and Jack Jackson},
     year={2015},
     title={Book Name},
     publisher={Publishing Company},
     address={United States of America},
     edition={1st},
     isbn={XXX-X-XXXX-XXXX-X}
}
\end{filecontents*}

\documentclass[a4paper,11pt,oldfontcommands,article]{memoir}

\usepackage[style=authoryear,firstinits,uniquename=init]{biblatex}
\addbibresource{\jobname.bib}
\AtBeginBibliography{%
  \DeclareNameAlias{author}{first-last}%
}
\renewcommand{\finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\&\space
}

\begin{document}

In the book ``\citetitle{RefWorks:1}'' by 
\citeauthor{RefWorks:1}, such and such is told 
to be true \parencite{RefWorks:1}.

In the book ``\citetitle{RefWorks:2}'' by 
\citeauthor{RefWorks:2}, such and such is told 
to be true \parencite{RefWorks:2}.

\printbibliography

\end{document}

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

관련 정보