찾다
기술 주변기기IT산업Pandoc 및 Latex를 사용하여 Markdown에서 PDF를 생성합니다

Creating PDFs from Markdown with Pandoc and LaTeX

코어 포인트

이 기사 저자 Chris Ward는 오픈 소스 보드 게임 칩 상점을 위해 Pandoc 및 Latex를 사용하여 Markdown 파일을 PDF로 변환하는 방법을 설명합니다. 게임 구성 요소는 Markdown을 사용하여 작성되며 게임 웹 사이트는 이러한 파일에서도 생성됩니다. Pandoc (오픈 소스 마크 업 변환 도구) 및 라텍스 (문서 선언 및 레이아웃 시스템)는 Markdown 파일에서 PDF를 생성하는 데 사용됩니다. 강력한 기능에도 불구하고 여러 PDF를 단일 페이지에 결합 할 수 없으므로 Ward는 명령 줄 도구 PDFJAM을 사용 하여이 요구 사항을 충족합니다.

저자는 필요한 종속성 (Markdown, Jekyll, Pandoc, Latex, PDFJam)을 설치하는 방법에 대한 자세한 안내서를 제공하고 MarkDown에서 PDFS 생성, 라텍스 파일 생성 및 PDFJAM을 사용하여 카드를 전송하는 것을 포함하여 빌드 프로세스를 점차적으로 도입합니다. 한 페이지에 결합하십시오.

저자의 이상적인 워크 플로우는 방문자가 요청할 때가 아닌 웹 사이트를 생성하면서 PDF 파일을 생성하는 것입니다. 이 접근법을 사용하면 PDF 카드 버전이 복잡한 CSS 규칙을 사용하지 않고 HTML 페이지와 다르게 보일 수 있습니다.

itepoint 또는 다른 곳에서 내 게시물 중 일부를 읽었다면 아마도 내가 보드 게임을하고 있다는 것을 알고있을 것입니다. Chip Shop이라는이 게임을 사용하면 1980 년대 미국에서 컴퓨터 회사를 운영 할 수 있습니다.

프로젝트의 일환으로, 나는 전체 게임을 가능한 한 많이 오픈하려고했습니다. 몇 번의 시도 후, 나는 대부분의 게임 구성 요소 (특히 카드 및 지침)의 기본 프레임 워크로 Markdown을 사용하기로 결정했습니다.

게임 웹 사이트에서 Jekyll을 사용하기 때문에 게임 웹 사이트는 Markdown 파일에서 생성됩니다. 게임의 프리미엄 사전 박스 및 자체 인쇄 버전을 만들 것입니다.이 버전은 Markdown 파일에서 PDF를 생성해야합니다.

대상

내 이상적인 워크 플로우는 방문자가 요청할 때가 아니라 웹 사이트를 생성하면서 PDF 파일을 생성하는 것입니다. 이것은 생성 된 HTML로부터 PDF를 생성하기 때문에 PDF 생성에 일반적으로 사용하는 옵션 wkhtmltopdf 옵션을 제외합니다. 또 다른 이유는 PDF 카드 버전이 HTML 페이지와 다르게 보이기를 원하기 때문입니다. Jekyll에는 복잡한 CSS 규칙을 사용하지 않고도이를 달성 할 수있는 "보기 모드"기능이 없습니다.

Chip Shop Game의 카드 Markdown 템플릿 파일에는 게임 메커니즘에 대한 많은 Markdown 프리 정보 필드가 포함되어 있으며 모든 필드가 모든 카드에 사용되는 것은 아닙니다. 쉽게 인쇄하려면 카드를 A4 페이지에 최대한 여러 번,이 경우 3 × 3 그리드를 넣어야합니다. 궁극적으로 페이지는 양쪽에 인쇄되어야하지만 아직 구현하지는 않았습니다. Creating PDFs from Markdown with Pandoc and LaTeX

Pandoc and Latex

Markdown에서 PDF 솔루션을 생성하는 웹 검색은 Pandoc의 경로로 이어집니다. Pandoc은 다양한 입력 및 출력 마크 형식을 지원하는 오픈 소스 스위스 군용 나이프 마크 변환 도구입니다.

Pandoc을 사용하여 PDF를 생성하려면 라텍스가 필요합니다. 라텍스는 과학 연구 커뮤니티에서 시작되었으며 문서 선언 및 레이아웃 시스템입니다. Pandoc 및 Latex와 결합하여 변수를 사용하여 일련의 Markdown 파일에서 PDF를 생성하고 Markdown 프리 정보를 지원할 수 있습니다.

강력한 Pandoc과 Latex에도 불구하고, 특히 Markdown 파일에서 변수를 사용할 때 여러 PDF (카드)를 단일 페이지에 결합하는 방법을 찾을 수 없습니다. 많은 연구를 마친 후, 나는이 요구에 대한 간단한 명령 줄 도구 인 PDFJAM을 선택했습니다.

