ngắt trang trong đánh dấu trong khi tạo pdf


84

Tôi đang tạo một pdf của tệp văn bản đánh dấu bằng cách sử dụng doxygen (1.8.6). Bây giờ tôi muốn ngắt trang ở giai đoạn cụ thể trong tệp đánh dấu, tôi đã sử dụng liên kết này .

Trong liên kết nhất định, họ đã đề cập đến việc sử dụng '>' để ngắt dòng. Nhưng họ chưa đề cập đến việc ngắt trang. Có, tôi cũng có thể sử dụng '>' để ngắt trang nhưng tôi phải viết ký hiệu này 5 lần trở lên trên tệp văn bản đánh dấu và điều đó làm cho tệp đánh dấu trông kỳ lạ. Có cách nào khác để ngắt trang trong tệp đánh dấu không?


1
Bạn đã truy cập vào mã như: Trang Chính của Tôi {#mainpage} ============ Đây là văn bản trên trang đầu tiên \ latexonly \ newpage \ endlatexonly Đây là văn bản trên trang thứ hai
albert

@albert tôi không tìm thấy bất kỳ mainpage từ khóa trong latex thư mục
user2760375

1
Ví dụ tôi đã đưa ra tạo một trang chính bao gồm 2 trang. Phần quan trọng đối với bạn sẽ là \ latexonly .... \ endlatexonly. Khi bạn đặt ví dụ của tôi vào một tệp (ví dụ: aa.md), bạn có thể thấy 2 trang khi bạn tạo đầu ra latex.
albert

@albert vâng bây giờ tôi đã nhận nó trước đó tôi đã không sử dụng lệnh latexonly trong tập tin văn bản Now tôi đã nhận nó nhờ
user2760375

Câu trả lời:


60

Tôi gặp phải vấn đề tương tự và giải quyết nó bằng cách chèn

\ngắt trang

Nó thực sự là một lệnh LaTeX, chứ không phải là một lệnh Markdown.


1
điều này hoạt động tốt với pandoc. chèn ngắt trang trong pdf latex mà không can thiệp vào kết xuất html.
joelostblom

2
thx, tôi chỉ đang tìm kiếm cái đó :) Nó cũng hoạt động trong công cụ đan của R.
Tetlanesh

3
Markdown không hỗ trợ Latex, trong khi nó lại hỗ trợ HTML và CSS. Đây là lý do tại sao câu trả lời của @ tomodian dưới đây có nhiều phiếu bầu hơn. Giải pháp này hoạt động trong một số trường hợp (đặc biệt là trong R Markdown, như Tetlanesh đã đề cập), nhưng không phải trong tất cả. Chọn câu trả lời của tomodian dưới đây ... nó dễ di động hơn.
Mike Williamson

Vì câu hỏi OP là về đánh dấu chung, tôi cảm thấy câu trả lời này sẽ không hoạt động / hữu ích cho hầu hết mọi người. Câu trả lời của @ tomodian là IMO tốt nhất.
Briford Wylie,

200

Vì Markdown chấp nhận HTML và CSS thuần túy, nên chỉ cần thêm dòng này vào bất cứ đâu bạn muốn buộc ngắt trang.

<div style="page-break-after: always;"></div>

Nếu trình chỉnh sửa Markdown của bạn gặp sự cố khi xuất PDF chính xác, trước tiên hãy thử xuất dưới dạng HTML, sau đó mở bằng trình duyệt của bạn và in dưới dạng PDF.


5
Đây là câu trả lời chính xác. Những loại phong cách 'hack' có lẽ là lý do tại sao John chấp nhận HTML / CSS
CousinCocaine

3
Đây là câu trả lời chính xác. Và nó hoạt động với quả cầu lửa dám Markdown tốt
Dimitry K

3
Đây là giải pháp áp dụng và được hỗ trợ rộng rãi nhất mà tôi đã thử nghiệm.
Beytan Kurt

1
Mục w3schools trên page-break-before cho biết, "Lưu ý: Bạn không thể sử dụng thuộc tính này trên một <div> trống hoặc trên các phần tử được định vị hoàn toàn." Tôi sẽ sử dụng nó nếu nó hoạt động (nhưng than ôi không có trong Jupyter).)
FutureNerd

14

Tôi biết rằng đây là một câu hỏi chết người, nhưng tôi đã tìm ra một cách mà tôi nghĩ có thể hữu ích cho những người khác ngoài tôi.

Bạn có thể sử dụng lệnh \ pagebreak bên trong một phần tử ẩn. Theo cách này, nó hoạt động với latex và html.

<div style="page-break-after: always; visibility: hidden"> 
\pagebreak 
</div>

