Problema de referência cruzada

Problema de referência cruzada

Tenho um problema ao usar uma referência cruzada de outros arquivos. Eu tenho uma pasta na qual existe um main.texarquivo e uma subpasta (Capítulo) contendo Chapter1.texe Chapter2.tex.

No arquivo principal, incluo apenas os arquivos dos capítulos como este:

    \include{Chapters/Chapter1}
    \include{Chapters/Chapter2}

Meu problema é que no Chapter2.texarquivo preciso fazer referência a uma seção do Capítulo1.

Capítulo1.tex

\documentclass{standalone}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}

\section{first section}\label{sc:first_section}
     some Text..........
\end{document}

Capítulo2.tex

\documentclass{standalone}
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[C1-]{/Chapter1}
\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}

 Some text...text \ref{C1-sc:first_section}
 \end{document}

Quando compilo o arquivo, só ??aparece.

Responder1

Não acho que \chapteresteja definido para a classe de documento independente. Além disso, para mim isso parece mais um trabalho para o subfilespacote do que para standalone:

principal.tex:

\documentclass{book}
\usepackage{subfiles}
\usepackage{xr-hyper}
\usepackage{hyperref}
\usepackage{xstring}

\begin{document}
   \subfile{chapter1}
   \subfile{chapter2}
\end{document}

e capítulo1.tex

% !TeX root = chapter1.tex 
\documentclass[main]{subfiles}

\begin{document}
\chapter{chapter}
\label{ch:first_chapter}

\section{first section}\label{sc:first_section}
     some Text..........
\end{document}

e capítulo2.tex

% !TeX root = chapter2.tex 
\documentclass[main]{subfiles}

\IfEq{\jobname}{\detokenize{main}}{}{%
    \externaldocument{chapter1}
}

\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}

 Some text...text \ref{sc:first_section}
\end{document}

(o exemplo acima assume que todos os 3 arquivos estão na mesma pasta, para o uso de subpastas, você deve ajustar os caminhos do arquivo principal e dos arquivos dos capítulos de acordo)

Responder2

O /antes Chapter1está \externaldocumenterrado. Também standalonenão possui o \chaptercomando.

No meu ponto de vista, não há nada a ganhar em criar documentos separados dos arquivos dos capítulos individuais aqui.

Ambos (ou todos!) os arquivos devem usar hyperrefpacotes para fornecer o formato de etiqueta correto.

\documentclass{book}
\usepackage{xr-hyper}
\usepackage{hyperref}
\begin{document}
\chapter{chapter}
\label{ch:first_chapter}

\section{first section}\label{sc:first_section}
     some Text..........
\end{document}

Capítulo2.tex

\documentclass{book}
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument[C1-]{Chapter1}
\begin{document}
\chapter{Second Chapter}
\label{ch:second_chapter}
\section{section}\label{sc:first_section_ch2}

Some text...text \ref{C1-sc:first_section}
\end{document}

informação relacionada