의존성 설치

마크 다운 편집자가 필요한 것 외에 추가 마크 다운 소프트웨어가 필요하지 않습니다. 편집자가 많이 있으며, 선택할 수 있도록 itepoint 기사를 읽는 것이 좋습니다.

jekyll 나는 내 게임에서 가져온 예제의 빌드 프로세스를 설명하기 위해 Jekyll을 계속 사용하지만 웹 사이트가 필요하지 않은 경우 PDF 생성의 필수 부분은 아닙니다. pandoc 내 Mac에서는 홈 브루를 사용하여 Pandoc을 설치했지만 모든 운영 체제에는 해당 옵션이 있습니다.

라텍스

요구 사항에 따라 라텍스를 설치하는 가장 좋은 방법에 대한 단어가 많이 있습니다. 공통 도구 및 라이브러리의 전체 설치는 2GB에 가깝지만 대부분의 목적을 위해 최소한의 설치로 충분합니다. 프로젝트의 다운로드 페이지를 읽고 가장 적합한 옵션을 찾으십시오.

이 튜토리얼에서는 사용자 정의 글꼴을 사용하므로 Xelatex 엔진을 사용합니다. 그러나 필요한 특정 기능을 제공하는 엔진을 선택할 수 있습니다.

pdfjam

라텍스 설치 방법에 따라 pdfjam을 설치했을 수 있습니다. (확인하려면 터미널의 pdfjam을 입력하십시오.) 설치되지 않은 경우 여기에서 설치 세부 정보를 찾으십시오.

빌딩 프로세스

약간의 고려 후, 나는 로컬로 실행되는 bash 스크립트를 실행하는 것이 현재 최선의 선택 인 것 같습니다. 더 나은 방법이 있지만 작동하며 나중에 프로세스를 개선하여 연속 통합 시스템 또는 GIT 후크로 전송할 수 있습니다.

github에서 bash 스크립트를 봅니다.

지금이 스크립트를 단계별로 소개하겠습니다.

설정

이 명령은 Jekyll이 웹 사이트를 구축하는 데 필요한 루비 의존성이 최신 상태이며 기존 웹 사이트 및 인쇄 폴더를 삭제했습니다.

웹 사이트를 구축하십시오 다음, 우리는 웹 사이트를 만들고 인쇄 된 버전의 카드에 대한 폴더를 만듭니다.

마크 다운 에서 pdf를 생성합니다 각 Markdown 파일 PDF 버전이 포함 된 폴더를 작성하겠습니다 :

이 스크립트는 _cards 디렉토리의 각 Markdown 파일을 처리하여 Markdown Pre-Information 필드를 관찰해야합니다. cards.latex 템플릿을 사용하여 (나중에 다룰 것) 올바른 라텍스 엔진은 적절한 이름으로 PDF를 출력합니다.

라텍스 파일 Pandoc에서 카드 파일을 생성하는 대부분의 마법은 라텍스 템플릿에서 발생합니다.

github에서 라텍스 템플릿을 봅니다.

라텍스는 나에게 새롭지 만 너무 복잡하지는 않습니다. 기본 Latex 파일 (pandoc_install_dir/data/templates/default.latex에있는)에서 변경 한 내용을 설명하여 카드를 올바르게 작동하도록합니다. 라텍스 파일을 편집 할 때 미리보기를 위해 sharelatex.com을 추천합니다.

우리는 특정 페이지 크기가 필요하며 열을 사용하여 나중에 카드의 비용과 점수를 표시합니다. 우리는 그래픽과 사용자 정의 글꼴을 사용하고 있으므로 이러한 패키지가 필요합니다.
bundle install
bundle update

rm -dfr _site
rm -dfr pod
우리는 명확하고 간결한 간단한 레이아웃을 만들려고 노력하고 있습니다. 우리가 그것을 구현하는 방법은 다음과 같습니다.

나는 위의 많은 부분이 코딩이나 태깅에 익숙한 사람에게는 이해하기 쉽다고 생각합니다. 카드 요소를 만들고, 정렬하고, 글꼴 크기를 설정하고 값이 있는지 확인한 다음 카드에 빈 필드로 끝나지 않도록 출력합니다.

우리는 이미지를 특정 크기로 크기를 조정하고 그것을 중앙으로 조정합니다. 비용 및 점수 값은 시작 {tabular} 명령을 사용하여 설정하고 L의 수를 사용하여 열 수를 설정합니다.

jekyll build
mkdir -p pod/pdf/cards

한 페이지에 카드를 결합합니다 우리는 pdfjam을 사용하여 각 개별 pdf 카드와 함께 큰 pdf 파일을 만듭니다 :

이 명령을 사용하십시오. 다음을 지정합니다

