如果路径和文件名有空格,我可以交叉引用外部文档吗?

如果路径和文件名有空格,我可以交叉引用外部文档吗?

第一部分:路径中的空白处

我是一名技术作家,想交叉引用另一个文件夹中的文件。我继承的文件夹名称和文件名都有一个或多个空格。如果我更改文件夹和/或文件名,开发人员可能必须更改一些脚本,因此在采取这种方式之前,我正在探索我的选择。

(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)编译两次安装指南和管理指南之后的结果:

这是参考安装指南第 ?? 节的测试。

第二部分:编制订单

上面的代码是我对从管理指南到位于不同文件夹中的安装指南的直接交叉引用的测试。但是,一旦它正常工作,我将再进行一次跳转。我需要能够将上面 (2) 中的调用放入单独的文档 ssrs.tex 中,该文档通过 拉入管理指南\include。那么推荐的编译/构建顺序是什么?

谢谢,奥黛丽

答案1

看起来这个方法可行。但是我和 David 一样从不在文件名中使用空格,所以我不确定它是否会在某些地方出错。

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

相关内容