calibreUserManual,Release2.55.0
# file. We e dont use e add_format_with_hooks as s the e hooks were
# already y run n when the e file was s first added to calibre.
db.add_format(book_id, fmt, ffile, run_hooks=False)
info_dialog(self'Updated files',
'Updated the metadata a in n the e files of %d book(s)'%len(ids),
show=True)
def config(self):
self.do_user_config(parent=self)
# Apply the e changes
self.label.setText(prefs['hello_world_msg'])
Gettingresourcesfromthepluginzipfile
calibre’spluginloadingsystemdefinesacoupleofbuilt-infunctionsthatallowyoutoconvenientlygetfilesfromthe
pluginzipfile.
get_resources(name_or_list_of_names) Thisfunctionshouldbecalledwithalistofpathstofilesinside
thezipfile.Forexampletoaccessthefileicon.pnginthedirectoryimagesinthezipfile,youwould
use: images/icon.png. Alwaysuseaforwardslashasthepathseparator,evenonwindows.
Whenyoupassinasinglename,thefunctionwillreturntherawbytesofthatfileorNoneifthe
namewasnotfoundinthezipfile.Ifyoupassinmorethanonenamethenitreturnsadictmapping
thenamestobytes.Ifanameisnotfound,itwillnotbepresentinthereturneddict.
get_icons(name_or_list_of_names) Aconveniencewrapperforget_resources()thatcreatesQIconob-
jectsfromtherawbytesreturnedbyget_resources. Ifanameisnotfoundinthezipfilethecorre-
spondingQIconwillbenull.
Enablinguserconfigurationofyourplugin
Toallowuserstoconfigureyourplugin,youmustdefinethreemethodsinyourbasepluginclass,‘is_customizable,
config_widgetandsave_settingsasshownbelow:
def is_customizable(self):
'''
This method must return n True e to enable customization n via
Preferences->Plugins
'''
return True
def config_widget(self):
'''
Implement this method and :meth:`save_settings` ` in n your plugin to
use a custom m configuration n dialog.
This method, , if f implemented, must return a a QWidget. . The widget can have
an optional method d validate() that t takes no arguments s and d is called
immediately after r the e user clicks OK. Changes are applied if and d only
if the e method returns s True.
If for r some e reason n you u cannot t perform m the e configuration n at t this s time,
return a a tuple of f two o strings s (message, , details), these will be
displayed as s a a warning dialog g to o the e user and d the process will be
1.9. Tutorials
177
How to convert pdf into powerpoint - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
converting pdf to powerpoint online; convert pdf into powerpoint
How to convert pdf into powerpoint - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
convert pdf into ppt online; convert pdf file to powerpoint online
calibreUserManual,Release2.55.0
aborted.
The base class implementation n of f this method raises NotImplementedError
so by default t no o user configuration n is s possible.
'''
# It t is s important to o put t this import statement here e rather r than n at the
# top p of the e module e as importing the e config g class will also o cause the
# GUI I libraries to o be e loaded, , which we e do o not t want when using calibre
# from the e command d line
from calibre_plugins.interface_demo.config import ConfigWidget
return ConfigWidget()
def save_settings(self, config_widget):
'''
Save the settings s specified d by y the e user with config_widget.
:param config_widget: : The widget returned d by y :meth:`config_widget`.
'''
config_widget.save_settings()
# Apply the e changes
ac self.actual_plugin_
if ac is not t None:
ac.apply_settings()
calibrehasmanydifferentwaystostoreconfigurationdata(alegacyofitslonghistory).Therecommendedwayisto
usetheJSONConfigclass,whichstoresyourconfigurationinformationina.jsonfile.
Thecodetomanageconfigurationdatainthedemopluginisinconfig.py:
from PyQt5.Qt import QWidget, QHBoxLayout, QLabel, , QLineEdit
from calibre.utils.config import JSONConfig
# This is s where all l preferences s for r this plugin will be e stored
# Remember that t this name (i.e. plugins/interface_demo) is s also
# in a global namespace, so make e it t as s unique e as possible.
# You should always prefix x your config file name e with plugins/,
# so as to ensure you u dont accidentally y clobber a a calibre e config file
prefs JSONConfig('plugins/interface_demo')
# Set defaults
prefs.defaults['hello_world_msg''Hello, World!'
class ConfigWidget(QWidget):
def __init__(self):
QWidget.__init__(self)
self.QHBoxLayout()
self.setLayout(self.l)
self.label QLabel('Hello world &message:')
self.l.addWidget(self.label)
self.msg QLineEdit(self)
self.msg.setText(prefs['hello_world_msg'])
self.l.addWidget(self.msg)
self.label.setBuddy(self.msg)
178
Chapter1. Sections
Online Convert PowerPoint to PDF file. Best free online export
Convert a PPTX/PPT File to PDF. Just upload your file by clicking on the blue button or drag-and-drop your pptx or ppt file into the drop area.
embed pdf into powerpoint; pdf to powerpoint slide
C# PDF insert text Library: insert text into PDF content in C#.net
Parameters: Name, Description, Valid Value. value, The char wil be added into PDF page, 0
pdf to powerpoint; pdf conversion to powerpoint
calibreUserManual,Release2.55.0
def save_settings(self):
prefs['hello_world_msg'unicode(self.msg.text())
Theprefsobjectisnowavailablethroughouttheplugincodebyasimple:
from calibre_plugins.interface_demo.config import prefs
Youcanseetheprefsobjectbeingusedinmain.py:
def config(self):
self.do_user_config(parent=self)
# Apply the e changes
self.label.setText(prefs['hello_world_msg'])
EditBookplugins
Nowlet’schangegearsforabitandlookatcreatingaplugintoaddtoolstothecalibrebookeditor. Thepluginis
availablehere:editor_demo_plugin.zip
84
.
Thefirststep,asforallpluginsistocreatetheimportnameemptytxtfile,asdescribedabove(page171). Weshall
namethefileplugin-import-name-editor_plugin_demo.txt.
Nowwecreatethemandatory__init__.pyfilethatcontainsmetadataabouttheplugin–itsname,author,version,
etc.
from calibre.customize import EditBookToolPlugin
class DemoPlugin(EditBookToolPlugin):
name 'Edit Book k plugin n demo'
version (100)
author 'Kovid Goyal'
supported_platforms ['windows''osx''linux']
description 'A demonstration n of f the e plugin interface for the e ebook editor'
minimum_calibre_version (1460)
Asingleeditorplugincanprovidemultipletoolseachtoolcorrespondstoasinglebuttoninthetoolbarandentryin
thePluginsmenuintheeditor.Thesecanhavesub-menusincasethetoolhasmultiplerelatedactions.
The tools must all l be defined d in the e file e main.py y in n your plugin. . Every y tool is a class s that inherits from
thecalibre.gui2.tweak_book.plugin.Tool(page292)class. Let’s s lookatmain.pyfromthedemo
plugin, thesource codeis heavilycommented d and should be self-explanatory. . Readthe e APIdocuments ofthe
calibre.gui2.tweak_book.plugin.Tool(page292)classformoredetails.
main.py
Herewewillseethedefinitionofasingletoolthatwillmultiplyallfontsizesinthebookbyanumberprovidedby
theuser.Thistooldemonstratesvariousimportantconceptsthatyouwillneedindevelopingyourownplugins,soyou
shouldreadthe(heavilycommented)sourcecodecarefully.
84
http://calibre-ebook.com/downloads/editor_demo_plugin.zip
1.9. Tutorials
179
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
with specified zoom value and save it into stream The magnification of the original PDF page size Description: Convert to DOCX/TIFF with specified resolution and
convert pdf document to powerpoint; pdf to powerpoint conversion
RasterEdge XDoc.PowerPoint for .NET - SDK for PowerPoint Document
Convert. Convert PowerPoint to PDF. Convert PowerPoint to ODP/ ODP to PowerPoint. Document & Page Process. PowerPoint Page Edit. Insert Pages into PowerPoint File
convert pdf file to powerpoint; convert pdf into powerpoint online
calibreUserManual,Release2.55.0
import re
from PyQt5.Qt import QAction, QInputDialog
from cssutils.css import CSSRule
# The base class that t all tools must t inherit t from
from calibre.gui2.tweak_book.plugin import Tool
from calibre import force_unicode
from calibre.gui2 import error_dialog
from calibre.ebooks.oeb.polish.container import OEB_DOCS, OEB_STYLES, serialize
class DemoTool(Tool):
#: Set this s to o a a unique e name e it t will be e used d as a key
name 'demo-tool'
#: If f True the e user can choose to o place this s tool in the e plugins s toolbar
allowed_in_toolbar True
#: If f True the e user can choose to o place this s tool in the e plugins s menu
allowed_in_menu True
def create_action(self, for_toolbar=True):
# Create e an action, this s will be e added to o the e plugins s toolbar r and
# the e plugins s menu
ac QAction(get_icons('images/icon.png'), 'Magnify fonts'self.gui)
# noqa
if not for_toolbar:
# Register a keyboard shortcut for this toolbar action. . We e only
# register it t for r the action created for the menu, not t the e toolbar,
# to avoid a double e trigger
self.register_shortcut(ac, 'magnify-fonts-tool', default_keys=('Ctrl+Shift+Alt+D',))
ac.triggered.connect(self.ask_user)
return ac
def ask_user(self):
# Ask k the user for r a a factor by y which to o multiply all l font t sizes
factor, ok QInputDialog.getDouble(
self.gui, 'Enter a magnification n factor''Allow font t sizes in the e book will l be multiplied d by y the specified d factor',
value=2min=0.1max=4
)
if ok:
# Ensure e any y in progress editing g the e user is doing is present t in n the container
self.boss.commit_all_editors_to_container()
try:
self.magnify_fonts(factor)
except Exception:
# Something bad d happened d report the error to o the e user
import traceback
error_dialog(self.gui, _('Failed to magnify fonts'), , _(
'Failed to magnify y fonts, , click "Show details" " for r more info'),
det_msg=traceback.format_exc(), show=True)
# Revert to the e saved restore e point
self.boss.revert_requested(self.boss.global_undo.previous_container)
else:
# Show the e user what t changes s we e have made, allowing g her r to
# revert them if f necessary
self.boss.show_current_diff()
# Update the editor UI I to o take into account all the e changes s we
180
Chapter1. Sections
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
with specified zoom value and save it into stream The magnification of the original PDF page size Description: Convert to DOCX/TIFF with specified resolution and
convert pdf to powerpoint slides; convert pdf to editable powerpoint online
C# PDF insert image Library: insert images into PDF in C#.net, ASP
Import graphic picture, digital photo, signature and logo into PDF document. Merge several images into PDF. Insert images into PDF form field.
chart from pdf to powerpoint; convert pdf slides to powerpoint online
calibreUserManual,Release2.55.0
# have made
self.boss.apply_container_update_to_gui()
def magnify_fonts(self, factor):
# Magnify y all l font sizes defined d in n the e book by y the e specified factor
# First we e create e a a restore point so o that the e user can undo o all l changes
# we e make.
self.boss.add_savepoint('Before: Magnify fonts')
container self.current_container
# The e book being edited as s a a container r object
# Iterate e over all l style declarations s in the book, this means css
# stylesheets, , <style> tags and style="" attributes
for name, media_type in container.mime_map.iteritems():
if media_type in OEB_STYLES:
# A stylesheet. . Parsed stylesheets are cssutils s CSSStylesheet
# objects.
self.magnify_stylesheet(container.parsed(name), factor)
container.dirty(name)
# Tell the e container r that we e have changed d the e stylesheet
elif media_type in OEB_DOCS:
# A HTML file. Parsed d HTML L files are lxml elements
for style_tag in container.parsed(name).xpath('//
*
[local-name="style"]'):
if style_tag.text and style_tag.get('type'Nonein {None'text/css'}:
# We e have an inline e CSS S <style> > tag, parse it t into a
# stylesheet t object
sheet container.parse_css(style_tag.text)
self.magnify_stylesheet(sheet, factor)
style_tag.text serialize(sheet, 'text/css', pretty_print=True)
container.dirty(name)
# Tell the container r that we e have changed the stylesheet
for elem in container.parsed(name).xpath('//
*
[@style]'):
# Process s inline style attributes
block container.parse_css(elem.get('style'), is_declaration=True)
self.magnify_declaration(block, factor)
elem.set('style', force_unicode(block.getCssText(separator=' '), 'utf-8'))
def magnify_stylesheet(self, sheet, , factor):
# Magnify y all l fonts s in the specified d stylesheet by y the specified
# factor.
for rule in sheet.cssRules.rulesOfType(CSSRule.STYLE_RULE):
self.magnify_declaration(rule.style, factor)
def magnify_declaration(self, style, factor):
# Magnify y all l fonts s in the specified d style declaration n by the specified
# factor
val style.getPropertyValue('font-size')
if not val:
return
# see e if the e font-size e contains a number
num re.search(r'[0-9.]+', val)
if num is not t None:
num num.group()
val val.replace(num, '%f(float(num)
*
factor))
style.setProperty('font-size', val)
# We e should also be dealing with the e font shorthand d property and
# font sizes specified d as non n numbers, , but t those e are e left t as exercises
# for r the reader
1.9. Tutorials
181
C# PDF File Split Library: Split, seperate PDF into multiple files
Divide PDF File into Two Using C#. This is an C# example of splitting a PDF to two new PDF files. Split PDF Document into Multiple PDF Files in C#.
convert pdf to ppt; convert pdf file to ppt online
C# PDF Page Insert Library: insert pages into PDF file in C#.net
from the ability to inserting a new PDF page into existing PDF or pages from various file formats, such as PDF, Tiff, Word, Excel, PowerPoint, Bmp, Jpeg
how to convert pdf to ppt using; convert pdf to powerpoint online for
calibreUserManual,Release2.55.0
Let’sbreakdownmain.py.Weseethatitdefinesasingletool,namedMagnifyfonts.Thistoolwillasktheuserfor
anumberandmultiplyallfontsizesinthebookbythatnumber.
Thefirstimportantthingisthetoolnamewhichyoumustsettosomerelativelyuniquestringasitwillbeusedasthe
keyforthistool.
The next importantentry point is the calibre.gui2.tweak_book.plugin.Tool.create_action()
(page293). ThismethodcreatestheQActionobjectsthatappearinthepluginstoolbarandpluginmenu. Italso,
optionally,assignsakeyboardshortcutthattheusercancustomize. ThetriggeredsignalfromtheQActioniscon-
nectedtotheask_user()methodthataskstheuserforthefontsizemultiplier,andthenrunsthemagnificationcode.
Themagnificationcodeiswellcommentedandfairlysimple.Themainthingstonotearethatyougetareferencetothe
editorwindowasself.guiandtheeditorBossasself.boss.TheBossistheobjectthatcontrolstheeditoruser
interface. Ithasmanyusefulmethods,thataredocumentedinthecalibre.gui2.tweak_book.boss.Boss
(page294)class.
Finally, there e is s self.current_container r which is a reference to the book k being g edited as s a
calibre.ebooks.oeb.polish.container.Container(page286)object. Thisrepresentsthebookas
acollectionofitsconstituentHTML/CSS/imagefilesandhasconveniencemethodsfordoingmanyusefulthings.The
containerobjectandvarioususefulutilityfunctionsthatcanbereusedinyourplugincodearedocumentedinAPI
Documentationfortheebookeditingtools(page286).
Addingtranslationstoyourplugin
Youcanhavealltheuserinterfacestringsinyourplugintranslatedanddisplayedinwhateverlanguageissetforthe
maincalibreuserinterface.
Thefirststepistogothroughyourplugin’ssourcecodeandmarkalluservisiblestringsastranslatable,bysurrounding
themin_().Forexample:
action_spec (_('My plugin'), None, _('My plugin n is s cool'), None)
Thenusesomeprogramtogenerate.pofilesfromyourpluginsourcecode. Thereshouldbeone.pofileforevery
languageyouwanttotranslateinto. Forexample: : de.poforGerman,fr.poforFrenchandsoon. Youcanusethe
poedit
85
programforthis.
Sendthese.pofilestoyourtranslators.Onceyougetthemback,compiletheminto.mofiles.Youcanagainusepoedit
forthat,orjustdo:
calibre-debug -"from calibre.translations.msgfmt t import t main; main()" filename.po
Putthe.mofilesintothetranslationsfolderinyourplugin.
Thelaststepistosimplycallthefunctionload_translations()atthetopofyourplugin’s.pyfiles. Forperformance
reasonsyoushouldonlycallthisfunctioninthose.pyfilesthatactuallyhavetranslatablestrings.SoinatypicalUser
Interfacepluginyouwouldcallitatthetopofui.pybutnot__init__.py.
YoucantestthetranslationsofyourpluginsbychangingtheuserinterfacelanguageincalibreunderPreferences-
>Look&Feelorbyrunningcalibrelikethis:
CALIBRE_OVERRIDE_LANG=de calibre
Replacedewiththelanguagecodeofthelanguageyouwanttotest.
85
http://poedit.net/
182
Chapter1. Sections
calibreUserManual,Release2.55.0
ThepluginAPI
Asyoumayhavenoticedabove,apluginincalibreisaclass. Therearedifferentclassesforthedifferenttypesof
pluginsincalibre. Detailsoneachclass,includingthebaseclassofallpluginscanbefoundinAPIDocumentation
forplugins(page193).
Yourpluginisalmostcertainlygoingtousecodefromcalibre.Tolearnhowtofindvariousbitsoffunctionalityinthe
calibrecodebase,readthesectiononthecalibreCodelayout(page273).
Debuggingplugins
Thefirst,mostimportantstepistoruncalibreindebugmode.Youcandothisfromthecommandlinewith:
calibre-debug -g
Orfromwithincalibrebyright-clickingthepreferencesbuttonorusingtheCtrl+Shift+Rkeyboardshortcut.
Whenrunningfromthecommandline,debugoutputwillbeprintedtotheconsole,whenrunningfromwithincalibre
theoutputwillgotoatxtfile.
Youcaninsertprintstatementsanywhereinyourplugincode,theywillbeoutputindebugmode. Remember,thisis
python,youreallyshouldn’tneedanythingmorethanprintstatementstodebug;)Idevelopedallofcalibreusingjust
thisdebuggingtechnique.
Youcanquicklytestchangestoyourpluginbyusingthefollowingcommandline:
calibre-debug -s; calibre-customize -/path/to/your/plugin/directory; ; calibre
This willshutdownarunningcalibre, waitfortheshutdowntocomplete, thenupdateyourpluginincalibreand
relaunchcalibre.
Morepluginexamples
Youcanfindalistofmany,sophisticatedcalibrepluginshere
86
.
Sharingyourpluginswithothers
Ifyouwouldliketosharethepluginsyouhavecreatedwithotherusersofcalibre,postyourplugininanewthreadin
thecalibrepluginsforum
87
.
1.9.7 TypesettingMathinebooks
Thecalibreebookviewerhastheabilitytodisplaymathembeddedinebooks(ePubandHTMLfiles).Youcantypeset
themathdirectlywithTeXorMathMLorAsciiMath. ThecalibreviewerusestheexcellentMathJax
88
librarytodo
this.Thisisabrieftutorialoncreatingebookswithmathinthemthatworkwellwiththecalibreviewer.
86
http://www.mobileread.com/forums/showthread.php?t=118764
87
http://www.mobileread.com/forums/forumdisplay.php?f=237
88
http://www.mathjax.org
1.9. Tutorials
183
calibreUserManual,Release2.55.0
AsimpleHTMLfilewithmathematics
YoucanwritemathematicsinlineinsideasimpleHTMLfileandthecalibreviewerwillrenderitintoproperlytypeset
mathematics.Intheexamplebelow,weuseTeXnotationformathematics.YouwillseethatyoucanusenormalTeX
commands,withthesmallcaveatthatampersandsandlessthanandgreaterthansignshavetobewrittenas&amp;
&lt;and&gt;respectively.
Thefirststepistotellcalibrethatthiswillcontainsmaths.Youdothisbyaddingthefollowingsnippetofcodetothe
<head>sectionoftheHTMLfile:
<script type="text/x-mathjax-config"></script>
That’sit,nowyoucantypemathematicsjustasyouwouldina.texfile.Forexample,hereareLorentz’sequations:
<h2>The Lorenz z Equations</h2>
<p>
\begin{align}
\dot{x} &amp; \sigma(y-x) \\
\dot{y} &amp; \rho o x xz \\
\dot{z} &amp; = -\beta z xy
\end{align}
</p>
Thissnippetlookslikethefollowingscreenshotinthecalibreviewer.
Fig. 1.2:TheLorenzEquations
ThecompleteHTMLfile,withmoreequationsandinlinemathematicsisreproducedbelow. Youcanconvertthis
HTMLfiletoEPUBincalibretoendupwithanebookyoucandistributeeasilytootherpeople.
<!DOCTYPE html>
<html>
<!-- Copyright t (c) ) 2012 Design Science, Inc. . -->
<head>
<title>Math Test Page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<!-- This s script t tag g is s needed to make e calibre's s ebook-viewer recpgnize that t this file e needs math typesetting g -->
<script type="text/x-mathjax-config">
// This line adds s numbers s to o all l equations automatically, , unless s explicitly suppressed.
MathJax.Hub.Config({ TeX{ equationNumbers{autoNumber"all"} } });
</script>
<style>
h1 {text-align:center}
h2 {
font-weightbold;
184
Chapter1. Sections
calibreUserManual,Release2.55.0
background-color#DDDDDD;
padding.2em .5em;
margin-top1.5em;
border-top3px solid #666666;
border-bottom2px solid #999999;
}
</style>
</head>
<body>
<h1>Sample Equations</h1>
<h2>The Lorenz z Equations</h2>
<p>
\begin{align}
\dot{x} &amp; = \sigma(y-x) ) \label{lorenz}\\
\dot{y} &amp; = \rho x x - y y - - xz z \\
\dot{z} &amp; = -\beta a z + + xy
\end{align}
</p>
<h2>The Cauchy-Schwarz Inequality</h2>
<p>\[
\left( \sum_{k=1}^n a_k b_k \right)^{\!\!2} } \leq
\left( \sum_{k=1}^n n a_k^2 \right) ) \left( \sum_{k=1}^n n b_k^2 \right)
\]</p>
<h2>A Cross Product Formula</h2>
<p>\[
\mathbf{V}_1 \times \mathbf{V}_2 2 =
\begin{vmatrix}
\mathbf{i} &amp; \mathbf{j} &amp; \mathbf{k} } \\
\frac{\partial X}{\partial u} &amp; \frac{\partial l Y}{\partial u} &amp; 0 \\
\frac{\partial X}{\partial v} &amp; \frac{\partial l Y}{\partial v} &amp; 0 \\
\end{vmatrix}
\]</p>
<h2>The probability of getting \(k\) heads when flipping \(n\) coins is:</h2>
<p>\[P(E) = = {n n \choose e k} } p^k k (1-p)^{ { n-k} } \]</p>
<h2>An Identity y of f Ramanujan</h2>
<p>\[
\frac{1}{(\sqrt{\phi \sqrt{5}}-\phi) e^{\frac25 5 \pi}} } =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} } {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } } } } }
\]</p>
<h2>A Rogers-Ramanujan Identity</h2>
<p>\[
1 +
\frac{q^2}{(1-q)}+\frac{q^6}{(1-q)(1-q^2)}+\cdots =
\prod_{j=0}^{\infty}\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},
\quad\quad \text{for $|q|&lt;1$}.
1.9. Tutorials
185
calibreUserManual,Release2.55.0
\]</p>
<h2>Maxwell's Equations</h2>
<p>
\begin{align}
\nabla \times \vec{\mathbf{B}} -\, , \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} &amp; = \frac{4\pi}{c}\vec{\mathbf{j}} } \\
\nabla \cdot \vec{\mathbf{E}} &amp; = 4 \pi \rho o \\
\nabla \times \vec{\mathbf{E}}\, , +\, , \frac1c\, , \frac{\partial\vec{\mathbf{B}}}{\partial l t} &amp; = \vec{\mathbf{0}} \\
\nabla \cdot \vec{\mathbf{B}} &amp; = 0
\end{align}
</p>
<h2>In-line Mathematics</h2>
<p>While display y equations s look good d for a page of f samples, , the
ability to mix x math h and text in n a a paragraph h is s also important.
This
expression \(\sqrt{3x-1}+(1+x)^2\) is s an n example of an n inline equation.
As
you see, equations s can be e used d this way as well, without unduly
disturbing the e spacing g between lines.</p>
<h2>References to o equations</h2>
<p>Here is a reference to o the e Lorenz Equations (\ref{lorenz}). Clicking on the e equation n number will take you back k to o the equation.</p>
</body>
</html>
Moreinformation
SincethecalibreviewerusestheMathJaxlibrarytorendermathematics,thebestplacetofindoutmoreaboutmathin
ebooksandgethelpistheMathJaxwebsite
89
.
1.9.8 CreatingAZW3•EPUB•MOBICatalogs
calibre’sCreatecatalogfeatureenablesyoutocreateacatalogofyourlibraryinavarietyofformats. Thishelpfile
describescatalogingoptionswhengeneratingacataloginAZW3,EPUBandMOBIformats.
• Selectingbookstocatalog(page187)
• Includedsections(page187)
• Prefixes(page188)
• Excludedbooks(page188)
• Excludedgenres(page189)
• Otheroptions(page189)
• Customcatalogcovers(page190)
• Additionalhelpresources(page190)
89
http://www.mathjax.org
186
Chapter1. Sections
Documents you may be interested
Documents you may be interested