
\subimport*{}{}
패키지 가져오기에서 언어 목록이 중단되는 것처럼 보이지만 listings
루트 문서에서 언어가 사용되지 않은 경우에만 가능합니다.
! Package Listings Error: Couldn't load requested language.
내 가설은 별표 표시된 버전이 subimport
목록의 경로를 깨뜨리고 있지만 목록이 가져오기 외부에서 먼저 사용되면 어떻게든 캐시된다는 것입니다.
이에 대한 해결책이 있나요? (별표된 하위 가져오기를 사용하지 않는 것 외에는 가능하다면 계속 사용하고 싶습니다...)
아래 MWE.
A/List.tex:
\documentclass{article}
\usepackage{import}
\usepackage{listings}
\begin{document}
% Uncommenting the problem, oddly enough.
%\begin{lstlisting}[language=Java]
%public static void main(String[] args) {}
%\end{lstlisting}
\subimport*{Nest/Nest/}{nested}
\end{document}
A/네스트/네스트/nested.tex:
\begin{lstlisting}[language=Java]
//Returns true
private static bool P() {
}
\end{lstlisting}
답변1
패키지 문서에서:
파일을 가져올 때 경로를 검색하지 않으려면
TEXINPUTS
명령의 '스타' 버전을 사용하십시오:\import*
및\subimport*
.
이는 pdflatex
지정된 디렉터리에 있는 파일 이외의 파일을 찾을 수 없음을 의미합니다. 하지만 listings
언어에 대한 설정은 사용 시 가져오기 때문에 수십 개의 쓸모없는 언어로 인해 메모리가 어수선해지지 않습니다.
해결책: \lstloadlanguages
.
\documentclass{article}
\usepackage{import}
\usepackage{listings}
\lstloadlanguages{Java}
\begin{document}
\subimport*{mattnest/mattnest/}{nested}
\end{document}