명령줄 선언에 따라 문서의 특정 섹션을 "켜거나 끌" 수 있기를 원합니다.
LaTeX 템플릿을 사용하여 Pandoc을 통해 내부 및 외부 사용을 위한 대규모 정책 문서 그룹을 PDF로 변환하고 있으며 Pandoc은 pdfTeX를 사용하고 있습니다. 또한 이를 재귀적으로 변환하는 PowerShell 스크립트도 있습니다.
gci -r -i *.md | foreach{$pdf=$_.directoryname+"\"+$_.basename+".pdf"; pandoc -f markdown --template template.latex -V geometry:margin=1.5cm -V fontfamily:lato -V fontfamilyoptions:default -V fontfamilyoptions:defaultsans -s $_.name -o $pdf}
외부 버전에는 목차 다음의 첫 번째 페이지인 문서 세부정보 섹션이 필요하지 않습니다. 아마도 세 번째 페이지를 제거할 수 있지만 긴 ToC가 포함된 문서도 있고 그렇지 않은 문서도 있으며 그 외에는 우아한 솔루션이라고 생각되지 않습니다.
내 일반적인 문서는 다음과 같습니다(간결하게 하기 위해 YAML 및 콘텐츠가 축소됨).
---
title: "A policy"
documentdetails: True/false % I could add something here for the default?
...
Table of contents:
\documentdetailstart % A tag looking like this for instance
# Document Details
#### Document Details
| Description | Status/Version | Reference Code | Control |
| --- |---|---|---|
|A Policy | Final / 1.0 | LaTeX | All |
\documentdetailend % A tag looking like this for instance
Begin Document
아마도 템플릿에서 처리되는 각 정책의 마크다운에 일종의 래핑을 추가하여 명령줄에 아래와 같은 항목을 추가하여 태그의 내용을 자동으로 생략/포함할 수 있도록 하려면 어떻게 해야 합니까?
-V Documentdetails:True
귀하가 제공할 수 있는 도움에 미리 감사드립니다!
답변1
당신은 가질 수 있습니다
\iftrue
Document details
\fi
iftrue를 iffalse로 바꾸고 새 복사본을 컴파일하도록 powershell 스크립트에 지시하십시오.
편집: 모든 내부 전용 항목을 아래와 같이 둘러싸면 \begininternal
두 번째 줄을 로 \endinternal
바꿔서 문서가 PDF의 내부용인지 외부용인지 전환할 수 있습니다 . 그런 다음 "외부인 경우 iffalse를 iftrue로 바꾸고 컴파일" 등의 내용을 스크립트에 표시하면 됩니다.iffalse
iftrue
\documentclass{article}
\let\begininternal\iffalse
\let\endinternal\fi
\begin{document}
Stuff everyone gets
\begininternal
Internal only stuff
\endinternal
More stuff everyone gets
\begininternal
More internal only stuff
\endinternal
The end.
\end{document}