-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add blog post for LaTeXML integration #83
Comments
Points to address:
|
Particularly for the third point, I will need help. |
@opoudjis here's the list for the third point: From LaTeXML @dginev:
LaTeXML/lib/LaTeXML/Package$ rg -l '^[^#]*InputDefinitions' *
algcompatible.sty.ltxml
algc.sty.ltxml
algmatlab.sty.ltxml
algorithm2e.sty.ltxml
algorithmic.sty.ltxml
algorithmicx.sty.ltxml
algorithm.sty.ltxml
algpascal.sty.ltxml
algpseudocode.sty.ltxml
applemac.def.ltxml
babel.def.ltxml
babel.sty.ltxml
circuitikz.sty.ltxml
cleveref.sty.ltxml
cp852.def.ltxml
csquotes.def.ltxml
csquotes.sty.ltxml
color.sty.ltxml
colordvi.sty.ltxml
flowchart.sty.ltxml
frenchb.ldf.ltxml
french.ldf.ltxml
fontenc.sty.ltxml
ifthen.sty.ltxml
inputenc.sty.ltxml
keyval.sty.ltxml
latin10.def.ltxml
listings.sty.ltxml
makecell.sty.ltxml
lipsum.sty.ltxml
ntheorem.sty.ltxml
numprint.sty.ltxml
pgf.sty.ltxml
pgfplots.sty.ltxml
pgfkeys.code.tex.ltxml
pgfmath.code.tex.ltxml
siunitx.sty.ltxml
t1enc.def.ltxml
t1enc.sty.ltxml
textcase.sty.ltxml
tikz.sty.ltxml
tikz-3dplot.sty.ltxml
xkvview.sty.ltxml
xcolor.sty.ltxml
wiki.sty.ltxml |
So I did some checking: $ cd LaTeXML/lib/LaTeXML/Package
# All `RequirePackage` calls
$ grep -E "RequirePackage\(\'.*\'\)" *.ltxml | grep -vEo '#.*RequirePackage' | grep -Eo "RequirePackage\('(.*?)'" | cut -f 2 -d "'" | sort | uniq > requires.txt
# All `InputDefinitions` calls (these calls depend on other packages (some internal, some external)
$ grep -E "InputDefinitions\(\'.*?\'" *.ltxml | grep -vEo '#.*InputDefinitions' | grep -Eo "InputDefinitions\('(.*?)'" | cut -d "'" -f 2 | sort | uniq > input_definitions.txt
# These are all the dependencies used.
$ cat requires.txt input_definitions.txt | sort | uniq > all_dependencies.txt
# These are all the packages supplied natively by LaTeXML.
$ find . | cut -d'/' -f 2 | cut -d '.' -f 1 | sort | uniq > package_files.txt
# We extract the dependencies that are not provided in package_files.txt
$ comm -13 package_files.txt all_dependencies.txt > unresolved.txt
# These are the packages that depend on a TeX distribution (external),
# as they use `InputDefinitions('foo')` where `foo` is not defined in LaTeXML.
$ for package in `cat unresolved.txt`; do grep -l "InputDefinitions..$package" *; done | sort | uniq > depends_on_tex.txt
# These packages depend on other packages (via `InputDefinitions`) that
# are not provided by LaTeXML.
$ cat depends_on_tex.txt | cut -f1,2 -d '.'
color.sty
colordvi.sty
ntheorem.sty
pgfkeys.code
pgfmath.code
siunitx.sty
tikz.sty
xcolor.sty Therefore the list of packages that require a TeX dependency are these:
And it seems that none of these relate to real “math” (ntheorem is for laying out theorems, pgfmath is a graphics package)? This means all other packages supplied by LaTeXML are available without any TeX distribution; the list is here: $ comm -23 package_files.txt depends_on_tex.txt
AmSTeX
BibTeX
IEEEtran
JHEP
JHEP2
JHEP3
LaTeX
OmniBus
TeX
a0poster
a0size
a4
a4wide
aa
aa_support
aas_macros
aas_support
aasms
aaspp
aastex
aastex6
aastex61
accents
acmart
acronym
ae
aecompl
afterpage
algc
algcompatible
algmatlab
algorithm
algorithm2e
algorithmic
algorithmicx
algpascal
algpseudocode
all_dependencies
alltt
ams_core
ams_support
amsa
amsart
amsb
amsbook
amsbsy
amscd
amsfonts
amsgen
amsmath
amsopn
amsppt
amsproc
amsrefs
amssymb
amstex
amstext
amsthm
amsxtra
apjfonts
appendix
applemac
array
article
attachfile
authblk
avant
babel
balance
bbm
bbold
beton
bm
book
bookman
booktabs
braket
breakurl
calc
cancel
caption
cases
ccfonts
chancery
charter
chngcntr
circuitikz
cite
citesort
cleveref
cmbright
color
colordvi
colortbl
comment
concmath
courier
cp852
crop
cropmark
csquotes
dcolumn
deluxetable
doublespace
dsfont
eTeX
ellipsis
elsart
elsart_support
elsarticle
empheq
emulateapj
emulateapj5
endnotes
enumerate
enumitem
epigraph
epsf
epsfig
epstopdf
esint
etex
etoolbox
eucal
eufrak
euler
eulervm
eurosym
euscript
exscale
fancyhdr
fix-cm
fixltx2e
flafter
fleqn
float
floatfig
floatflt
floatpag
flowchart
flushend
fontenc
fontspec
footmisc
fourier
framed
french
frenchb
fullpage
gen-j-l
gen-m-l
gen-p-l
gensymb
geometry
german
graphics
graphicx
grffile
helvet
here
hhline
html
hyperref
hyperxmp
icml2016
icml2017
icml2018
icml_support
ieeeconf
ifluatex
ifpdf
ifthen
ifvtex
ifxetex
import
indentfirst
input_definitions
inputenc
inst_support
iopams
iopart
iopart_support
jheppub
keyval
lastpage
latexml
latexsym
latin10
lgr
lineno
lipsum
listings
listingsutf8
llamapun
llncs
lmodern
longtable
lscape
luximono
lxRDFa
ly1
makecell
makeidx
marvosym
mathbbol
mathpazo
mathpple
mathptm
mathptmx
mathrsfs
mathtools
microtype
mleftright
mn
mn2e
mn2e_support
mnras
moderncv
multicol
multido
multirow
nameref
natbib
newcent
newfloat
newlfont
newtxmath
newtxtext
ngerman
nicefrac
ntheorem
numprint
ot4
package_files
palatino
paralist
parskip
pdfTeX
pdflscape
pdfpages
pdfsync
pgf
pgfkeys
pgfmath
pgfplots
pgfsys-latexml
pifont
placeins
preview
psfig
pslatex
pspicture
pst-grad
pst-node
pstricks
pxfonts
pzd
quantumarticle
ragged2e
relsize
remreset
report
requires
revsymb
revtex
revtex3_support
revtex4
revtex4-1
revtex4_support
rotate
rotating
rsfs
scalefnt
sectsty
setspace
showkeys
siunitx
slashed
slides
soul
srcltx
stfloats
stmaryrd
subcaption
subfig
subfigure
subfloat
supertabular
sv_support
svg
svjour
svjour3
svmult
t1
t1enc
t2a
t2b
t2c
tablefootnote
tabularx
tabulary
textcase
textcomp
texvc
theorem
thmtools
threeparttable
tikz
tikz-3dplot
times
titlesec
titling
tocbibind
todonotes
tracefnt
transparent
ts1
turing
txfonts
type1cm
ulem
units
upgreek
upref
url
utf8
utf8x
utopia
verbatim
wasysym
wiki
wrapfig
xargs
xcolor
xkeyval
xkvview
xspace
xunicode
yfonts So in Metanorma we only need the packages that generate MathML, it looks like all the LaTeXML packages that deal with MathML are already useable natively (without an external TeX distribution). |
I will write 1 and 4. I will not write 2 and 3. I will not write stuff I don't know, it wastes the time of me, and of the person who would have to explain it to me. That will be a task for @CAMOBAP795 presumably. @CAMOBAP795, this is about writing a joint blog post; I'm fine for you to take the credit, and I will write the Asciidoctor and Metanorma-specific material, but not the TeX and deployment content. |
This comment is my draft of the blog post, but it is missing "How does the integration work?" and "What LaTeX packages are supported without needing to install a TeX distribution?" @CAMOBAP795, those will have to be written by you. Once you've done that, I'll post it on metanorma.com. @strogonoff, can blog posts be coauthored? The following is natively in asciidoc syntax, btw. Please edit source, rather than trying to get GitHub's Markdown to show it nicely. There are many ways to write mathematical formulas in a way that non-WYSIWYG systems like Metanorma can accept. There are two that Asciidoctor, the markup toolset underlying Metanorma, can process: http://asciimath.org[AsciiMath], and https://www.latex-project.org[LaTeX]. And there is a third that Metanorma will accept on top of those: https://www.w3.org/Math/[MathML]. Until recently, Metanorma has only processed AsciiMath and MathML. AsciiMath, that most elegant, parsimonious, human-readable and human-pleasing format (why yes, your humble wizard is biased), is recognised by default by Asciidoctor: anything inside of a [source,asciidoctor]The formula is stem:[sum_(i=1)^n i^3=((n(n+1))/2)^2] The formula is: [stem]
|
How does the integration work?Under the hood NOTE: On windows important to use What LaTeX packages are supported without needing to install a TeX distribution?There is no clear separation between TeX bound packages and TeX independent packages. Better to say that some packages contain functions which require TeX, list provided by @ronaldtse @opoudjis let me know if more information needs to be provided |
To respond on the coauthoring point, no, the design as originally given does not account for coauthoring, though in my opinion this is a pretty natural feature to have. Since we’re deviating from the design now, I don’t see a problem implementing the feature.
Let’s have just one primary author first here and leave it assigned to me later, when the feature is ready I’ll update the author meta on this one.
… On 20 May 2019, at 6:09 PM, Nick Nicholas ***@***.***> wrote:
This comment is my draft of the blog post, but it is missing "How does the integration work?" and "What LaTeX packages are supported without needing to install a TeX distribution?" @CAMOBAP795, those will have to be written by you. Once you've done that, I'll post it on metanorma.com. @strogonoff, can blog posts be coauthored?
The following is natively in asciidoc syntax, btw.
There are many ways to write mathematical formulas in a way that non-WYSIWYG systems like Metanorma can accept. There are two that Asciidoctor, the markup toolset underlying Metanorma, can process: http://asciimath.org[AsciiMath], and https://www.latex-project.org[LaTeX]. And there is a third that Metanorma will accept on top of those: https://www.w3.org/Math/[MathML].
Until recently, Metanorma has only processed AsciiMath and MathML. AsciiMath, that most elegant, parsimonious, human-readable and human-pleasing format (why yes, your humble wizard is biased), is recognised by default by Asciidoctor: anything inside of a stem macro or stem block is assumed by default to be in AsciiMath:
[source,asciidoctor]
The formula is stem:[sum_(i=1)^n i^3=((n(n+1))/2)^2]
The formula is:
[stem]
++++
sum_(i=1)^n i^3=((n(n+1))/2)^2
++++
MathML is not parsimonious or human-readable, but it is fairly widespread and supported, and is in fact what Metanorma by default converts AsciiMath into in Metanorma XML. (You can prevent that through the document attribute :mn-keep-asciimath:, or the metanorma option metanorma --asciimath.) Metanorma will also recognise MathML injected into a stem macro or block, p
:stem: latexmath.
Read more about
link:/author/topics/document-format/text/#mathematical-expressions[mathematical expressions].
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
No description provided.
The text was updated successfully, but these errors were encountered: