Можно ли сделать перекрестную ссылку на внешний документ, если путь и имя файла содержат пробелы?

Можно ли сделать перекрестную ссылку на внешний документ, если путь и имя файла содержат пробелы?

ЧАСТЬ I: ПРОБЕЛЫ В ПУТИ

Я технический писатель, пытающийся сделать перекрестную ссылку на файл в другой папке. И имя папки, и имя файла, которые я унаследовал, содержат один или несколько пробелов. Если я изменю имя папки и/или файла, разработчикам, вероятно, придется изменить некоторые скрипты, поэтому я изучаю свои варианты, прежде чем идти этим путем.

(1) В вызывающем документе (руководстве администратора) я добавил кавычки вокруг имени пути. Это позволило избежать сообщений об ошибках в моем вызывающем файле, но я не уверен, достаточно ли этого для того, чтобы процесс перекрестных ссылок заработал:

\usepackage{xr}  % so can reference Install guide from Admin guide
\externaldocument{"../Installation Guide/SMS Install Guide"}

(2) Ниже приведено \refруководство администратора (вызывной документ):

\chapter{Document History}
\fancyhead[RE,LO]{Chapter \thechapter: Document History} 
This is a test of referencing the Installation Guide, Section~\ref{InstallCustom}

(3) Этот код находится в Руководстве по установке, на которое дается ссылка:

\section{Configure Custom Reports (Optional)}\label{sec:InstallCustom}
Below are instructions for installing and configuring the software necessary for....

(4) РЕЗУЛЬТАТЫ после двойной компиляции Руководства по установке, а затем дважды Руководства администратора:

Это тест на знание Руководства по установке, Раздел ??

ЧАСТЬ II: ПОРЯДОК СОСТАВЛЕНИЯ

Код выше — это мой тест прямой перекрестной ссылки из Руководства администратора на Руководство по установке, которое находится в другой папке. Однако как только это заработает, мне придется согласовать еще один переход. Мне нужно иметь возможность поместить вызов, который находится в (2) выше, в отдельный документ, ssrs.tex, который вставляется в Руководство администратора с помощью \include. Каким тогда будет рекомендуемый порядок компиляции/сборки?

Спасибо, Одри.

решение1

Кажется, это работает. Но поскольку я, как и Дэвид, никогда не использую пробелы в именах файлов, я не уверен, что это где-нибудь не сломается.

\documentclass[parskip]{scrartcl}
\usepackage{xr}  % so can reference Install guide from Admin guide
\makeatletter
\def\XR@[#1]#2{{%
  \makeatletter
  \def\XR@prefix{#1}%
  \XR@next"#2.aux"\relax\\}} %added quotes
\makeatother
\externaldocument{test with space/test}
\externaldocument{test-ansinew}
\begin{document}

blalb \ref{abc}, \ref{blub}, \ref{x}

\end{document}

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