1
0
Fork 0
mirror of https://github.com/lise-henry/crowbook synced 2024-05-28 01:36:17 +02:00
crowbook/docs/book/html/chapter_005.html
2017-11-26 21:31:17 +01:00

297 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="generator" content="crowbook">
<meta name="author" content="Élisabeth Henry">
<meta name="viewport" content="width=device-width">
<link rel = "icon" href = "images/image_1.svg">
<title>Crowbook User Guide - 6. Proofreading with Crowbook</title>
<link rel = "stylesheet" href = "stylesheet.css" type = "text/css"
/>
<link rel = "stylesheet" href = "print.css" type = "text/css"
media = "print" />
<script>
function on(name) {
var elements = document.getElementsByClassName(name);
for (var i = 0; i < elements.length; i++) {
var elem = elements[i];
elem.style.backgroundColor = "pink";
}
}
function off(name) {
var elements = document.getElementsByClassName(name);
for (var i = 0; i < elements.length; i++) {
var elem = elements[i];
elem.style.backgroundColor = "white";
}
}
var display_menu = false;
function toggle() {
if (display_menu == true) {
display_menu = false;
document.getElementById("nav").style.left = "-21%";
document.getElementById("content").style.marginLeft = "0%";
document.getElementById("menu").style.left = "1em";
/* if(document.getElementById("top")) {
document.getElementById("top").style.left = "0";
}
if(document.getElementById("footer")) {
document.getElementById("footer").style.marginLeft = "0%";
}*/
} else {
display_menu = true;
document.getElementById("nav").style.left = "0";
document.getElementById("content").style.marginLeft = "20%";
document.getElementById("menu").style.left = "20%";
/* if(document.getElementById("top")) {
document.getElementById("top").style.left = "20%";
}
if(document.getElementById("footer")) {
document.getElementById("footer").style.marginLeft = "20%";
}*/
}
}
</script>
</head>
<body>
<script type = 'application/ld+json'>
{
"@context": "http://schema.org/",
"@type": "Book",
"author": "Élisabeth Henry",
"name": "Crowbook User Guide",
"version": "0.14.0",
"license": "This guide is published under the Creative Commons Attribution-ShareAlike 4.0-International license.",
"about": "Crowbook allows to render a book written in Markdown in various formats. This is some kind of manual for it, and a way to demonstrate and test it.",
"inLanguage": "en"
}
</script>
<nav id = "nav">
<h2><a href = "index.html">Crowbook User Guide</a></h2>
<ul>
<li><a href = "chapter_000.html#link-1">1. Crowbook</a>
<ul><li><a href = "chapter_000.html#link-2">1.1. Example</a></li>
<li><a href = "chapter_000.html#link-3">1.2. Installing</a></li>
<li><a href = "chapter_000.html#link-6">1.3. Dependencies</a></li>
<li><a href = "chapter_000.html#link-7">1.4. Quick tour</a></li>
<li><a href = "chapter_000.html#link-8">1.5. Current features</a></li>
<li><a href = "chapter_000.html#link-18">1.6. Contributors</a></li>
<li><a href = "chapter_000.html#link-19">1.7. Acknowledgements</a></li>
<li><a href = "chapter_000.html#link-20">1.8. ChangeLog</a></li>
<li><a href = "chapter_000.html#link-21">1.9. Contributing</a></li>
<li><a href = "chapter_000.html#link-22">1.10. Library</a></li>
<li><a href = "chapter_000.html#link-23">1.11. License</a></li>
</ul>
</li>
<li><a href = "chapter_001.html#link-24">2. Arguments</a>
<ul><li><a href = "chapter_001.html#link-25">2.1. <code>--create</code></a></li>
<li><a href = "chapter_001.html#link-26">2.2. <code>--single</code></a></li>
<li><a href = "chapter_001.html#link-27">2.3. <code>--set</code></a></li>
<li><a href = "chapter_001.html#link-28">2.4. <code>--list-options</code></a></li>
<li><a href = "chapter_001.html#link-29">2.5. <code>--print-template</code></a></li>
<li><a href = "chapter_001.html#link-30">2.6. <code>--stats</code></a></li>
<li><a href = "chapter_001.html#link-31">2.7. <code>--proofread</code></a></li>
<li><a href = "chapter_001.html#link-32">2.8. <code>--autograph</code></a></li>
<li><a href = "chapter_001.html#link-34">2.9. <code>--verbose</code></a></li>
<li><a href = "chapter_001.html#link-35">2.10. <code>--to</code></a></li>
<li><a href = "chapter_001.html#link-37">2.11. <code>--output</code></a></li>
<li><a href = "chapter_001.html#link-38">2.12. <code>--lang</code></a></li>
</ul>
</li>
<li><a href = "chapter_002.html#link-40">3. The configuration file</a>
<ul><li><a href = "chapter_002.html#link-41">3.1. Configuration in an inline YAML block</a></li>
<li><a href = "chapter_002.html#link-42">3.2. The list of files</a></li>
<li><a href = "chapter_002.html#link-45">3.3. Crowbook options</a></li>
<li><a href = "chapter_002.html#link-60">3.4. Full list of options</a></li>
</ul>
</li>
<li><a href = "chapter_003.html#link-77">4. Markdown format</a>
<ul><li><a href = "chapter_003.html#link-78">4.1. Tables</a></li>
<li><a href = "chapter_003.html#link-79">4.2. Footnotes</a></li>
<li><a href = "chapter_003.html#link-80">4.3. Superscript and subscript</a></li>
<li><a href = "chapter_003.html#link-81">4.4. “Standalone” images</a></li>
<li><a href = "chapter_003.html#link-82">4.5. Interactive fiction</a></li>
</ul>
</li>
<li><a href = "chapter_004.html#link-83">5. Templates</a>
<ul><li><a href = "chapter_004.html#link-84">5.1. Create and edit template</a></li>
<li><a href = "chapter_004.html#link-88">5.2. List of templates</a></li>
<li><a href = "chapter_004.html#link-102">5.3. List of accessible variables</a></li>
</ul>
</li>
<li><a href = "chapter_005.html#link-106">6. Proofreading with Crowbook</a>
<ul><li><a href = "chapter_005.html#link-107">6.1. Enabling proofreading</a></li>
<li><a href = "chapter_005.html#link-108">6.2. Repetition detection</a></li>
<li><a href = "chapter_005.html#link-109">6.3. Grammar checking</a></li>
</ul>
</li>
<li><a href = "chapter_006.html#link-112">7. Interactive fiction</a>
<ul><li><a href = "chapter_006.html#link-113">7.1. Basics</a></li>
<li><a href = "chapter_006.html#link-114">7.2. The interactive fiction renderer</a></li>
<li><a href = "chapter_006.html#link-115">7.3. Using Javascript in your interactive fiction</a></li>
<li><a href = "chapter_006.html#link-116">7.4. Embedding Makdown in your Javascript code embedded in your Markdown</a></li>
<li><a href = "chapter_006.html#link-117">7.5. Conditional blocks</a></li>
<li><a href = "chapter_006.html#link-118">7.6. Interactive fiction options</a></li>
</ul>
</li>
<li><a href = "chapter_007.html#link-119">8. Tips and tricks</a>
<ul><li><a href = "chapter_007.html#link-120">8.1. Using Crowbook with Emacs markdown mode</a></li>
<li><a href = "chapter_007.html#link-122">8.2. Embedding fonts in an EPUB file</a></li>
</ul>
</li>
<li><a href = "chapter_008.html#link-123">9. Contributing</a>
<ul><li><a href = "chapter_008.html#link-124">9.1. Internationalization</a></li>
</ul>
</li>
<li><a href = "chapter_009.html#link-125">ChangeLog</a>
<ul><li><a href = "chapter_009.html#link-126">unreleased</a></li>
<li><a href = "chapter_009.html#link-127">0.14.0-beta (2017-10-08)</a></li>
<li><a href = "chapter_009.html#link-128">0.13.0 (2017-07-14)</a></li>
<li><a href = "chapter_009.html#link-129">0.12.0 (2017-06-05)</a></li>
<li><a href = "chapter_009.html#link-130">0.11.4 (2017-03-21)</a></li>
<li><a href = "chapter_009.html#link-131">0.11.3 (2017-03-19)</a></li>
<li><a href = "chapter_009.html#link-132">0.11.2 (2017-03-05)</a></li>
<li><a href = "chapter_009.html#link-133">0.11.1 (2017-01-05)</a></li>
<li><a href = "chapter_009.html#link-134">0.11.0 (2016-12-31)</a></li>
<li><a href = "chapter_009.html#link-135">0.10.4 (2016-12-16)</a></li>
<li><a href = "chapter_009.html#link-136">0.10.3 (2016-11-19)</a></li>
<li><a href = "chapter_009.html#link-137">0.10.2 (2016-10-21)</a></li>
<li><a href = "chapter_009.html#link-138">0.10.1 (2016-10-18)</a></li>
<li><a href = "chapter_009.html#link-139">0.10.0 (2016-10-18)</a></li>
<li><a href = "chapter_009.html#link-140">0.9.1 (2016-09-29)</a></li>
<li><a href = "chapter_009.html#link-141">0.9.0 (2016-09-23)</a></li>
<li><a href = "chapter_009.html#link-142">0.8.0 (2016-09-19)</a></li>
<li><a href = "chapter_009.html#link-143">0.7.0 (2016-09-11)</a></li>
<li><a href = "chapter_009.html#link-144">0.6.0 (2016-09-09)</a></li>
<li><a href = "chapter_009.html#link-145">0.5.1 (2016-04-14)</a></li>
<li><a href = "chapter_009.html#link-146">0.5.0 (2016-04-02)</a></li>
<li><a href = "chapter_009.html#link-147">0.4.0 (2016-03-01)</a></li>
<li><a href = "chapter_009.html#link-148">0.3.0 (2016-02-27)</a></li>
<li><a href = "chapter_009.html#link-149">0.2.2 (2016-02-25)</a></li>
<li><a href = "chapter_009.html#link-150">0.2.1 (2016-02-25)</a></li>
<li><a href = "chapter_009.html#link-151">0.2.0 (2016-02-25)</a></li>
<li><a href = "chapter_009.html#link-152">0.1.0 (2016-02-21)</a></li>
</ul>
</li>
<li><a href = "chapter_010.html#link-153">GNU LESSER GENERAL PUBLIC LICENSE</a></li>
</ul>
</nav>
<div id = "content">
<div id = "top"><p id = "para-356">Crowbook User Guide 0.14.0</p>
</div>
<div id = "page">
<header>
<div id = "menu">
<img id = "menu-button" onclick="toggle();"
src="menu.svg" alt = "Table of contents" title = "Table of contents" />
</div>
</header>
<p class = "prev_chapter">
<a href = "chapter_004.html">
« 5. Templates
</a>
</p>
<h1 id = 'link-106'><span class = 'chapter-header'>Chapter 6</span><br />Proofreading with Crowbook</h1><p id = "para-226">Crowbook includes some proofreading features, that can be enabled if you set one of the</p>
<ul>
<li><code>output.proofread.html</code></li>
<li><code>output.proofread.html_dir</code></li>
<li><code>output.proofread.pdf</code></li>
</ul>
<p id = "para-227">output files (or include <code>proofread.pdf</code> in the list of formats to render to <code>output</code>). This allows you to generate different files for publishing and proofreading (you probably dont want to publish a version that highlights your grammar errors or your repetitions).</p>
<p id = "para-228">Current proofreading features are:</p>
<ul>
<li>repetition detection;</li>
<li>grammar check.</li>
</ul>
<h2 id = "link-107">6.1. Enabling proofreading</h2>
<p id = "para-229">Since proofreading can take quite a lot of time, particularly for a long book, it is disabled by default. Youll have to run</p>
<pre><span style="color:#839496;">$ crowbook --proofread my.book
</span></pre><p id = "para-230">or</p>
<pre><span style="color:#839496;">$ crowbook -p my.book
</span></pre><p id = "para-231">to generate proofreading copies. Alternatively, if you want it to be activated each time you run <code>crowbook</code> on this book (which is <em>not</em> recommanded for long books, particularly if you want to perform a grammar check), you can set</p>
<pre><span style="color:#268bd2;">proofread</span><span style="color:#839496;">:</span><span style="color:#839496;"> </span><span style="color:#b58900;">true</span><span style="color:#839496;">
</span></pre><p id = "para-232">in the book configuration file.</p>
<h2 id = "link-108">6.2. Repetition detection</h2>
<p id = "para-233">Repetition detection is enabled with:</p>
<pre><span style="color:#268bd2;">proofread.repetitions</span><span style="color:#839496;">:</span><span style="color:#839496;"> </span><span style="color:#b58900;">true</span><span style="color:#839496;">
</span></pre><p id = "para-234">It uses <a href = "https://github.com/lise-henry/caribon">Caribon</a> library to detect the repetition in your text. Since the notion of a repetition is relatively arbitrary, it is possible to adapt the settings. Default are:</p>
<pre><span style="color:#586e75;">#</span><span style="color:#586e75;"> The maximum distance between two identical words to
# consider them a repetition
proofread.repetitions.max_distance: 25
# The minimal number of occurences to consider it a repetition
proofread.repetitions.threshold: 2.0
# Ignore proper nouns (words starting by a capital,
# not at a beginning of a sentence)
proofread.repetitions.ignore_proper: true
# Activate fuzzy string matching
proofread.repetitions.fuzzy: true
# The maximal ratio of difference to consider
# that two words are identical
# (E.g., with 0.2, &quot;Rust&quot; and &quot;Lust&quot; won&#39;t be
# considered as the same word, but they will be with 0.5)
proofread.repetitions.fuzzy.threshold: 0.2
</span></pre><p id = "para-235">For more information, see <a href = "https://github.com/lise-henry/caribon">Caribon</a>s documentation.</p>
<blockquote><p id = "para-236">Currently, repetitions are not displayed in PDF proofreading output.</p>
</blockquote>
<h2 id = "link-109">6.3. Grammar checking</h2>
<h3 id = "link-110">With Languagetool</h3>
<p id = "para-237">Crowbook can use <a href = "https://languagetool.org/">LanguageTool</a> to detect grammar errors in your text. It is, however, a bit more complex to activate.</p>
<p id = "para-238">First, youll have to activate this feature in your book configuration file:</p>
<pre><span style="color:#586e75;">#</span><span style="color:#586e75;"> Activate language tool support
proofread.languagetool: true
# (Optional) Sets the port number to connect to (default below)
proofread.languagetool.port: 8081
</span></pre><p id = "para-239">Youll then have to download the stand-alone version of <a href = "https://languagetool.org/">LanguageTool</a>. It includes a server mode, which youll have to launch:</p>
<pre><span style="color:#839496;">$ </span><span style="color:#859900;">java</span><span style="color:#839496;"> -</span><span style="color:#859900;">cp</span><span style="color:#839496;"> languagetool-server.</span><span style="color:#859900;">jar</span><span style="color:#839496;"> org.languagetool.server.HTTPServer --port 8081
</span></pre><p id = "para-240">You can also use the LanguageTool GUI (<code>languagetool.jar</code>) and start the server from the menu “Text Checking -&gt; Options”. This also allows you to configure LanguageTool more precisely by activating or deactivating rules.</p>
<p id = "para-241">You can then run Crowbook, and it will highlight grammar errors in HTML or PDF proofreading output files.</p>
<blockquote><p id = "para-242">Note: running a grammar check on a long book (like a novel) can take up to a few minutes.</p>
</blockquote>
<h3 id = "link-111">With Grammalecte</h3>
<p id = "para-243"><a href = "http://grammalecte.net/">Grammalecte</a> is a grammar checker specialized for the french language. If the language of your book is french, you can use it in a similar fashion to languagetool:</p>
<pre><span style="color:#586e75;">#</span><span style="color:#586e75;"> Activate grammalecte support
proofread.grammalecte: true
# (Optional) Sets the port number to connect to (default below)
proofread.grammalecte.port: 8080
</span></pre><p id = "para-244">Youll also need to run the Grammalecte server. First <a href = "https://www.dicollecte.org/#download_div">download the CLI and server version</a>, then:</p>
<pre><span style="color:#839496;">$ </span><span style="color:#859900;">python3</span><span style="color:#839496;"> server.</span><span style="color:#859900;">py</span><span style="color:#839496;">
</span></pre><p id = "para-245">You can then run Crowbook with <code>--proofread</code> to check the grammar of your book. It is possible to run both LanguageTool and Grammalecte on the same book (though might take a while for a long book...).</p>
<p class = "next_chapter">
<a href = "chapter_006.html">
7. Interactive fiction »
</a>
</p>
</div>
<footer id = "footer"><p id = "para-355">Generated by <a href = "https://github.com/lise-henry/crowbook">Crowbook</a> 0.14.0</p>
</footer>
</div>
</body>
</html>