페이지 방향은 항상 수직

여야합니다 각 개별 PDF는 프레임

이어야합니다 그리드 크기 Creating PDFs from Markdown with Pandoc and LaTeX 파일 이름 접미사 파일 이름

PDFJAM은 작업 디렉토리에 출력하지 않으면 오류가 발생할 수 있으므로 파일을 실제로 원하는 위치로 이동합니다 (미래에 해결되기를 바랍니다). 여기에서 PDF 파일이 필요하지 않으면 단일 PDF 파일을 삭제할 수도 있습니다.

그게 다야 - 우리는 인쇄 가능한 웹 사이트와 게임 카드가 있습니다.

실행 스크립트
for filename in _cards/*.md; do
  echo $filename
  pandoc --from=markdown+yaml_metadata_block --template _layouts/cards.latex -o pod/pdf/cards/"$(basename "$filename" .md)".pdf --latex-engine=xelatex $filename
done
나는 빌드 스크립트를 실행하기 위해

를 사용합니다. 이미지와 PDF 처리가 많기 때문에 약 5-10 분이 소요됩니다. 그런 다음이 폴더를 웹 서버에 배포하는 별도의 스크립트가 있습니다.

다음 단계
  • 이 프로세스는 제대로 얻는 데 시간이 걸렸지 만 게임 테스트 후 프로세스와 레이아웃을 계속 개선하기에 충분합니다.
  • 나는 당신이 나의 연구와 실험이 당신의 프로젝트에 유용하다는 것을 알기를 바랍니다. 의견이나 제안이 있으면 알려주십시오.
  • Pandoc 및 Latex를 사용하여 Markdown에서 PDFS를 생성하는 것에 대한 FAQ (FAQS) FAQS (FAQS)

    내 시스템에 Pandoc 및 Latex를 설치하는 방법은 무엇입니까?

  • Pandoc을 설치하려면 공식 웹 사이트에서 사용할 수 있습니다 ( https://www.php.cn/link/8f1dddd6e7a88b9cf615c146330c591ba9 . Pandoc 및 Latex를 사용하여 생성 된 PDF의 모양을 사용자 정의 할 수 있습니까?

    예, 라텍스 템플릿을 사용하여 PDF의 모양을 사용자 정의 할 수 있습니다. Pandoc은 기본 템플릿을 사용하여 PDF를 생성하지만 Pandoc 및 Latex를 사용하여 Markdown 파일을 PDF로 변환하는 방법은 무엇입니까?

    마크 다운 파일을 PDF로 변환하려면 터미널 또는 명령 프롬프트에서 다음 명령을 사용할 수 있습니다. 마크 다운 파일의 이름으로 --template를 교체하고 PDF 파일의 원하는 이름으로

    를 교체하십시오. 이 명령은 Pandoc에게 기본 라텍스 템플릿을 사용하여 Markdown 파일을 PDF로 변환하도록 지시합니다.

    (나머지 FAQ 내용은 원본 텍스트와 동일하며, 중복을 피하기 위해 여기서 생략)

위 내용은 Pandoc 및 Latex를 사용하여 Markdown에서 PDF를 생성합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
GO와 함께 네트워크 취약성 스캐너 구축GO와 함께 네트워크 취약성 스캐너 구축Apr 01, 2025 am 08:27 AM

이 GO 기반 네트워크 취약점 스캐너는 잠재적 보안 약점을 효율적으로 식별합니다. 속도를 위해 Go의 동시성 기능을 활용하고 서비스 감지 및 취약성 일치를 포함합니다. 그 능력과 윤리를 탐색합시다

2025 년 최고의 무료 백 링크 체커 도구2025 년 최고의 무료 백 링크 체커 도구Mar 21, 2025 am 08:28 AM

웹 사이트 구성은 첫 번째 단계입니다 : SEO 및 백 링크의 중요성 웹 사이트 구축은 웹 사이트를 귀중한 마케팅 자산으로 전환하는 첫 번째 단계 일뿐입니다. 검색 엔진에서 웹 사이트의 가시성을 향상시키고 잠재 고객을 유치하려면 SEO 최적화를 수행해야합니다. 백 링크는 웹 사이트 순위를 향상시키는 열쇠이며 Google 및 기타 검색 엔진에 웹 사이트의 권한 및 신뢰성을 보여줍니다. 모든 백 링크가 유리한 것은 아닙니다. 유해한 링크를 식별하고 피하십시오. 모든 백 링크가 유익한 것은 아닙니다. 유해한 링크는 순위에 해를 끼칠 수 있습니다. 우수한 무료 백 링크 확인 도구는 웹 사이트 링크 소스를 모니터링하고 유해한 링크를 상기시킵니다. 또한 경쟁 업체의 링크 전략을 분석하고 배울 수도 있습니다. 무료 백 링크 점검 도구 : SEO 인텔리전스 책임자

Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Baidu의 다른 국가 제품은 Deepseek과 연결되어 있습니까?Mar 12, 2025 pm 01:48 PM

DeepSeek-R1은 Baidu Library 및 NetDisk에 권한을 부여합니다. 심도있는 사고와 행동의 완벽한 통합은 단 한 달 만에 많은 플랫폼에 빠르게 통합되었습니다. 대담한 전략적 레이아웃을 통해 Baidu는 DeepSeek을 타사 모델 파트너로 통합하여이를 생태계에 통합하여 "큰 모델 검색"생태 전략의 주요 진전을 나타냅니다. Baidu Search 및 Wenxin Intelligent Intelligent 플랫폼은 DeepSeek 및 Wenxin Big Model의 깊은 검색 기능에 처음으로 연결하여 사용자에게 무료 AI 검색 경험을 제공합니다. 동시에 "Baidu로 갈 때 알게 될 것입니다"라는 클래식 슬로건과 새로운 버전의 Baidu 앱은 Wenxin의 큰 모델과 DeepSeek의 기능을 통합하여 "AI Search"및 "Wide Network Information Refinement"를 시작합니다.

Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Deepseek에 대한 첫 번째 안드로이드 액세스 뒤에 : 여성의 힘보기Mar 12, 2025 pm 12:27 PM

AI 분야에서 중국 여성 기술력의 부상 : 기술 분야에 대한 Deepseek 여성의 기여와의 명예의 협력에 대한 이야기는 점점 더 중요 해지고 있습니다. 중국 과학 기술부의 데이터에 따르면 여성 과학 기술 노동자의 수는 거대하며 AI 알고리즘 개발에서 독특한 사회적 가치 민감도를 보여줍니다. 이 기사는 명예 휴대폰에 중점을두고 DeepSeek Big Model에 처음 연결 한 여성 팀의 강점을 탐구하여 기술 발전을 촉진하고 기술 개발의 가치 좌표 시스템을 재구성 할 수있는 방법을 보여줍니다. 2024 년 2 월 8 일, Honor는 공식적으로 DeepSeek-R1 전혈 버전 Big Model을 출시하여 Android 캠프에서 최초의 제조업체가되어 DeepSeek에 연결하여 사용자의 열정적 인 응답을 불러 일으켰습니다. 이 성공 뒤에 여성 팀원은 제품 결정, 기술 혁신 및 사용자를 만들고 있습니다.

DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!DeepSeek의 '놀라운'이익 : 이론적 이익 마진은 545%정도입니다!Mar 12, 2025 pm 12:21 PM

DeepSeek은 Zhihu에 대한 기술 기사를 발표하여 DeepSeek-V3/R1 추론 시스템을 자세히 소개하고 처음으로 주요 재무 데이터를 공개하여 업계의 관심을 끌었습니다. 이 기사는 시스템의 일일 비용 이익 마진이 545%로 높아 글로벌 AI Big Model 이익이 새로운 것으로 나타났습니다. DeepSeek의 저렴한 전략은 시장 경쟁에서 이점을 제공합니다. 모델 교육 비용은 유사한 제품의 1% -5%에 불과하며 V3 모델 교육 비용은 경쟁 업체의 비용보다 훨씬 낮으며 V3 모델 교육 비용은 5 억 5,760 만 달러에 불과합니다. 한편, R1의 API 가격은 Openaio3-Mini의 1/7에서 1/2에 불과합니다. 이 데이터는 DeepSeek 기술 경로의 상업적 타당성을 입증하고 AI 모델의 효율적인 수익성을 확립합니다.

Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Midea는 첫 번째 Deepseek 에어컨을 시작합니다. AI 음성 상호 작용은 40 만 명령을 달성 할 수 있습니다!Mar 12, 2025 pm 12:18 PM

MIDEA는 곧 Deepseek Big Model -Midea Fresh and Clean Air Machine T6을 갖춘 최초의 에어컨을 출시 할 예정입니다. 이 에어컨에는 고급 공기 지능형 주행 시스템이 장착되어있어 환경에 따라 온도, 습도 및 풍속과 같은 매개 변수를 지능적으로 조정할 수 있습니다. 더 중요한 것은 DeepSeek Big 모델을 통합하고 400,000 개 이상의 AI 음성 명령을 지원합니다. Midea의 움직임은 업계에서 격렬한 토론을 일으켰으며 특히 백색 제품과 대형 모델을 결합하는 중요성에 대해 우려하고 있습니다. 전통적인 에어컨의 간단한 온도 설정과 달리 MIDEA Fresh and Clean Air Machine T6은 가정 환경에 따라보다 복잡하고 모호한 지침을 이해하고 습도를 지능적으로 조정하여 사용자 경험을 크게 향상시킬 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경