Невозможность использования библиографии в другом текстовом файле

Невозможность использования библиографии в другом текстовом файле

У меня есть два файла .tex: reftest.tex, который содержит основные данные: ссылку, рисунок, уравнение; и cross_ref.tex. В cross_ref.tex я хочу сделать перекрестную ссылку на ссылку в файле reftest.tex. Однако, она не цитируется. Не могли бы вы помочь мне исправить это? Вот мой код

В 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}

В 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}

Мой вывод не может отобразить номер цитирования в файле cross_ref.tex

введите описание изображения здесь

решение1

С xciteэтим, кажется, работает. Обратите внимание xr-hyperвместо `xr и порядок загрузки пакетов.

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}

Выходcrossref.tex

введите описание изображения здесь

решение2

Хорошо, вот решение.

Если вы используете внешний библиографический файл (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}
}

Вам просто нужно изменить ваш reftest.tex, чтобы использовать внешнюю библиографию вместо использования окружения thebibliography:

\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}

Если теперь включить \usepackage{bibentry}команду в преамбулу вашего cross_rex.tex и включить literatur.bib через \nobibliography{literatur}{}, что предотвращает печать библографии, то все работает так, как вам нужно.

\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}

введите описание изображения здесь

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