Tại sao không sử dụng các lệnh doxygen như \htmlonlyvới <div>vv và \latexonly´ with \ pagebrak`, thay vì thủ thuật này.
albert

3
vì thủ thuật này có thể di động bên ngoài doxygen và bạn có thể sử dụng nó ngay cả với pandoc.
Noè Murr

10

Dấu ngoặc kép so với ngắt dòng

>không được sử dụng cho ngắt dòng trong Markdown. Nó được sử dụng cho các dấu ngoặc kép. Ví dụ: mã Markdown sau

> A man provided with paper, pencil, and rubber, and
> subject to strict discipline, is in effect a universal machine.

trở thành

Một người đàn ông được cung cấp giấy, bút chì và cao su, và bị kỷ luật nghiêm ngặt, thực chất là một cỗ máy vạn năng.

(Đây là câu nói của Alan Turing .)

Lưu ý cách nó được hiển thị với nền màu vàng bởi Stack Overflow. Nếu bạn kiểm tra đánh dấu đã tạo, bạn sẽ thấy <blockquote>các thẻ đang được sử dụng.

Dấu ngắt dòng thường có thể được chèn bằng cách kết thúc một dòng có hai hoặc nhiều khoảng trắng (cú pháp Markdown) hoặc bằng cách sử dụng <br>các thẻ thô (hầu hết các bộ xử lý Markdown cho phép HTML nội tuyến). Ví dụ: (sử dụng để đại diện cho một khoảng trắng), Markdown này

123 Fake Street␣␣
Springfield, USA

trở thành

123 Fake Street
Springfield, Hoa Kỳ

Ngắt trang

Vì đặc điểm kỹ thuật ban đầu Markdown được thiết kế cho đầu ra HTML (không có khái niệm về trang) nên không hỗ trợ ngắt trang.

Doxygen sử dụng LaTeX để tạo các tệp PDF của nó . Nó dường như không hỗ trợ LaTeX¹ nội tuyến, nhưng bạn sẽ có thể sửa đổi .textệp trung gian và sau đó sử dụng pdflatexđể tạo PDF của mình:

  1. Sử dụng Doxygen để tạo .textệp
  2. Chỉnh sửa .textệp thêm theo cách thủ công vào \newpagebất cứ nơi nào bạn muốn ngắt trang
  3. Chạy pdflatex documentation.tex
  4. Xem xét documentation.pdf

Câu hỏi này có thể là một tài liệu tham khảo hữu ích cho bước 3 ở trên.

¹Doxygen không hỗ trợ các công thức LaTeX nội tuyến , nhưng tôi không thể tìm thấy bất kỳ đề cập nào về các lệnh LaTeX nội tuyến tùy ý như \newpagevậy hoạt động trong môi trường văn bản.


Xin chào Ban đầu tôi đã xem qua phương pháp tiếp cận tệp .tex, mặc dù tôi muốn sử dụng phương pháp đánh dấu thuần túy để tạo pdf và vâng, tôi cũng đã thử \ newpage nhưng không hiệu quả.
user2760375 Ngày

1
Không có cách tiếp cận Markdown thuần túy vì Markdown không bao gồm cú pháp ngắt trang. Mặc dù có nhiều tiện ích mở rộng Markdown, tôi không biết bất kỳ tiện ích mở rộng nào bổ sung hỗ trợ ngắt trang. Bạn có thể thử một cái gì đó như Pandoc hỗ trợ LaTeX nội tuyến , nhưng tôi tưởng tượng bạn đang sử dụng Doxygen cho khả năng trích xuất các khối tài liệu từ mã nguồn, điều mà Pandoc không làm được. Có lẽ tôi sai về điều đó ...
Chris

4

Mặc dù những câu trả lời này hoạt động - chúng phá vỡ một trong những mục tiêu của Markdown (MD), đó là trở nên rất dễ đọc như một tài liệu văn bản thẳng cũng như có thể được định dạng thành các bản trình bày phong phú hơn.

Ngay sau khi bạn bắt đầu nhúng một loạt HTML / CSS vào văn bản, bạn sẽ mất đi khía cạnh đầu tiên của MD. Bạn cũng có thể sử dụng Word, Libre, HTML / CSS, v.v.

Tôi nghĩ MD sẽ làm tốt nếu thêm chuỗi ngắt trang. Một cái gì đó như: <<<<>>>>hoặc tương tự với các toán tử định dạng. Tôi sử dụng nó trong văn bản MD của tôi. Nó không gây ra ngắt trang trong trình chuyển đổi PDF hoặc HTML, nhưng nó có thể nhận biết được ở cả hai dạng đó và dạng văn bản thuần túy.


3

Giải pháp cuối cùng là chỉnh sửa thủ công đầu ra HTML để hiển thị thành PDF như bạn muốn.

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.