논문을 작성하는 동안 저는 다음을 사용하여 문서화된 여러 Git-Repositories를 만들었습니다.GitHub가 저장소 설명으로 사용하는 readme.md. 이제 나는 그 문서들을 내 논문의 부록에 포함시키고 싶습니다. 그렇게 하는 가장 좋은 방법은 무엇입니까?
readme.md
나는 파일을 연결하기만 하면 변경 사항이 자동으로 포함되는 솔루션을 선호합니다 .
답변1
Markdown-to-LaTeX-Compiler 및 Makefile을 사용하여 프로젝트를 빌드하는 것이 가장 좋습니다. 다음은 진행 방법에 대한 예시 요약입니다.
- 판독 설치
포함하려는 모든 프로젝트 readme에 대해 첫 번째 줄을 반복하여 다음 내용으로 Makefile 또는 이에 상응하는 파일(배치 파일, 스크립트 등)을 만듭니다.
pandoc /path/to/GitHub/project/readme.md -f markdown -t latex -s -o /path/to/GitHub/project/readme.tex pdflatex <arguments> file.tex
\include{/path/to/GitHub/project/readme}
해당되는 경우 LaTeX 문서에 명령문을 추가하세요 .- Makefile을 사용하여 프로젝트를 빌드하세요. LaTeX 문서를 변경할 때마다 반드시 이 작업을 수행할 필요는 없으며 GitHub 프로젝트 추가 정보를 변경/추가한 후에만 수행할 수 있습니다.
또는 다음을 수행할 수도 있습니다.이 답변LaTeX에서 즉시 pandoc을 사용하세요. 나는 이것이 덜 우아한 해결책이라고 생각하지만, 그럼에도 불구하고 이것을 사용하여 원하는 것을 달성하는 방법에 대한 간단한 요약은 다음과 같습니다.
- 판독 설치
- 연결된 답변의 예제 문서에서 서문을 복사하세요.
Markdown 파일을 포함하려면 다음과 같이 문서에 포함하세요.
\begin{markdown} \input{/path/to/GitHub/project/readme.md} \end{markdown}
- 문서를 컴파일할 때마다 Markdown 문서도 컴파일하고 포함해야 합니다.
답변2
내 대답은 @Big-Blue가 일부 Powershell 자동화에서 제안한 내용을 기반으로 합니다. 프로젝트 폴더처럼 모든 저장소가 있는 폴더가 있는 것 같습니다.
예제 폴더 구조:
-MyProjects
-MardownsToPdfs.ps1 << see script bellow
-ProjectDirA
-ReadmeA.md
-ImageA.png
-ProjectDirB
-ReadmeB.md
-ImageB.png
MardownsToPdfs.ps1 파일 내용:
$currendDir=(Get-Item -Path ".\" -Verbose).FullName
#repeat for every *.md file
childitem ../ -include *.md -recurse | foreach ($_) {
$mdPath = $_.FullName
$pdfPath = $_.FullName.Replace(".md", ".pdf")
$pdfFileName = $_.Name.Replace(".md", ".pdf")
cd $_.directory
pandoc --wrap=preserve -f markdown+hard_line_breaks -s -V geometry:margin=1in -o $pdfPath $mdPath
cd $currendDir
}
*.ps1 파일에서 Powershell로 실행을 마우스 오른쪽 버튼으로 클릭하면 동일한 이름의 각 *.md 파일 옆에 PDF가 생성됩니다.
다음과 같이 *.tex 파일에 PDF 파일을 포함할 수 있습니다.
%In your latex *.tex file you can embed
\includepdf[pages=-]{MyProjects/ProjectDirA/ReadmeA.pdf}
답변3
나는 실제로 똑같은 일, 즉 파일 readme.md
을 부록에 포함시키고 싶었습니다.
나는 찾았다markdown
매우 유용한 패키지입니다. 실제로 외부 .md
파일을 포함하도록 수정된 입력 명령이 있으며 그대로 가져올 수 있습니다. 그것은 \markdownInput{path/to/readme.md}
.
나는 다음을 수행했습니다.
\documentclass{article}
% your packages here
\usepackage{markdown}
\begin{document}
% your content here
\appendix
\markdownInput{path/to/readme.md}
\end{document}
다음 사항에 유의하세요.
- 마크다운의 첫 번째 섹션화 수준(단일
#
)은 에 해당하고\chapter
, 기타 등등( , ...##
에 해당 )에 해당합니다.\section
따라서 옵션을 사용하여 단면 수준을 조정할 수 있습니다shiftHeadings
. - 쉘 이스케이프가 활성화된 상태(즉
pdflatex --shell-escape
)로 문서를 빌드해야 합니다.