Não utilização de bibliografia em outro arquivo tex

Não utilização de bibliografia em outro arquivo tex

Tenho dois arquivos .tex: reftest.tex que contém os principais detalhes: referência, figura, equação; e cross_ref.tex. Em cross_ref.tex, quero fazer referência cruzada da citação de refernece no arquivo reftest.tex. No entanto, não foi possível citar. Você poderia me ajudar a consertar isso? Este é o meu código

Em reftest.tex:

 \documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage[draft]{hyperref}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}

\begin{document}
This is ref \cite{S_Goossens}

\begin{figure} 
  \centering \includegraphics[width=0.5\linewidth]{example-image-a}
  \caption{This is caption}
  \label{fig:2}
\end{figure}

\begin{equation}
\label{eq:1} 
  y=x
\end{equation}

\begin{thebibliography}{00}

%% Text of bibliographic item
\bibitem{S_Goossens}SMichel Goossens, Frank Mittelbach, and Alexander Samarin Addison-Wesley, Reading, Massachusetts, 1993.

\end{thebibliography}
\end{document}

Em cross_ref.tex

\documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage[draft]{hyperref}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{xr}
\externaldocument{reftest}

\begin{document}
This is ref \cite{S_Goossens} in the reftest file

Figure \ref{fig:1} is figure in the reftest file

The  Eq. \eqref{eq:1} is a equation 

\end{document}

Minha saída não pode mostrar o número da citação no arquivo cross_ref.tex

insira a descrição da imagem aqui

Responder1

Com xciteisso parece estar funcionando. Observe xr-hyperem vez de `xr e a ordem de carregamento do pacote.

reftest.tex

\documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[draft]{hyperref}

\begin{document}
This is ref \cite{S_Goossens}

\begin{figure} 
  \centering \includegraphics[width=0.5\linewidth]{example-image-a}
  \caption{This is caption}
  \label{fig:1}
\end{figure}

\begin{equation}
\label{eq:1} 
  y=x
\end{equation}

\begin{thebibliography}{00}

%% Text of bibliographic item
\bibitem{S_Goossens} Michel Goossens, Frank Mittelbach, and Alexander Samarin 
Addison-Wesley, Reading, Massachusetts, 1993.

\end{thebibliography}
\end{document}

crossref.tex

\documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{xcite}
\usepackage{xr-hyper}
\usepackage[draft]{hyperref}
\externaldocument{reftest}
\externalcitedocument{reftest}

\begin{document}
This is ref \cite{S_Goossens} in the reftest file

Figure \ref{fig:1} is figure in the reftest file

The  Eq. \eqref{eq:1} is a equation 

\end{document}

Saída decrossref.tex

insira a descrição da imagem aqui

Responder2

Ok, aqui está uma solução.

Se você utilizar um arquivo bibliográfico externo (literatur.bib):

    @BOOK{S_Goossens,
  title = {Some title},
  publisher = {Addison-Wesley},
  year = {1993},
  author = {Goossens, S. Michel and Mittelbach, Frank and Samarin, Alexander},
  address = {Reading, Massachusetts},
  owner = {polz},
  timestamp = {2016.03.24}
}

Você só precisa alterar seu reftest.tex para usar a bibliografia externa em vez de usar o thebibliographyambiente:

\documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage[draft]{hyperref}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}

\begin{document}
This is ref \cite{S_Goossens}

\begin{figure} 
  \centering \includegraphics[width=0.5\linewidth]{example-image-a}
  \caption{This is caption}
  \label{fig:1}
\end{figure}

\begin{equation}
\label{eq:1} 
  y=x
\end{equation}

\bibliography{literatur}{}
\bibliographystyle{plain}

\end{document}

Se você incluir agora o \usepackage{bibentry}comando no preâmbulo do seu cross_rex.tex e incluir o literatur.bib via \nobibliography{literatur}{}, o que impede a impressão da bibliografia, então funciona da maneira que você deseja.

\documentclass[preprint,12pt, sort&compress]{elsarticle}
\def\bibsection{\section*{References}}
\usepackage[draft]{hyperref}
\usepackage{graphicx}
\usepackage{caption,subfig}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{xr}
\externaldocument{reftest}

\usepackage{bibentry}

\begin{document}
This is ref \cite{S_Goossens} in the reftest file

Figure \ref{fig:1} is figure in the reftest file

The  Eq. \eqref{eq:1} is a equation 

\nobibliography{literatur}{}

\end{document}

insira a descrição da imagem aqui

informação relacionada