mirror of
https://github.com/TheRealOwenRees/chess-scribe-api.git
synced 2026-07-22 16:56:57 +00:00
add preamble and surround latex markdown with begin and end document / multicols
This commit is contained in:
+179
-2
@@ -1,4 +1,4 @@
|
||||
open Lwt.Syntax
|
||||
(* open Lwt.Syntax
|
||||
open Yojson.Safe.Util
|
||||
open Pgn_logic
|
||||
|
||||
@@ -14,9 +14,11 @@ let cors_middleware next_handler request =
|
||||
if Dream.method_ request = `OPTIONS then (
|
||||
let response = Dream.response "" in
|
||||
Dream.add_header response "Access-Control-Allow-Origin" allowed_origin;
|
||||
Dream.add_header response "Access-Control-Allow-Methods" "POST, GET";
|
||||
Dream.add_header response "Access-Control-Allow-Methods"
|
||||
"POST, GET, OPTIONS";
|
||||
Dream.add_header response "Access-Control-Allow-Headers"
|
||||
"Content-Type, Authorization";
|
||||
Dream.add_header response "Access-Control-Max-Age" "86400";
|
||||
Dream.set_status response `No_Content;
|
||||
Lwt.return response)
|
||||
else
|
||||
@@ -25,6 +27,35 @@ let cors_middleware next_handler request =
|
||||
Lwt.return response
|
||||
|
||||
let handle_convert request =
|
||||
let start_time = Unix.gettimeofday () in
|
||||
|
||||
let temp_id =
|
||||
Int64.to_string (Int64.of_float (Unix.gettimeofday () *. 1000.0))
|
||||
in
|
||||
|
||||
let temp_dir = Filename.get_temp_dir_name () in
|
||||
|
||||
let tex_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.tex" temp_id)
|
||||
in
|
||||
|
||||
let pdf_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.pdf" temp_id)
|
||||
in
|
||||
|
||||
let log_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.log" temp_id)
|
||||
in
|
||||
|
||||
let aux_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.aux" temp_id)
|
||||
in
|
||||
|
||||
let cleanup () =
|
||||
[ tex_file_path; pdf_file_path; log_file_path; aux_file_path ]
|
||||
|> List.iter (fun path -> if Sys.file_exists path then Sys.remove path)
|
||||
in
|
||||
|
||||
let* body = Dream.body request in
|
||||
|
||||
try
|
||||
@@ -59,6 +90,152 @@ let handle_convert request =
|
||||
(Printf.sprintf {|{"type": "error", "message": "%s"}|}
|
||||
(Printexc.to_string exn))
|
||||
|
||||
let () =
|
||||
Dream.run ~interface:"0.0.0.0" ~port:8080
|
||||
@@ Dream.logger @@ cors_middleware
|
||||
@@ Dream.router
|
||||
[
|
||||
Dream.get "/" (fun request ->
|
||||
Dream.from_filesystem "static" "doc.html" request);
|
||||
Dream.get "/health" (fun _ -> Dream.respond "OK");
|
||||
Dream.post "/api/v1/pdf" handle_convert;
|
||||
Dream.get "/api/v1" (fun request ->
|
||||
Dream.from_filesystem "static" "doc.html" request);
|
||||
Dream.get "/swagger.json" (fun request ->
|
||||
Dream.from_filesystem "static" "swagger.json" request);
|
||||
] *)
|
||||
|
||||
open Lwt.Syntax
|
||||
open Yojson.Safe.Util
|
||||
open Pgn_logic
|
||||
|
||||
let is_dev_mode () =
|
||||
Array.to_list Sys.argv
|
||||
|> List.exists (fun arg -> arg = "DREAM_ENV=development")
|
||||
|
||||
let cors_middleware next_handler request =
|
||||
let allowed_origin =
|
||||
if is_dev_mode () then "*" else "https://chess-scribe.org"
|
||||
in
|
||||
|
||||
if Dream.method_ request = `OPTIONS then (
|
||||
let response = Dream.response "" in
|
||||
Dream.add_header response "Access-Control-Allow-Origin" allowed_origin;
|
||||
Dream.add_header response "Access-Control-Allow-Methods"
|
||||
"POST, GET, OPTIONS";
|
||||
Dream.add_header response "Access-Control-Allow-Headers"
|
||||
"Content-Type, Authorization";
|
||||
Dream.add_header response "Access-Control-Max-Age" "86400";
|
||||
Dream.set_status response `No_Content;
|
||||
Lwt.return response)
|
||||
else
|
||||
let* response = next_handler request in
|
||||
Dream.add_header response "Access-Control-Allow-Origin" allowed_origin;
|
||||
Lwt.return response
|
||||
|
||||
let handle_convert request =
|
||||
(* let start_time = Unix.gettimeofday () in *)
|
||||
let temp_id =
|
||||
Int64.to_string (Int64.of_float (Unix.gettimeofday () *. 1000.0))
|
||||
in
|
||||
|
||||
let temp_dir = Filename.get_temp_dir_name () in
|
||||
|
||||
let tex_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.tex" temp_id)
|
||||
in
|
||||
|
||||
let pdf_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.pdf" temp_id)
|
||||
in
|
||||
|
||||
let log_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.log" temp_id)
|
||||
in
|
||||
|
||||
let aux_file_path =
|
||||
Filename.concat temp_dir (Printf.sprintf "game-%s.aux" temp_id)
|
||||
in
|
||||
|
||||
let cleanup () =
|
||||
[ tex_file_path; pdf_file_path; log_file_path; aux_file_path ]
|
||||
|> List.iter (fun path -> if Sys.file_exists path then Sys.remove path)
|
||||
in
|
||||
|
||||
let* body = Dream.body request in
|
||||
|
||||
try
|
||||
let json = Yojson.Safe.from_string body in
|
||||
|
||||
let pgn = json |> member "pgn" |> to_string in
|
||||
let diagram_clock = json |> member "diagramClock" |> to_bool in
|
||||
let diagrams_json = json |> member "diagrams" in
|
||||
|
||||
let diagrams_data =
|
||||
Yojson.Safe.to_string diagrams_json |> Pgn2tex.parse_diagrams_json
|
||||
in
|
||||
|
||||
let game_tex =
|
||||
"\\begin{document}\\begin{multicols}{2}"
|
||||
^ Pgn2tex.to_tex pgn ~diagram_data:diagrams_data ~clock:diagram_clock
|
||||
^ "\\end{multicols}\\end{document}"
|
||||
in
|
||||
|
||||
Out_channel.with_open_text tex_file_path (fun oc ->
|
||||
Out_channel.output_string oc game_tex);
|
||||
|
||||
let argv =
|
||||
[|
|
||||
"pdflatex";
|
||||
"-fmt";
|
||||
"./preambles/chess";
|
||||
"-interaction=nonstopmode";
|
||||
Printf.sprintf "-output-directory=%s" temp_dir;
|
||||
tex_file_path;
|
||||
|]
|
||||
in
|
||||
|
||||
let pid =
|
||||
Unix.create_process "pdflatex" argv Unix.stdin Unix.stdout Unix.stderr
|
||||
in
|
||||
(* let _, process_status = Unix.waitpid [] pid in *)
|
||||
let _, _ = Unix.waitpid [] pid in
|
||||
|
||||
if Sys.file_exists pdf_file_path then (
|
||||
let pdf_content =
|
||||
In_channel.with_open_bin pdf_file_path In_channel.input_all
|
||||
in
|
||||
|
||||
cleanup ();
|
||||
|
||||
(* TODO: record_metrics "SUCCESS" start_time; *)
|
||||
Dream.respond ~status:`Created
|
||||
~headers:
|
||||
[
|
||||
("Content-Disposition", "inline");
|
||||
("Content-Type", "application/pdf");
|
||||
]
|
||||
pdf_content)
|
||||
else failwith "PDF generation failed: output file not found on disk"
|
||||
with
|
||||
| Type_error (msg, _) ->
|
||||
cleanup ();
|
||||
Dream.json ~status:`Bad_Request
|
||||
(Printf.sprintf
|
||||
{|{"type": "error", "message": "JSON structure error: %s"}|} msg)
|
||||
| Yojson.Json_error msg ->
|
||||
cleanup ();
|
||||
Dream.json ~status:`Bad_Request
|
||||
(Printf.sprintf
|
||||
{|{"type": "error", "message": "Invalid JSON syntax: %s"}|} msg)
|
||||
| exn ->
|
||||
cleanup ();
|
||||
let err_msg = Printexc.to_string exn in
|
||||
(* TODO: record_metrics "FAIL" start_time err_msg; *)
|
||||
(* TODO: logger.error err_msg; *)
|
||||
Dream.json ~status:`Internal_Server_Error
|
||||
(Printf.sprintf {|{"type": "error", "message": "%s"}|} err_msg)
|
||||
|
||||
let () =
|
||||
Dream.run ~interface:"0.0.0.0" ~port:8080
|
||||
@@ Dream.logger @@ cors_middleware
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,691 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2022/dev/Debian) (preloaded format=pdflatex 2026.2.2) 17 FEB 2026 15:13
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
**&pdflatex ./preambles/chess.tex
|
||||
(./preambles/chess.tex
|
||||
LaTeX2e <2021-11-15> patch level 1
|
||||
L3 programming layer <2022-01-21>
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
|
||||
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
|
||||
File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option)
|
||||
)
|
||||
\c@part=\count185
|
||||
\c@section=\count186
|
||||
\c@subsection=\count187
|
||||
\c@subsubsection=\count188
|
||||
\c@paragraph=\count189
|
||||
\c@subparagraph=\count190
|
||||
\c@figure=\count191
|
||||
\c@table=\count192
|
||||
\abovecaptionskip=\skip47
|
||||
\belowcaptionskip=\skip48
|
||||
\bibindent=\dimen138
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
|
||||
Package: inputenc 2021/02/14 v1.3d Input encoding file
|
||||
\inpenc@prehook=\toks16
|
||||
\inpenc@posthook=\toks17
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/xskak/xskak.sty
|
||||
Package: xskak 2019/06/23 version v1.5 extended chess typesetting and parsing
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/skak/skak.sty
|
||||
Package: skak 2018/01/08 v1.5.3 Chess typesetting
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessfss/chessfss.sty
|
||||
Package: chessfss 2006/06/14 v1.2a chess font selection scheme
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
|
||||
Package: ifthen 2020/11/24 v1.1c Standard LaTeX ifthen package (DPC)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
|
||||
Package: xkeyval 2020/11/20 v2.8 package option processing (HA)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
|
||||
\XKV@toks=\toks18
|
||||
\XKV@tempa@toks=\toks19
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex))
|
||||
\XKV@depth=\count193
|
||||
File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbenc.def
|
||||
File: lsbenc.def 2006/06/09 v1.2 Standard LaTeX file
|
||||
Now handling font encoding LSB ...
|
||||
... no UTF-8 mapping file for font encoding LSB
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsfenc.def
|
||||
File: lsfenc.def 2006/06/09 v1.2 Standard LaTeX file
|
||||
Now handling font encoding LSF ...
|
||||
... no UTF-8 mapping file for font encoding LSF
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsienc.def
|
||||
File: lsienc.def 2006/06/09 v1.2 Standard LaTeX file
|
||||
Now handling font encoding LSI ...
|
||||
... no UTF-8 mapping file for font encoding LSI
|
||||
)
|
||||
\len@cfss@squarewidth=\skip49
|
||||
\len@cfss@squaretotalheight=\skip50
|
||||
\len@cfss@squaredepth=\skip51
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/plain/lambda-lists/lambda.sty)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
|
||||
Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ)
|
||||
\calc@Acount=\count194
|
||||
\calc@Bcount=\count195
|
||||
\calc@Adimen=\dimen139
|
||||
\calc@Bdimen=\dimen140
|
||||
\calc@Askip=\skip52
|
||||
\calc@Bskip=\skip53
|
||||
LaTeX Info: Redefining \setlength on input line 80.
|
||||
LaTeX Info: Redefining \addtolength on input line 81.
|
||||
\calc@Ccount=\count196
|
||||
\calc@Cskip=\skip54
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
|
||||
Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
|
||||
)
|
||||
\c@fileFrom=\count197
|
||||
\c@rankFrom=\count198
|
||||
\c@fileTo=\count199
|
||||
\c@rankTo=\count266
|
||||
\c@ps@inverse=\count267
|
||||
\c@ps@knightangle=\count268
|
||||
\c@halfmove=\count269
|
||||
\c@move=\count270
|
||||
\c@helpgobble=\count271
|
||||
\c@helpnumber=\count272
|
||||
\c@helpnumberMove=\count273
|
||||
\squarelength=\skip55
|
||||
\square@multiplier=\count274
|
||||
\ranklift=\skip56
|
||||
LaTeX Font Info: Trying to load font information for LSB+skaknew on input li
|
||||
ne 1774.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessfss/lsbskaknew.fd
|
||||
File: lsbskaknew.fd 2006/03/31 v1.0 Chess font definitions
|
||||
)
|
||||
LaTeX Font Info: Trying to load font information for T1+cmss on input line 1
|
||||
774.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
|
||||
File: t1cmss.fd 2019/12/16 v2.5j Standard LaTeX font definitions
|
||||
)
|
||||
|
||||
LaTeX Font Warning: Font shape `T1/cmss/m/up' undefined
|
||||
(Font) using `T1/cmss/m/n' instead on input line 1774.
|
||||
|
||||
\store@toks=\toks20
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/xifthen/xifthen.sty
|
||||
Package: xifthen 2015/11/05 v1.4.0 Extended ifthen features
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/ifmtarg/ifmtarg.sty
|
||||
Package: ifmtarg 2018/04/16 v1.2b check for an empty argument
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
|
||||
Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
|
||||
\etb@tempcnta=\count275
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessboard/chessboard.sty
|
||||
Package: chessboard 2020/11/01 version v1.9 print chessboards
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifpdf.sty
|
||||
Package: ifpdf 2019/10/25 v3.4 ifpdf legacy package. Use iftex instead.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
|
||||
Package: iftex 2020/03/06 v1.0d TeX engine tests
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
|
||||
\pgfutil@everybye=\toks21
|
||||
\pgfutil@tempdima=\dimen141
|
||||
\pgfutil@tempdimb=\dimen142
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t
|
||||
ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
|
||||
\pgfutil@abb=\box50
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex)
|
||||
Package: pgfrcs 2021/05/15 v3.1.9a (3.1.9a)
|
||||
))
|
||||
Package: pgf 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
|
||||
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
|
||||
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
|
||||
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
|
||||
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
|
||||
)
|
||||
Package graphics Info: Driver file: pdftex.def on input line 107.
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
|
||||
File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex
|
||||
))
|
||||
\Gin@req@height=\dimen143
|
||||
\Gin@req@width=\dimen144
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
|
||||
Package: pgfsys 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
|
||||
\pgfkeys@pathtoks=\toks22
|
||||
\pgfkeys@temptoks=\toks23
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t
|
||||
ex
|
||||
\pgfkeys@tmptoks=\toks24
|
||||
))
|
||||
\pgf@x=\dimen145
|
||||
\pgf@y=\dimen146
|
||||
\pgf@xa=\dimen147
|
||||
\pgf@ya=\dimen148
|
||||
\pgf@xb=\dimen149
|
||||
\pgf@yb=\dimen150
|
||||
\pgf@xc=\dimen151
|
||||
\pgf@yc=\dimen152
|
||||
\pgf@xd=\dimen153
|
||||
\pgf@yd=\dimen154
|
||||
\w@pgf@writea=\write3
|
||||
\r@pgf@reada=\read2
|
||||
\c@pgf@counta=\count276
|
||||
\c@pgf@countb=\count277
|
||||
\c@pgf@countc=\count278
|
||||
\c@pgf@countd=\count279
|
||||
\t@pgf@toka=\toks25
|
||||
\t@pgf@tokb=\toks26
|
||||
\t@pgf@tokc=\toks27
|
||||
\pgf@sys@id@count=\count280
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
|
||||
File: pgf.cfg 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
Driver file for pgf: pgfsys-pdftex.def
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
|
||||
File: pgfsys-pdftex.def 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.de
|
||||
f
|
||||
File: pgfsys-common-pdf.def 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.
|
||||
tex
|
||||
File: pgfsyssoftpath.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfsyssoftpath@smallbuffer@items=\count281
|
||||
\pgfsyssoftpath@bigbuffer@items=\count282
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.
|
||||
tex
|
||||
File: pgfsysprotocol.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
|
||||
File: color.cfg 2016/01/02 v1.6 sample color configuration
|
||||
)
|
||||
Package xcolor Info: Driver file: pdftex.def on input line 227.
|
||||
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352.
|
||||
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1356.
|
||||
Package xcolor Info: Model `RGB' extended on input line 1368.
|
||||
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370.
|
||||
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371.
|
||||
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372.
|
||||
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373.
|
||||
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374.
|
||||
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375.
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
|
||||
Package: pgfcore 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
|
||||
\pgfmath@dimen=\dimen155
|
||||
\pgfmath@count=\count283
|
||||
\pgfmath@box=\box51
|
||||
\pgfmath@toks=\toks28
|
||||
\pgfmath@stack@operand=\toks29
|
||||
\pgfmath@stack@operation=\toks30
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code
|
||||
.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet
|
||||
ric.code.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod
|
||||
e.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison
|
||||
.code.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.
|
||||
tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code
|
||||
.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.
|
||||
tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari
|
||||
thmetics.code.tex)))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
|
||||
\c@pgfmathroundto@lastzeros=\count284
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.te
|
||||
x
|
||||
File: pgfcorepoints.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@picminx=\dimen156
|
||||
\pgf@picmaxx=\dimen157
|
||||
\pgf@picminy=\dimen158
|
||||
\pgf@picmaxy=\dimen159
|
||||
\pgf@pathminx=\dimen160
|
||||
\pgf@pathmaxx=\dimen161
|
||||
\pgf@pathminy=\dimen162
|
||||
\pgf@pathmaxy=\dimen163
|
||||
\pgf@xx=\dimen164
|
||||
\pgf@xy=\dimen165
|
||||
\pgf@yx=\dimen166
|
||||
\pgf@yy=\dimen167
|
||||
\pgf@zx=\dimen168
|
||||
\pgf@zy=\dimen169
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.
|
||||
code.tex
|
||||
File: pgfcorepathconstruct.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@path@lastx=\dimen170
|
||||
\pgf@path@lasty=\dimen171
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code
|
||||
.tex
|
||||
File: pgfcorepathusage.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@shorten@end@additional=\dimen172
|
||||
\pgf@shorten@start@additional=\dimen173
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.te
|
||||
x
|
||||
File: pgfcorescopes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfpic=\box52
|
||||
\pgf@hbox=\box53
|
||||
\pgf@layerbox@main=\box54
|
||||
\pgf@picture@serial@count=\count285
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.c
|
||||
ode.tex
|
||||
File: pgfcoregraphicstate.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgflinewidth=\dimen174
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformation
|
||||
s.code.tex
|
||||
File: pgfcoretransformations.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@pt@x=\dimen175
|
||||
\pgf@pt@y=\dimen176
|
||||
\pgf@pt@temp=\dimen177
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
|
||||
File: pgfcorequick.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.t
|
||||
ex
|
||||
File: pgfcoreobjects.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing
|
||||
.code.tex
|
||||
File: pgfcorepathprocessing.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.te
|
||||
x
|
||||
File: pgfcorearrows.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfarrowsep=\dimen178
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
|
||||
File: pgfcoreshade.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@max=\dimen179
|
||||
\pgf@sys@shading@range@num=\count286
|
||||
\pgf@shadingcount=\count287
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
|
||||
File: pgfcoreimage.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.
|
||||
tex
|
||||
File: pgfcoreexternal.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfexternal@startupbox=\box55
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.te
|
||||
x
|
||||
File: pgfcorelayers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.c
|
||||
ode.tex
|
||||
File: pgfcoretransparency.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.
|
||||
tex
|
||||
File: pgfcorepatterns.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
|
||||
File: pgfcorerdf.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
|
||||
File: pgfmoduleshapes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfnodeparttextbox=\box56
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
|
||||
File: pgfmoduleplot.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65
|
||||
.sty
|
||||
Package: pgfcomp-version-0-65 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@nodesepstart=\dimen180
|
||||
\pgf@nodesepend=\dimen181
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18
|
||||
.sty
|
||||
Package: pgfcomp-version-1-18 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
|
||||
Package: pgffor 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)
|
||||
\pgffor@iter=\dimen182
|
||||
\pgffor@skip=\dimen183
|
||||
\pgffor@stack=\toks31
|
||||
\pgffor@toks=\toks32
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
|
||||
Package: tikz 2021/05/15 v3.1.9a (3.1.9a)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers
|
||||
.code.tex
|
||||
File: pgflibraryplothandlers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgf@plot@mark@count=\count288
|
||||
\pgfplotmarksize=\dimen184
|
||||
)
|
||||
\tikz@lastx=\dimen185
|
||||
\tikz@lasty=\dimen186
|
||||
\tikz@lastxsaved=\dimen187
|
||||
\tikz@lastysaved=\dimen188
|
||||
\tikz@lastmovetox=\dimen189
|
||||
\tikz@lastmovetoy=\dimen190
|
||||
\tikzleveldistance=\dimen191
|
||||
\tikzsiblingdistance=\dimen192
|
||||
\tikz@figbox=\box57
|
||||
\tikz@figbox@bg=\box58
|
||||
\tikz@tempbox=\box59
|
||||
\tikz@tempbox@bg=\box60
|
||||
\tikztreelevel=\count289
|
||||
\tikznumberofchildren=\count290
|
||||
\tikznumberofcurrentchild=\count291
|
||||
\tikz@fig@count=\count292
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
|
||||
File: pgfmodulematrix.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
\pgfmatrixcurrentrow=\count293
|
||||
\pgfmatrixcurrentcolumn=\count294
|
||||
\pgf@matrix@numberofcolumns=\count295
|
||||
)
|
||||
\tikz@expandcount=\count296
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik
|
||||
zlibrarytopaths.code.tex
|
||||
File: tikzlibrarytopaths.code.tex 2021/05/15 v3.1.9a (3.1.9a)
|
||||
)))
|
||||
\len@board@tempx=\skip57
|
||||
\len@board@tempy=\skip58
|
||||
\c@cnt@board@file=\count297
|
||||
\c@cnt@board@rank=\count298
|
||||
\c@cnt@board=\count299
|
||||
\c@filelabel=\count300
|
||||
\c@ranklabel=\count301
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessboard/chessboard-keys-main.sty
|
||||
File: chessboard-keys-main.sty 2020/11/01 version v1.9 key definitions for ches
|
||||
sboard.sty
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessboard/chessboard-keys-pgf.sty
|
||||
File: chessboard-keys-pgf.sty 2020/11/01 version v1.9 key definitions for chess
|
||||
board.sty
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/chessboard/chessboard-pgf.sty
|
||||
File: chessboard-pgf.sty 2020/11/01 version v1.9 pgf code for chessboard.sty
|
||||
))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/xskak/xskak-keys.sty
|
||||
File: xskak-keys.sty 2019/06/23 version v1.5 key definitions for xskak.sty
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/xskak/xskak-nagdef.sty
|
||||
File: xskak-nagdef.sty 2019/06/23 version v1.5 nag definitions for xskak.sty
|
||||
)
|
||||
LaTeX Info: Redefining \variation on input line 1473.
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
|
||||
Package: multicol 2021/10/28 v1.9b multicolumn formatting (FMi)
|
||||
\c@tracingmulticols=\count302
|
||||
\mult@box=\box61
|
||||
\multicol@leftmargin=\dimen193
|
||||
\c@unbalance=\count303
|
||||
\c@collectmore=\count304
|
||||
\doublecol@number=\count305
|
||||
\multicoltolerance=\count306
|
||||
\multicolpretolerance=\count307
|
||||
\full@width=\dimen194
|
||||
\page@free=\dimen195
|
||||
\premulticols=\dimen196
|
||||
\postmulticols=\dimen197
|
||||
\multicolsep=\skip59
|
||||
\multicolbaselineskip=\skip60
|
||||
\partial@page=\box62
|
||||
\last@line=\box63
|
||||
\maxbalancingoverflow=\dimen198
|
||||
\mult@rightbox=\box64
|
||||
\mult@grightbox=\box65
|
||||
\mult@firstbox=\box66
|
||||
\mult@gfirstbox=\box67
|
||||
\@tempa=\box68
|
||||
\@tempa=\box69
|
||||
\@tempa=\box70
|
||||
\@tempa=\box71
|
||||
\@tempa=\box72
|
||||
\@tempa=\box73
|
||||
\@tempa=\box74
|
||||
\@tempa=\box75
|
||||
\@tempa=\box76
|
||||
\@tempa=\box77
|
||||
\@tempa=\box78
|
||||
\@tempa=\box79
|
||||
\@tempa=\box80
|
||||
\@tempa=\box81
|
||||
\@tempa=\box82
|
||||
\@tempa=\box83
|
||||
\@tempa=\box84
|
||||
\@tempa=\box85
|
||||
\@tempa=\box86
|
||||
\@tempa=\box87
|
||||
\@tempa=\box88
|
||||
\@tempa=\box89
|
||||
\@tempa=\box90
|
||||
\@tempa=\box91
|
||||
\@tempa=\box92
|
||||
\@tempa=\box93
|
||||
\@tempa=\box94
|
||||
\@tempa=\box95
|
||||
\@tempa=\box96
|
||||
\@tempa=\box97
|
||||
\@tempa=\box98
|
||||
\@tempa=\box99
|
||||
\@tempa=\box100
|
||||
\@tempa=\box101
|
||||
\@tempa=\box102
|
||||
\@tempa=\box103
|
||||
\c@minrows=\count308
|
||||
\c@columnbadness=\count309
|
||||
\c@finalcolumnbadness=\count310
|
||||
\last@try=\dimen199
|
||||
\multicolovershoot=\dimen256
|
||||
\multicolundershoot=\dimen257
|
||||
\mult@nat@firstbox=\box104
|
||||
\colbreak@box=\box105
|
||||
\mc@col@check@num=\count311
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty
|
||||
Package: parskip 2021-03-14 v2.0h non-zero parskip adjustments
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
|
||||
Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
|
||||
Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
|
||||
)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
|
||||
Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
|
||||
)))
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
Package: geometry 2020/01/02 v5.9 Page Geometry
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
|
||||
Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
|
||||
)
|
||||
\Gm@cnth=\count312
|
||||
\Gm@cntv=\count313
|
||||
\c@Gm@tempcnt=\count314
|
||||
\Gm@bindingoffset=\dimen258
|
||||
\Gm@wd@mp=\dimen259
|
||||
\Gm@odd@mp=\dimen260
|
||||
\Gm@even@mp=\dimen261
|
||||
\Gm@layoutwidth=\dimen262
|
||||
\Gm@layoutheight=\dimen263
|
||||
\Gm@layouthoffset=\dimen264
|
||||
\Gm@layoutvoffset=\dimen265
|
||||
\Gm@dimlist=\toks33
|
||||
) )
|
||||
Beginning to dump on file ./preambles/chess.fmt
|
||||
(preloaded format=./preambles/chess 2026.2.17)
|
||||
38907 strings of total length 741210
|
||||
619761 memory locations dumped; current usage is 519&614766
|
||||
35125 multiletter control sequences
|
||||
\font\nullfont=nullfont
|
||||
\font\c__fp_exp_intarray=cmr10 at 0.00002pt
|
||||
\font\c__fp_trig_intarray=cmr10 at 0.00003pt
|
||||
\font\c_initex_cctab=cmr10 at 0.00005pt
|
||||
\font\c_other_cctab=cmr10 at 0.00006pt
|
||||
\font\c_str_cctab=cmr10 at 0.00008pt
|
||||
\font\g__regex_state_active_intarray=cmr10 at 0.00009pt
|
||||
\font\g__regex_thread_info_intarray=cmr10 at 0.0001pt
|
||||
\font\g__regex_submatch_prev_intarray=cmr10 at 0.00012pt
|
||||
\font\g__regex_submatch_begin_intarray=cmr10 at 0.00014pt
|
||||
\font\g__regex_submatch_end_intarray=cmr10 at 0.00015pt
|
||||
\font\g__regex_submatch_case_intarray=cmr10 at 0.00017pt
|
||||
\font\g__regex_balance_intarray=cmr10 at 0.00018pt
|
||||
\font\OMX/cmex/m/n/10=cmex10
|
||||
\font\tenln=line10
|
||||
\font\tenlnw=linew10
|
||||
\font\tencirc=lcircle10
|
||||
\font\tencircw=lcirclew10
|
||||
\font\OT1/cmr/m/n/5=cmr5
|
||||
\font\OT1/cmr/m/n/7=cmr7
|
||||
\font\OT1/cmr/m/n/10=cmr10
|
||||
\font\OML/cmm/m/it/5=cmmi5
|
||||
\font\OML/cmm/m/it/7=cmmi7
|
||||
\font\OML/cmm/m/it/10=cmmi10
|
||||
\font\OMS/cmsy/m/n/5=cmsy5
|
||||
\font\OMS/cmsy/m/n/7=cmsy7
|
||||
\font\OMS/cmsy/m/n/10=cmsy10
|
||||
\font\c_code_cctab=cmr10 at 0.0002pt
|
||||
\font\c_document_cctab=cmr10 at 0.00021pt
|
||||
\font\T1/cmr/m/n/10=ecrm1000
|
||||
\font\LSB/skaknew/m/n/20=SkakNew-Diagram at 20.0pt
|
||||
\font\T1/cmss/m/up/10=ecss1000
|
||||
470936 words of font info for 31 preloaded fonts
|
||||
1141 hyphenation exceptions
|
||||
Hyphenation trie of length 419883 has 8811 ops out of 35111
|
||||
424 for language 86
|
||||
852 for language 84
|
||||
53 for language 83
|
||||
377 for language 82
|
||||
54 for language 81
|
||||
110 for language 80
|
||||
19 for language 79
|
||||
420 for language 78
|
||||
127 for language 77
|
||||
38 for language 74
|
||||
58 for language 73
|
||||
195 for language 71
|
||||
119 for language 70
|
||||
5 for language 68
|
||||
14 for language 67
|
||||
21 for language 65
|
||||
37 for language 63
|
||||
137 for language 62
|
||||
36 for language 61
|
||||
7 for language 60
|
||||
38 for language 59
|
||||
71 for language 58
|
||||
21 for language 57
|
||||
63 for language 53
|
||||
194 for language 52
|
||||
265 for language 50
|
||||
6 for language 48
|
||||
23 for language 47
|
||||
229 for language 45
|
||||
27 for language 43
|
||||
143 for language 41
|
||||
224 for language 39
|
||||
40 for language 38
|
||||
66 for language 37
|
||||
43 for language 36
|
||||
62 for language 35
|
||||
31 for language 34
|
||||
38 for language 33
|
||||
89 for language 32
|
||||
147 for language 31
|
||||
145 for language 30
|
||||
185 for language 29
|
||||
77 for language 28
|
||||
12 for language 27
|
||||
206 for language 26
|
||||
76 for language 25
|
||||
248 for language 24
|
||||
25 for language 23
|
||||
852 for language 22
|
||||
216 for language 21
|
||||
7 for language 20
|
||||
148 for language 18
|
||||
97 for language 17
|
||||
235 for language 16
|
||||
58 for language 15
|
||||
432 for language 14
|
||||
50 for language 13
|
||||
138 for language 12
|
||||
113 for language 11
|
||||
60 for language 9
|
||||
207 for language 8
|
||||
21 for language 7
|
||||
3 for language 6
|
||||
37 for language 5
|
||||
39 for language 4
|
||||
18 for language 3
|
||||
2 for language 1
|
||||
181 for language 0
|
||||
0 words of pdfTeX memory
|
||||
3 indirect objects
|
||||
No pages of output.
|
||||
PDF statistics:
|
||||
3 PDF objects out of 1000 (max. 8388607)
|
||||
0 named destinations out of 1000 (max. 500000)
|
||||
1 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
\documentclass{article}
|
||||
|
||||
% \usepackage[T1]{fontenc}
|
||||
% \usepackage[utf8]{inputenc}
|
||||
|
||||
\usepackage{xskak}
|
||||
\usepackage{multicol}
|
||||
\usepackage{parskip}
|
||||
|
||||
\usepackage[a4paper]{geometry}
|
||||
|
||||
\geometry{left=1.25cm,right=1.25cm,top=1.5cm,bottom=1.5cm,columnsep=1.2cm}
|
||||
\setlength{\parindent}{0pt}
|
||||
|
||||
\dump
|
||||
Reference in New Issue
Block a user