기호가 있는 파일 경로로 인해 오류가 발생함

기호가 있는 파일 경로로 인해 오류가 발생함

어리석게도 파일 경로에 #(숫자 기호)를 포함시켰습니다. 이것을 참조할 때마다 다음 오류가 발생합니다.

Illegal parameter number in definition of \reserved@a. [.../Paper#1/2016-02-14/paper1_2016-02-14.pdf}]

폴더 이름을 바꾸고 결과적으로 이를 반영하도록 폴더 내의 모든 코드를 변경하는 것보다 더 쉬운 해결 방법이 있습니까?

\documentclass[a4paper,12pt]{article}
\begin{document}
\includepdf[pages=-]{../../Paper#1/2016-02-14/paper1_2016-02-14.pdf}
\end{document}

답변1

\documentclass[a4paper,12pt]{article}
\begin{document}
\begingroup\catcode`\#=12
\newcommand\hashchar{}%check that is doesn't exist
\gdef\hashchar{#}
\endgroup

\input{paper\hashchar 1/test}


%or change the catcode locally:
\begingroup
\catcode`\#=12
\input{paper#1/test}
\endgroup


\end{document}

답변2

호출이 \includepdf다른 명령에 대한 인수에 포함되지 않는 경우 파일 이름을 축어적 인수로 흡수하여 이를 수행할 수 있습니다.

\documentclass[a4paper,12pt]{article}
\usepackage{pdfpages,xparse,letltxmacro}

\LetLtxMacro\originalincludepdf\includepdf
\RenewDocumentCommand\includepdf{O{}v}{\originalincludepdf[#1]{#2}}

\begin{document}
\includepdf[pages=-]{../../Paper#1/2016-02-14/paper1_2016-02-14.pdf}
\end{document}

관련 정보