2017-10-20 12 views
1

"부속 파일"패키지를 사용하여 LaTeX에서 마스터/하위 문서 작업 과정을 변경할 수있는 방법을 찾고 있습니다. 따라서 추가하려고합니다. 나는 이미 다음과 같은 라인을 가지고 모든 파일 앞에 추가는 :Bash 또는 Python : 모든 .tex 파일에 문자열을 반복적으로 추가하고 추가하십시오.

라인 앞에 추가합니다 :

\documentclass[<mainfile>]{subfiles} 
\begin{document} 

라인 인 Appen하기 :

\end{document} 

나는 bash를 사용하려고 생각하고 있었지만 파이썬으로도 멋질 수있다. 나는 무엇이 최선인지 모른다.

제안 사항이 있으면 언제든지 :-)?

+1

'sed를 사용하여 파일을 편집하는 것은 매우 빠릅니다. –

+0

예, 입력 된 조각과 예상 결과를 게시하십시오 – RomanPerekhrest

답변

0

직관적 인 방법은 먼저, 예를 들어 cat

사용하는 두 개의 파일 prepend.tex하고 추가 할 내용이 포함 append.tex를 만드는 것입니다.

$ find src/ -type f -name "*.tex" -exec sh -c "cat prepend.tex '{}' append.tex > '{}'.tmp" \; 

이 새로운 .tmp 파일을 생성합니다 : 당신이 사용할 수있는 src/

$ cat prepend.tex source.tex append.tex > target.tex 

이 디렉토리 내부에 존재하는 모든 파일을 재귀 적으로 적용하려면 원하는 대상 파일을 생성하기 위해 소스 파일을 연결할 각 소스 파일과 함께. rename 명령의 -f--n에서 옵션을 강제로

$ find src/ -type f -name "*.tmp" -exec rename -n 's/.tmp$//' '{}' \; 

변화가

을 덮어 쓰기 : 그 .tmp 파일의 결과가 당신이 .tmp 사람과 소스 파일을 덮어 진행하기 전에 원하는 exaclty 있는지 확인
+0

Wawww는 매우 부드럽게 작동했습니다! 1 초마다 모든 파일을 처리하고 temp 파일을 사용하는 것이 매우 안전하다고 느낍니다 (이 사실을 기억합니다!). 많이 고마워! –

+0

@EtienneS 멋지다, 기쁘다. :) 그런데 다른 사용자가 언급 한'sed' 나'awk'는보다 복잡한 편집이 필요한 경우에 유용 할 수 있습니다. – etopylight

+0

나는 sed를 시도했지만 다소 까다 롭다. 아직 익숙하지 않다. (있어야한다!) –