Đánh dấu chuyển đổi sang LaTeX với phần mở đầu tùy chỉnh bằng Pandoc


16

Tôi biết rằng tôi có thể sử dụng các lệnh -Hhoặc --include-in-headerđể bao gồm một lời mở đầu tùy chỉnh trong đầu ra được tạo. Vấn đề bây giờ là Pandoc bao gồm lời mở đầu của tôi nhưng lại đặt một lời mở đầu khác trước nó:

\documentclass{article}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifxetex
  \usepackage{fontspec,xltxtra,xunicode}
  \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\else
  \ifluatex
    \usepackage{fontspec}
    \defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
  \else
    \usepackage[utf8]{inputenc}
  \fi
\fi
\ifxetex
  \usepackage[setpagesize=false, % page size defined by xetex
              unicode=false, % unicode breaks when used with xetex
              xetex]{hyperref}
\else
  \usepackage[unicode=true]{hyperref}
\fi
\hypersetup{breaklinks=true, pdfborder={0 0 0}}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}
\setlength{\emergencystretch}{3em}  % prevent overfull lines
\setcounter{secnumdepth}{0}

[... my preamble ...]

Tôi biết rằng đây là phần mở đầu LaTeX mặc định ( default.latex) mà Pandoc tải từ templatesthư mục của nó . Điều tương tự cũng xảy ra khi tôi đang sử dụng --include-after-bodyvới \end{document}.

Đây là lệnh tôi đang sử dụng:

pandoc -o output.tex input.txt --include-before-body=header.tex --include-after-body=footer.tex

Câu trả lời:


20

Như bạn đã khám phá, --include-in-headerthêm văn bản vào phần mở đầu được chỉ định trong mẫu LaTeX của Pandoc. Có một vài cách để làm những gì bạn đang cố gắng làm.

  1. Nếu bạn muốn một lời mở đầu hoàn toàn tùy chỉnh, bạn cần chỉ định một tệp mẫu bằng cách sử dụng

    pandoc -o output.tex --template=FILE input.txt
    

    Mẫu có thể có các biến (như $title$và quan trọng hơn là $body$) và các điều kiện. Nếu bạn muốn có một chút cảm hứng, bạn có thể kiểm tra mẫu mặc định bằng lệnh

    pandoc -D latex
    
  2. Nếu bạn muốn sử dụng một mẫu mới một lần và mãi mãi, bạn có thể tạo một mẫu, gọi nó default.latexvà đặt nó vào thư mục mẫu ( ~/.pandoc/templates/trên một máy unix). Trong trường hợp này, bạn cần xác định rằng bạn muốn sử dụng một mẫu bằng cách gọi

    pandoc -o output.tex --standalone input.txt
    
  3. Nếu bạn không muốn xử lý các mẫu, bạn chỉ có thể chạy

    pandoc -o output.tex input.txt
    

    và kết quả sẽ là một tài liệu LaTeX trần, nghĩa là không có lời mở đầu, \begin{document}hoặc \end{document}. Sau đó, bạn có thể thêm một lời mở đầu cho mình. Lưu ý rằng mọi siêu dữ liệu (tiêu đề, tác giả) sẽ bị mất khi sử dụng phương pháp này.

Chi tiết đầy đủ về cách tạo và sử dụng các mẫu có thể được tìm thấy trong trang người đàn ông xuất sắc của Pandoc .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.