From a1a487b4503b549d910f4815fd8b34977f3e5435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?tr=C3=A9meur?= Date: Sun, 29 Jan 2023 13:57:12 +0000 Subject: [PATCH] Add fic export function --- config.org | 5 +- custom/asal-functions.el | 63 --------- custom/fic.el | 225 ++++++++++++++++++++++++++++++++ fic-export-files/FFXYevon.ttf | Bin 0 -> 32724 bytes fic-export-files/auto/header.el | 39 ++++++ fic-export-files/header.tex | 136 +++++++++++++++++++ org-export.el | 20 --- 7 files changed, 403 insertions(+), 85 deletions(-) delete mode 100644 custom/asal-functions.el create mode 100644 custom/fic.el create mode 100644 fic-export-files/FFXYevon.ttf create mode 100644 fic-export-files/auto/header.el create mode 100644 fic-export-files/header.tex delete mode 100644 org-export.el diff --git a/config.org b/config.org index f54aaa2..71ec9ca 100644 --- a/config.org +++ b/config.org @@ -490,8 +490,9 @@ Add the =memoir= class for LaTeX export. (add-to-list 'org-latex-classes '("memoir" "\\documentclass[9pt,b6paper]{memoir} - [NO-DEFAULT-PACKAGES] - \\input{header.tex}" + [NO-DEFAULT-PACKAGES] + \\usepackage[namechapters]{optional} + \\input{$HOME/.emacs.d/fic-export-files/header.tex} %$" ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") diff --git a/custom/asal-functions.el b/custom/asal-functions.el deleted file mode 100644 index 3a7aa16..0000000 --- a/custom/asal-functions.el +++ /dev/null @@ -1,63 +0,0 @@ -(defun asal-post () - (interactive) - (goto-char (point-min)) - (while (re-search-forward "
\n
" nil t) - (replace-match "\n")) - (goto-char (point-min)) - (while (re-search-forward "
\n\n

" nil t) - (replace-match "\n

\n

")) - (goto-char (point-min)) - (while (re-search-forward "


\n\n

" nil t) - (replace-match "

\n
\n

")) - (goto-char (point-min)) - (while (re-search-forward "

" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "
" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "

Validate

" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "
" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "section-number-2\">\\([0-9]*\\)<" nil t) - (replace-match "section-number-2\">\\1\.<")) - (goto-char (point-min)) - (while (re-search-forward "

" nil t) - (replace-match "")) - (goto-char (point-min)) - (while (re-search-forward "\n\n" nil t) - (replace-match "\n\n")) - (goto-char (point-min)) - (while (re-search-forward "\\\\noindent\\\\rule{\\\\textwidth}{0.5pt}" nil t) - (replace-match "\\sephim" nil t)) - (goto-char (point-min)) - (while (re-search-forward "\\\\maketitle" nil t) - (replace-match "\\begin{titlingpage}\n\\titleGM\n\\end{titlingpage}" nil t)) - (goto-char (point-min)) - (while (re-search-forward "label{\\(.*\\)}\n\\([A-Z]\\)\\([a-z]*\\)" nil t) - (replace-match "label{\\1}\n\\\\lettrine{\\2}{\\3}")) - (goto-char (point-min)) - (while (re-search-forward "label{\\(.*\\)}\nā€œ\\([A-Z]\\)\\([a-z]*\\)" nil t) - (replace-match "label{\\1}\n\\\\lettrine{ā€œ\\2}{\\3}"))) - -(defun asal-pre () - (interactive) - (org-format) - (goto-char (point-min)) - (while (re-search-forward "\\[fn:\\([0-9]*\\):\\(.*\\)\\]" nil t) - (replace-match "@@html:\\2@@@@latex:\\\\footnote{\\2}@@"))) - -(defun asal-export () - (interactive) - (let ((org-html-head "")) - (org-html-export-to-html)) - (org-latex-export-to-latex)) diff --git a/custom/fic.el b/custom/fic.el new file mode 100644 index 0000000..58fb56e --- /dev/null +++ b/custom/fic.el @@ -0,0 +1,225 @@ +(defun fic-ao3 () + (interactive) + (org-format) + (let ((org-export-with-title 'nil) + (org-export-with-author 'nil) + (org-export-with-creator 'nil) + (org-export-with-date 'nil) + (org-export-with-section-numbers 'nil) + (org-export-time-stamp-file 'nil) + (org-export-with-toc 'nil) + (org-html-validation-link 'nil)) + (org-html-export-to-html)) + (setq oldname (concat (file-name-base) ".org")) + (setq newname (concat (file-name-base) ".html")) + (find-file-noselect newname) + (with-current-buffer newname + (goto-char (point-min)) + (setq delpoint-one (search-forward "\n")) + (delete-region (point-min) delpoint-one) + (goto-char (point-max)) + (setq delpoint-two (search-backward "")) + (delete-region delpoint-two (point-max)) + (goto-char (point-min)) + (while (re-search-forward "" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "

" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "\n\n" nil t) + (replace-match "\n")) + (write-file newname) + (kill-ring-save (point-min) (point-max))) + (kill-buffer newname) + (with-current-buffer oldname + (delete-file newname))) + +(defun fic-export () + (interactive) + (shell-command "cp ~/.emacs.d/fic-export-files/FFXYevon.ttf .") + (setq asal (y-or-n-p "ASAL?")) + (if asal + (progn + (setq title t) + (setq multichapter t) + (setq chaptertitles nil) + (setq ffx t)) + (progn + (setq title (y-or-n-p "Use the fic title in exports?")) + (setq multichapter (y-or-n-p "Multichapter?")) + (if multichapter + (setq chaptertitles (y-or-n-p "Titled chapters?"))) + (setq ffx (y-or-n-p "FFX fic?")))) + (org-format) + (goto-char (point-min)) + (while (re-search-forward "\\[fn:\\([0-9]*\\):\\(.*\\)\\]" nil t) + (replace-match "@@html:\\2@@@@latex:\\\\footnote{\\2}@@")) + (let ((user-full-name "ovely") + (org-html-head "")) + (org-html-export-to-html) + (org-latex-export-to-latex)) + (save-buffer) + (setq htmlfile (concat (file-name-base) ".html")) + (find-file-noselect htmlfile) + (with-current-buffer htmlfile + (goto-char (point-min)) + (while (re-search-forward "
\n
" nil t) + (replace-match "\n
")) + (goto-char (point-min)) + (while (re-search-forward "
\n\n

" nil t) + (replace-match "\n

\n

")) + (goto-char (point-min)) + (while (re-search-forward "


\n\n

" nil t) + (replace-match "

\n
\n

")) + (goto-char (point-min)) + (while (re-search-forward "

" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "
" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "

Validate

" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "
" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "section-number-2\">\\([0-9]*\\)<" nil t) + (replace-match "section-number-2\">\\1\.<")) + (goto-char (point-min)) + (while (re-search-forward "

" nil t) + (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "\n\n" nil t) + (replace-match "\n\n")) + (if (not title) + (progn + (goto-char (point-min)) + (while (re-search-forward "" nil t) + (replace-match "")))) + (progn + (goto-char (point-min)) + (while (re-search-forward "eyi+WiD_oSjII+7f@MpJ|v zsj{f2FaCP*Lex`{lKws!`6-K}lp&FFMviGpONA*0_M53QkrYa?744){lvZ_($`3^* zjr}TKr3PpN)Yw?2|K_{8UKF7$ky@d89Zy7lO%b{aD)T61&?+dK_9}Rb4=dB}a1!ZVTk z+(X4h>8Yg1ed6HRo`L&pqNM+FpKdB%15~2cP?YkAvEL}Dm#C-VU4Mk%UGU#eQJQ<; z_%Has3HCpNdfXDJGWzcpF#)wf3sVJ@k|H#shF=7g+eNJaN~EX~s_){(i;rA<;P3o! zGpZBP<6r|igNQ_!F(XTGGTXOLDE3-ttqcr z-W5I(w@9VZpSD4Jv7^`VsdK68snj>!H+UZKexCliFD=uQwJ96>Zw>qzJR-jknv|1} zb0jx2cU|rWd4asU@>BD#%KxQcLcz|0GX-aW4jJ64y`ms7i_e^6(sm#7cm zSz~FnhBy1oJZx%LEK)~4oJJq3P-{53SS^Pr6qG~GP(E$WNAQu&&m?5^we)r;prJh8>sevhk4L8B&@#Uc+lr5U+uzL#{$vc7+NR&Jex$ObzR@W~B?o z2E~H#v=toVbx&0#vJA&EY(-8@fD<{63ls(EZhS-2bSo{oMZqJ$|B>k``}`7of*!c_ zpPnH%>rhGBXnHv7bz@^iegot7vK-?Ha8qkavPH-*)C#S_)|zE;99!zV@S5UgJe_iYd zIo4N&XfzYQiXUP;qC4#Oh&6)PTSa=K9k*+hnj9(-`baTVNzEgiAH^b@+67dhQJbNW zfg7n2h87&4Wjl`+CdKwvZ^lQKRx-!-(fKHL z+m;hy>FITTsiQzSFyyTb#KmT~KA2d~a_m&GtlJ}a&itN%)^-{c0?UZ3P&+fkC8;WH z_`Pp%O*c}br{K{z!I$awy1k<4%Y%pKIJThl*)OXmYHTd0qnoW|&K>g@HnlFJARbLx z!wKO)57!+dmKYZ;o+5fUZa5p#h1wcT49mo)lvUpS*EG$vQr8Se5P#&OwJ53@J51jg zhpW~NUJ@-bX#GocltZ<$DpVM3h{1Q#!wkbLdh~|qOVU?rt?`P{X9U)w)6o($G{fg% zh2zXX#tX=nk7u!rK>;1MI1o-X*9O{ZuDbU#;oCE%&rYczS(_0)0dG*FRJr4|&tKtqeh0-KOSyqORdAtRL=xI8nLEWtAf zCIc;4(j6uf*PB!5hvH0}Nv{~Fib>MZrpb~aTM)ChmQ^i2Z@@3$AH$4^(a~H1=eD>c z3)7e;EGnyVr?TWKr@1IK*2ew=h0tB7#iO$@93=M_cyuX+7Oz1ljA9FgBZ3Jwc%5vw zfAq)Z?n1uO#4)Obey%GZ=<+)|&o+aci^EOYUp0Oz9XQJrY7@1ax|TXd-3D?_!-HS} zK_m;v58^Ig8M23h(2k_XYi#fZ(h6EqVa`_&@=c1A8(gWOkr^n*MLSe_GY6sz2oy*v=nBE75UC7C7p*|& zj!*KiI>b$rt?#5s;xfrANyF1n@Xa!T&r~-BXGohrkB+AUPh=I=+9LuVb1My4N*JsCKmFvWzmor*Raok0G zVWT+IJy3H%dSZLp1JVX|u6(di>YiHL)bVbIEa7EqyTvqia+cH~v7*GTD<4H)HB3$5 z`P&a2N;-}Aqk-ztHJD91^W2$7&~w{=zz^_}xS|(X(2RHS@e zK(Nb?4_q2e$IvyR-E8I*_3kF8Ej`PTZnL?(y5^AII(p&D7qH@pQG0b862ShU+;&9H^+$_)Wib-HMq+?pd8H)&II3BRo3buk@DM`*M?`gF3{n)E};T96$d8 z$5|ZdMpP2dBF^o0#0Y+&NJ?h7)&jP$NUsQ(HnV`&O{zqE44+|;>x*Q`ML&abXC<$7 zfY|d`+Vk89#Or3%%v~tBsYi;B=U8N#A#)L2Iz{^oaEmLcebgbq6Sq-clR5{us3E|T zFbt?3Kd=b0Da?^Xpk|T*PC*4bT_E{MPVyl*mS{e}UP2@bWmY>67K$yllMlneS^YrO7kE=l0;& z-$A*^$1wp%E+g3Ebg0OK>QOS#i6&l0vj#<)))yN}xwa=;J~^R?HN_WXG_gPtQ6_+Y ztisCGPGLMFlR7hIgm>Y7e3oTml_o}2$}q^J*5mJyVf4Lo)d$b2lNEjx7s~}gDO^QD zVr=~5yY@)NZ42a-^3LWub!<^wTvG$vasRI~ie6cRUwbt!vCN4ltW8DrUiFBx@5;{m zRy6oM3yUAi$k7K*oyf`0mOsT;a0`a=%4!E=6xDoNVN%W|VYIk@q}h{^mnydw-MOH) zwKS_BttrE^@bY**YJFas5htB}aI(OdxO$gRT#&{xftvYO64fjx(-Rjf76m3W6cr1e ziltg}++29ihU6I;?%ffw=%!2J(my5g!`` z)B_-z@B~ngB2bx7OAtgPP$h^{iU4CES@I3!?+U`%2=gWd`Us(erVoWcGSD4BW7r3- zW0paax4T00q4*{BuHwxV_~sWhn#stELRD@PC;N^vE;91a5z(qii>fttBXAC|xX=!AL^gtqp)8`?KzoB| zhC9GF4IF}ip%8C`JZ1y@8pfKLi=`DDVQ~V{wgnLRuoXtwmh1xwqdMDKoR?7ZXFWSR zd+Pa(s+r!P@KG1bdBT>}${(hmZM^To3)5blava4p$0!D@XhL(kp~}4bSj%e@Z;(qu zihvla$|_|t6Y%FHEp(bQW*`1W1TB|go2JFYFpL{bGz37m1^dVBf%O1Zo|t5P5c*zGUiqGfghw;EXAO4+@aLDb6jyd^ zL05PJS*2UwiaD8w58#dS`(l!pcXs+XQP_quJOg!}p=y-m7dV5$pjcB~nk7t~)cE-` ztpec>fvR@K6~mdtk`y>^;@D;{w|aM6+@PnXzr!;LA31(%MF$>vcLa4I*GmERhdo?C z@ObbAVR|{s92DT?r&?1=^I0*kZ0XfoL~d}X<^ID^&XGo<8yj)A<_yR)87!G#`2`Kg zOi%(b%GsP6C4e`cfPueNAW&t9{;MQ(qX6iO433~2q#R0UOd@Cu3Ok&j9mf5GHzIv2Zf4P{ zQ4ysD{PA}uM=gHrG1M{<-}%ojq*woXAS(2F684fo(Tw)quoO8)N?EWi_^YKZ5h`tiLzkb=DJMoS6=;~}~LJJ6P zp&aiLCuXZ(^3L}!<5yRSY)^vyqi6^{?R^*L)S11!J089AAq(RiL|1Cm$dmxo zGL2e6?WK-VuT$?*pF}7}LmMMiQHVfC0#E`30ll3N2EYnnLvS8y)J$qCq5%{t0iZJEMy2P%_LG{L>psP>;cL>=*w^oBRf>a+WR60Y2 zbSP*91F)G`e>uX&XfV=&lHmfD;zCqXpB(jXCDIYjVvJtK-c&KF9pQ zy7P}`uoMznIsnTh6-y@QO=(9l~(IBm(9pXpK;HJsBLL-N2Srxtgy1V zj7xt!F^q1%_QlThzjm~hfApf|a>Z}yT?bcx_J(>?+PQ6X1CEdOs!~o{C9}1)$l6p^ zmTR@9&!04*JSX9Xg5b^tqn~4EQFcq5HCM7)C2QA~^z=uqTO{l0lKiCo*Y4wA*oVCsoo^#0~p$sd{q36z*w-ml?wX!{_ESsEM zF-iBqy3yxRwquSpWJ|y8>awm)lOUnPc zwBhe37AyjG0LXA!k*#BOw-+n$!>{6x@NX%XPg*QIf9W**T00-3FfX6bT=guw`B`gF zsw?RX$D(#5qN!jy`Vya$ZjG78IrHn;b{+DVvl1myVsZp=X`fQb@!atNzA}l$_u+fR z19>h{st>a>^9#D=kygFF{)Xu00p;e)@#iO4^~2eDvBQ$L|M*<9g|5*qmCwE`vtDUQ zhuDZO#>FjV?OiJZjnHuq4*h~=H>wS4a0c>#RlEAzcxLLc$CL;D%nfgRKY zYB`|~S|uQ8NN8GU8rU>6Xj^uLD@a<;Muw~?BM1Vr5ehP>2v}8;T+p(>xXoSTCd8Espoiuq9nMqh88s$X!NH~ z_&&TZzW>W!kIXVVS`|0qpC5hx(fugo6}|jFC12L3;$Rovg@0p%e1*&F{V8i}Axi3( z#huOSr|>7I_TN{#q0bwZMJYU?Dl@aRcrS8Xi2bpy~fI3H)_(Tn}}teHVR->h28@o6Db|Cir8LlWT1ry zn-QqD#P&vdoeR1cX)utnW5a|XT*!r_S-2ovPr97T445=h`!0=B6TzrsFb2kfpwkk* zFs9nd5dm)iZoq|z4s4Cs_n>^zQ#FJZfP=v1)KFl_Rhu=?eW&=H)>Ghq?EeZc-hm?ocqsh1gxk-h~+Hqc&)d0z4tO5eLqtEz_E4SIyET0U9QX| zuE8xf6@p4r!1g)+!APjVQo@P*-nP;~Sxm8eDyn7;cN}0!R28Dw-X4=+t|?!*2PH0+ zvhB0}6)xc}e4vSW_R4fW%cZ+ZVC1GZO%%CyzCYh>i;K&#tm{L2)L`EgeGA+=FYjek zgQM9jSK`Zx)$0$Y-d^%i%{jj~Je#>52I5Zt{>M_Tu5Nu?oVPhw8k(k#8&uTEmmi`( z#pie_*knkKjf*R&;5}^63$l$h8og}0S7hIhtE&$eHE=TfTvTDM1e9rF!+fuZe|)CJ zIL~nD!pi)`9Vh18+Iv1@$~;}`MQWN1rmnIwGqa@B;$>^n>*`pspaQI2B4e~^3>pm` zZHc<@yI#Z}mIT@Bx`i~hSdt0F#KFkmQqXx$P%sOCa{WDWqv3#b1Q^u;J0c9tz-SAY z>6Ji0As{9&d}$zsv>}iQNdQ|Ifw({xU~yD}YNCR{ZP0E=&n4Ws5SRcM-+`VWzYFrK zNXMqZw&oYWGE7XsgtW%!DPjsHJb-9HgmFNEmj;cLJKHM(V&1S_^h$5z74&mM#+%PoP85rBf!ngoj8^u^MLUO* z)v*Rq^0s$01{Rxd8y@C4wk^ktVx*{| zO;Sm(T`wh0+2niS_IL%aR=c(EI%eIn_8be#@$qyZP}J4Vvz$AFZI==>d^#;AW+zWb zO?dnMrD?#1#CN>8+QFyM?AixjpQuSjx*F7M!=K?HHZ2iRVwyM2(^TZL19;BMw!0*@ zHsnc<|+%wmS0RfCLsTwC+u0%Z)0NC5t2hrMEF9cT0Jq2@dWYDA^ z)A(SOPn!@g(&; z^)le#uc&`gKT*F?f1yMKvzv%E1?D?4K>>{1z_o~x4-6Y5*$Bv%2$RSj8A^cjGu&Fsfa} zFcv}zR}ew-&^TE_?9P z=m6bt70c7gN11kR@0`DuZRgNif3hMk9$uo}bj%+kd(VHoIxMxTCT-nz==?$bU$>+C zIP?x;qiLxoG(7v28MWri=WN?{J)OH>C(y=Y440p|dfs0zv|k=&-rS8|vG8q! zUB7EUxo=a9k?z>={!>Uik#6cce|vLN`x@=&)9MhuV96Qj??vm;bXE>uw(P<+Aya1N z2AULc<|w)s*+A2i_jW4RZBnGrb(f0#lLudrf=dsaKU&w$m8^=xe>|&>-F?}J0ELj{gA--zyXcA~nig9(Z3 zZ9=V7ygekmgM4*7D>K6W`ma%-4p38&o!Dhe7j%Y6$_$`>@0Bj?LVI@m;VW*ypQ0K! zoC$7rnCrc_Bxn}YUXkN|5;?vKjS=rT9o9ggiD7zh=IoFWYU+DW0ZGoX{whh(Qd0VaQ zox51>lFYipd0A-qDs>!-Sfj!_As>Hoob}oaz^3Y=-N0RF!^lxA%Gvg`R-#|0C zn!1I$pL&M+i28>5eyo3Tpi}~82mC;^OHKg;^ML&c9Rmab?hk#IbQ~faBH#p$fbIWn zSdUoONe0k7;h%sF=&Lp`gF#Va8YpxR&|^WHB`4KBM2x89B$@F9T5zZk(%^*42qp)3 z2HW5EF_l39CxR|LD764KRG>EKV_`NED89vrm>|Y54)kPT3DC8PI8qr@kQvI94AA9J zKN!&o$K#gx8x=7sm>MB z=$y{tYkVgk#b=(xFVj(86+eK#S5~QilnZ@f$-AVk{-5jn48K@8zV`T@2gKvZFT_TdVC}@^_UK zTst?{@2SsCxn+|)EY^w5nRQDHN-4ZVY8SntRGs_a8qYpfZU=1Zl@8;tZ{>JV5=C+8 zY*0?by2sLj&g<~kV*AT$_RbK!^=I3UUBY4p&*1rX5%3%2_131{$BGpN_~5N9I~$Jg z^NOF2Y&<;Nt>VR+94;eu`l7PSc(3EG8>W4VzuN(&Hv5Lf(Qfq8+D=LZvr8vye*ly- z7sm9KQd?m*9t@{OD1_ITflh$LfFjL6n1oP)#%P%21k}KTVyOoG7I?Z*36=~X3mK3N z!<&f$0t{G5=ogrAMEsD!qKFtF(t`rH3xh^r#UnO9VixwnT)eT_RbXv-d2Ma9LZQ%T zfH)F^oKeB$cV1JvO7S6~y#T%Fo9%Zxm3aczKU<+j$H_z9FCCM;kJettu9fd1?o zK^cQ$@YhKB{+!wy9@4OxT}^o%g=>Pvy<2CAVAy2` zWofJafYw&)VOo(<#IH64ow;f?k`J^`IgP&$f4vTW-=OH%d6`$2SS-$%aDXQ>pMng` zJ#xmvuHH`W;xX76XJYN8)fRj~1eq zY-^O6%>Nqt_-1xe5>tFnHAQh$2B6ji;6O=~o4N$F&yCa;>I!NnSkMkqH&Z9UUO|w= z6M!P#pxy)i^cl=X04ZvNf6~BUY6Tbo%8-wa2xYTchxMbHcZ1+ichkpM4@VH9;F3jrDmayi^Gf=FQKK^?&~5#&L@2tgNmu`L{| z6Z0zC!n1jWf-d)K>w?hhL_uy_+dGo+9p1olvqeu3`r8ToVA*2$4F@MSiCG{3fq($E z3F5lC#fl7;Q5rZ-K$VGNPo?9WEWb9*WMT!@%UHB%;LrI@_q3LX4{sRBLFg*f!oGB; z;b^7Q(R+b=wUe~Zgh&fKOm(*DDr@BDKu`WzV%idFu8 z=EvmPxjR(Z`TcF@_bGopty;Qb=gRXN_bIfHMdhvKYbRAHM%EzH&TjOY+579dk*G^b zjm5I6b8~KTW@h>aiTM{w(O(Z}l34Pr{^;H?ejiP0Zv)}Ru$+}1jQ*z)>K%-;93$f% znuk<3w3rU&RL~6jk4wF^1sUxxt_q};Rq>16(mlcOjZcYthTBev_lTUhvp@PiZ7Klm zG#!5T0X%{dyy3p6v_(A^&`#je(-rNrCODW=SF+q?UhRSoOIa%Z^s1or6B>{w#6G=Y z^;e?TGhI<#7OY7-x!yA`zwQQSUh*pZ`j(IdWbni~m@>#oDC3f%bW4d7`PjB~!Q|%T zn3!f&mcZT>UGKIQRa`^C2$U0dYCi-DH^HpvYN`=Xa}UfOew}&?tixYY-vT}JFbfw9 z=&BIq0H_LMe?WmsP|841g79^QG-N!AYy>hEqks!$E@)_=RHX)xC(vI+RN7nw2@@zw z$d2?2C-e&_N(B%XXb*ZzWb}(u!Yv4^i`W7{rjuVMU{#RM(4l0r#!CYmRYrz0VLAjE z(X>Muk&~e@0|ObnblJg940<6kL=zwjtdd}LcoSm814<{BAb2K{1dpVC_|D3EPp+%o zgdSwkzwn;A>#k$KZajS1g#gFagaDjEcB8G0h?#zOuYJx+?cJ`s-WpA6E1c0_#Ik9BB7@=AwV9laH5vFn7x1oEW7$ zi9fj8%XvN0zK?r@-I+m*QDFwVv~}jC63cllrCxTTuh#2*G^|&li4Kl)TfLmvKDC1l z2fb(ynzX07rIY1O_R5E@V7E1(Iq27-P7eR@?3A3 zKHSq%iUvPlvTgXK6Jzl1w{W#0dr4mS za{R_w=r833K01nFbF^)X+f|!lcRiT}j6knk=gql=;T>^YyLP(AUl#QIGf^$ZWiDZ- zH;1QZ*9GZxZ=39y@et3t&CtKN0;MQV%06>yE05qK%y8;*^uYijHd{Qv# z3bTxXw*$eFFBn}@6y{3~rzDGMj3n})T{~RfXj2KOv+WPiuc9JVGX53s07TztNn`51 zyy1~*yy`sO^2dHDKMUUE;z~f#7g>?z;p6ouh$TfCFG)8KzB_yL7y8LH-Ka=y zq@~6le}?4TU3;VQ+h>t`I8%*Qqc8AVcor`4m)tO^!r?)2GV{(_{5_ZBfqBWZYg(&wyNf4&)+Odr0pjl}WaU zC7)nGJ*~qvHSqzf}}AEVgymammws(2>ya}!Y6>O+d~GB zl4Ei(VsIqJ$B-J37I3gv;)HB#O;bg*D?cO6F9;ryX{!lkH}`Gh#A*4R`Ki6f@srHS zYoiLqK?yW=IgBmv#YkY?Wz|z(ZrS|SEYGP6}JVhKZL}tw_AEr>bJwQPFxD1PFST>Q?chr0oAlfxl$tj7yq49`^A#nq)r zae$z_oZng})P%|kVf-Ygkn2T#qurbKRL55S z7(!QMCL%Z5H?mm)b6J;%S#H*RGw~>k+t6oy8 zFx(cYBc}!o@Q~~RWbCp#BGOv{{8ohi4LT86fQdznd=Y)e2@@S*vI?m0Dv;vw^5f6QqGy^g564tGR1h8z88T%1M8xG(hNMnVFvPB*PdUNFP zY*9GaQa@{`xuLhGus*qy?nN6p*#o{oL%q+JaD^dI#D#~p}|@_@M^u%rYTf(x`w=U!em=CIs}ha zVhN|wUrb_>R4_kJ*5wR*C~|f^$J8|@@rw?*O8~g;We!a@aQQxOfUN}$%*%kSS_58H z?78FY6I}`;Aptg18RUhqXV-LaT9R2*dDZ?cwH7lBuQQyG3X}D2S_^xbDv=9E>3S;A z^u4}JgbW|ym!jI`dst4)j6ME*buAlO?_QG{t)tUSHrF@IL!Ap{^Hq)~M9yPP9rtA$ z_htJZ<;&KlRgL?yjr+3wZ}4SH9QS1#_hlRRWgGWp`)_^Oj1gZpGHNjH%Qo)IHtx$d z?#njr%jN=;As7M_V1FI=W&3~3mu<$lFWa~;8w?nX`?CGN;mg)F?#njr%Qo)IHtx$d z?#njr%l3b@FIxi4C;WWem+gO`FI)P!FWa~;+y75rHa+y>WiXp$+?Q?Km+gPIFI(og zFWa~;+qf^=xG&qdFWa~;+y7x-w(fCXwsBv!abLD^U$${ywsBv!abLD^U$${ywsBv! zabLFo0lsYW#(mkwec8r++5QLnvMDJZR@JD0ei}v9KwO21#5WR_rlB3Q24Wnj9T1@# z{7T8x!EygGt&2l$472_=pk5dsQD$(yHTxk7HFX-JF6yc9t zU;eUvNRGdt#Fz6czG%aaU_!Ln{^YSl{4;7wY?|pR3Qaqbm~JvF5~Ek=o>>u{7+sc~ zcxPrTji#lPEPrG_cj2eDJbWwue6n+fH!<1;8S0Zu8e$qt5*uBv#K$`syuB}FY9oe~ zGak9=3J=tO4DL}YfHGqtW}b&?q9{Yes}|~>&?k7|5=VCm*;U|8?>C2F`2YxoXoo20 zlsVfBF4J-d7TbY{SrM;Xh?T1dL;`a{q(z84uW^{2oRU{u*_xgGrgMJ@HXlh^Q#G`# zS*gMu5T^E=(^24dCL}zEZVaV|P(g#^ne&h5PPX>nL>qSaI(uJr9-JL6y7P_8`V-Lf z7ZT7F*TI5CUv2*5)Q{?44kzfMqjjM?RMWoFeaZU4o~5H&6n#l&LNu((lZcfnX63XCy=?rMBWPnT+^X^RQzdihDjwFnDCOFb%-=YB zwoq}IWlg#h$Zq~{?n zIth6}J`jEdf(CMao~$HkG{CC{Nyzj^arH0PO;R))LI#7um)Pa7D`O0HgE1*dHb9y` zFZ9MfyF)g}j{2CjEsN&J?fL4PMqBZZQY`)L%ENO*vVBtRz11}tiE@o>pAuLrht}G+ zPOQ-;c30nPU%PADW{4Ot^|9)6AHf2m2-d%Bj!J^(%L6)wRdEasSa2{JW{-pOxdUQ$ zD9zAFK4mO;`bXM}v>D|X`FW@O?azuKWWk@>N2;sjYPlLdcKe!3mz^%lr)}tXaM27@ z^x*KRjj~;q-#%iup_k&jjTFKkwJypQi3{lM^+LAD!YgB|`1 z_7$n$Hf9!m9H3RN8%}q@yBpR(RdfwWAI~^fzp-pi*d8>`Fb|eMy@O_sj=ul( z;Jx=7jSje@1HKJ-?M|%;c0As)BwcwuN`g2B-;|Sjj=~eQ=QYJ3%iw7vKJ*d66$zRG zA$fp%Ku82Xa0m#ikWa((!hnSKu)MQKms&t?Umx=fRbGF2u;wTzg#!7)|YS4 z2PXx;JX94#NzQ}88)j9?bINwK)h?TBs0vDSMnceDiHG9oA>~orUi+%e8b{t;3#$fS zuL)BXZ~(9V?-z$?T@gM3?V=!yW(vHy zZJt;Yh@*v}~;YDDgxeJg7 z;b^pi|Bn?SBJtlr0GfStvC;^zO@Yzpw^mAU~CHDaucJJnnKD9(Ka%G z(-|WHGaz6aycJ05Vpxn9II|L12Z$=0n#9DQ90s!i7WptZ#0;BtP1do7(e!udEc#oN zF#0JvkG@*bae4656@w$u=w+mvih~_j*aC-^>3?2@F}-Kbj4Zql-#`0qWKjPxx-w8X z+&{ea3%p?TIh2K*wB;+_R{4mcjJ_7u`4T*pRzqP_;Fh=1NZI+RcjL_|O2nYVenL-C zxKVow__GnB=uyDk91vZW#3_tmU3hv}I~cwJw8?Z7`i@?w$B&HOgL&ru9i^r@Mannn z6G(a9Lob4bKl(4UVDn#3+@tOsEyu~OiqV|HLUekuj6bNEIJs}sqxLB)XFd1ph!O2W zJbHdHH%8ABG+zNdYha}ikPsjT$UR{RTUai@Xh7e75KaH4Sc7C_gGGNCd~Oe(@+bZs z-(B_&J*eJzp?&0?-aO?(Woz%lqtxhfyx{E02hgzMUUUV}kpAyg$0Iy~gf)XSa!*)4 z`tN-OM78*jbmf2AS4Z|i3Miu>Z!%!9v3&$9Rpf^LKtNM08vH_kI+tFa96<4CKG(?{pSq`jda}>&Sj{|IEe1eG4ipJ16xonKu`} z&|n0j*HeAe3)5W>z4K}myDI^>)OdqdQ8$e9lR6>!Z`IGzjp<&bwS z>@S3k?1@wsyg1of;dl-NdM0-yB@V*(A~?>Ye6THzY#EU^8N18yzweR(cbW&+`be8a z{w_|2^}+wUzcR`WD-bv-7pyz(2Gs0@x=x3l=!5)O5OvxQ^+#3)4?$e9T)1^UtSDXx z4_yHjQw6VB1K6?-Ua$e=XA`VsFcB)S1s=T(qEvT8s;&!Gv6)Ow0m4+kS{5o;;#Y%U z30~+&uowx%rH?^CBg+21g^QF+`xh=!Eu6P_(V%MXyakH}p+{yTKMJ5AkZ}m*z#461 LZ-HP{boze*hS>qa literal 0 HcmV?d00001 diff --git a/fic-export-files/auto/header.el b/fic-export-files/auto/header.el new file mode 100644 index 0000000..41d3cce --- /dev/null +++ b/fic-export-files/auto/header.el @@ -0,0 +1,39 @@ +(TeX-add-style-hook + "header" + (lambda () + (TeX-add-to-alist 'LaTeX-provided-package-options + '(("hyperref" "hidelinks") ("titlesec" "explicit"))) + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "href") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperref") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperimage") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "hyperbaseurl") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "nolinkurl") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "url") + (add-to-list 'LaTeX-verbatim-macros-with-braces-local "path") + (add-to-list 'LaTeX-verbatim-macros-with-delims-local "path") + (TeX-run-style-hooks + "microtype" + "lettrine" + "mathspec" + "pifont" + "titling" + "polyglossia" + "xcolor" + "graphicx" + "hyperref" + "titlesec" + "nameref") + (TeX-add-symbols + "sephim" + "sepffx" + "currentname" + "titlegen" + "titleasal") + (LaTeX-add-polyglossia-langs + '("english" "defaultlanguage" "variant=british")) + (LaTeX-add-fontspec-newfontcmds + "yevon") + (LaTeX-add-xcolor-definecolors + "shadecolor")) + :latex) + diff --git a/fic-export-files/header.tex b/fic-export-files/header.tex new file mode 100644 index 0000000..b2c2253 --- /dev/null +++ b/fic-export-files/header.tex @@ -0,0 +1,136 @@ +\usepackage{microtype} +\usepackage{lettrine} + +\usepackage{mathspec} +\setmainfont{Linux Libertine O} +\setmathfont(Digits){TeX Gyre Pagella Math} +\setmathfont(Latin,Greek){Linux Libertine O} +\setmonofont[Scale=0.8]{Noto Sans Mono} +\setsansfont{Noto Sans} +\newfontfamily\yevon{FFXYevon.ttf} + +\usepackage{pifont} +\newcommand{\sephim}{\vspace{1em}\fancybreak{\ding{98}}\vspace{1em}} +\newcommand{\sepffx}{\vspace{0.5em}\begin{center}{\yevon + A}\end{center}\vspace{0.5em}} + +\usepackage{titling} + +\usepackage{polyglossia} +\setdefaultlanguage[variant=british]{english} + +\usepackage{xcolor} +\definecolor{shadecolor}{gray}{0.85} +\usepackage{graphicx} + +\PassOptionsToPackage{hyphens}{url}\usepackage[hidelinks]{hyperref} +\hypersetup{ + colorlinks, + linkcolor={red!50!black}, + citecolor={green!30!black}, + urlcolor={blue!80!black} + } +\makeatletter + \DeclareMathSymbol{0}{\mathalpha}{\eu@DigitsArabic@symfont}{`0} + \DeclareMathSymbol{1}{\mathalpha}{\eu@DigitsArabic@symfont}{`1} + \DeclareMathSymbol{2}{\mathalpha}{\eu@DigitsArabic@symfont}{`2} + \DeclareMathSymbol{3}{\mathalpha}{\eu@DigitsArabic@symfont}{`3} + \DeclareMathSymbol{4}{\mathalpha}{\eu@DigitsArabic@symfont}{`4} + \DeclareMathSymbol{5}{\mathalpha}{\eu@DigitsArabic@symfont}{`5} + \DeclareMathSymbol{6}{\mathalpha}{\eu@DigitsArabic@symfont}{`6} + \DeclareMathSymbol{7}{\mathalpha}{\eu@DigitsArabic@symfont}{`7} + \DeclareMathSymbol{8}{\mathalpha}{\eu@DigitsArabic@symfont}{`8} + \DeclareMathSymbol{9}{\mathalpha}{\eu@DigitsArabic@symfont}{`9} +\makeatother + +\emergencystretch 3em % keeps text fully justified +\raggedbottom + +\setsecnumdepth{chapter} % unnumbered sections + +\opt{nonamechapters}{ + \usepackage[explicit]{titlesec} + \titleformat{\chapter}[display] + {\HUGE\bfseries}{\thechapter}{0pt}{\Huge}} + +\opt{namechapters}{ + \chapterstyle{lyhne} +} + +\usepackage{nameref} +\makeatletter +\newcommand*{\currentname}{\@currentlabelname} +\makeatother + +\nouppercaseheads + +\makepagestyle{multititlechapters} +\makeevenhead{multititlechapters}{\thepage}{}{\itshape\thetitle} +\makeoddhead{multititlechapters}{\itshape\currentname}{}{\thepage} + +\makepagestyle{multititlenochapters} +\makeevenhead{multititlenochapters}{\thepage}{}{\itshape\thetitle} +\makeoddhead{multititlenochapters}{\itshape + Chapter~\thechapter}{}{\thepage} + +\makepagestyle{multinotitlechapters} +\makeevenhead{multinotitlechapters}{\thepage}{}{\itshape\theauthor} +\makeoddhead{multinotitlechapters}{\itshape\currentname}{}{\thepage} + +\makepagestyle{multinotitlenochapters} +\makeevenhead{multinotitlenochapters}{\thepage}{}{\itshape\theauthor} +\makeoddhead{multinotitlenochapters}{\itshape Chapter~\thechapter}{}{\thepage} + +\makepagestyle{singletitle} +\makeevenhead{singletitle}{\thepage}{}{\itshape\theauthor} +\makeoddhead{singletitle}{\itshape\thetitle}{}{\thepage} + +\settocdepth{chapter} +\bibintoc + +\counterwithout{footnote}{chapter} + +\newcommand*{\titlegen}{\begingroup% Scripts, T&H p 151 +\centering +\vspace*{0.1\textheight} +{\Huge\bfseries\thetitle}\\[\baselineskip] +{\large\itshape by \theauthor}\\[\baselineskip] +\vfill +\rule{0.4\textwidth}{0.4pt}\\[\baselineskip] +{\large\itshape\the\year{}}\par +\vspace*{0.1\textheight} +\endgroup} + +\newcommand*{\titleasal}{\begingroup + \begin{minipage}{0.05\textwidth} + \color{red} + \rule{6pt}{\textheight} + \end{minipage} + \hspace{0.05\textwidth} + \begin{minipage}{0.6\textwidth} + \vspace*{0.1\textheight} + {\Large OVELY} \\ + \rule{0.9\textwidth}{1pt} \par + \vspace{3\baselineskip} + {\noindent\Huge\bfseries A SHOT} \par + \vspace{2\baselineskip} + {\noindent\Huge\bfseries AT LIFE} \par + \vspace{6\baselineskip} + {\scshape a Final Fantasy X fanfiction} \par + \vspace{0.4\baselineskip} + \rule{0.9\textwidth}{1pt} \par + \vspace{\baselineskip} + {\Large \the\year} + \end{minipage} + \hfill + \begin{minipage}{0.15\textwidth} + \vspace{3.5\baselineskip} + {\color{red} + \HUGE + {\yevon L} \\[1.15\baselineskip] + {\yevon I} \\[1.15\baselineskip] + {\yevon F} \\[1.15\baselineskip] + {\yevon E} + }\par + \end{minipage} + \endgroup} \ No newline at end of file diff --git a/org-export.el b/org-export.el deleted file mode 100644 index 83a1960..0000000 --- a/org-export.el +++ /dev/null @@ -1,20 +0,0 @@ -(require 'ox-latex) -(setq org-export-headline-levels 6) -(setq org-html-head-include-default-style nil) -(setq org-footnote-define-inline t) -(setq org-export-with-creator nil) -(setq org-export-with-toc nil) -(setq org-export-time-stamp-file nil) -(setq org-latex-default-class "memoir") -(setq org-latex-compiler "xelatex") -(setq org-html-validation-link nil) -(setq org-html-doctype "html5") -(add-to-list 'org-latex-classes - '("memoir" - "\\documentclass[9pt,b6paper]{memoir} - [NO-DEFAULT-PACKAGES] - \\input{header.tex}" - ("\\chapter{%s}" . "\\chapter*{%s}") - ("\\section{%s}" . "\\section*{%s}") - ("\\subsection{%s}" . "\\subsection*{%s}") - ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))