![Não utilização de bibliografia em outro arquivo tex](https://rvso.com/image/330731/N%C3%A3o%20utiliza%C3%A7%C3%A3o%20de%20bibliografia%20em%20outro%20arquivo%20tex.png)
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
Responder1
Com xcite
isso parece estar funcionando. Observe xr-hyper
em 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
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 thebibliography
ambiente:
\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}