Re: [Orgmode] Re: Custom docbook stylesheets.
Baoqiu Cui writes: > Before I change the document for variable > `org-export-docbook-xslt-proc-command', let's finalize the design of > this first. :-) > > Currently `org-export-docbook-xslt-proc-command' contains two > format-like specs: "%i" (for the input DocBook XML file) and "%o" (for > the output FO file). Values of these two specs will be generated based > on the Org file name to be exported. > > We should add a 3rd spec, "%s", to this variable for the XSLT stylesheet > that users would like to use for exporting the Org file. As Dale > pointed earlier, users would like to use different stylesheets for > different Org files. By default, the value of the stylesheet is set > based on a new customizable variable called > `org-export-docbook-xslt-stylesheet'. However users can use #+XSLT in > each individual Org file to override it. > > Are you OK with this? I am. It's pretty much exactly what I was thinking. -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Carsten Dominik writes: > do I still need to do something with #+XSLT? If yes, could you please > spell it out for me? Ok! So now the command to process docbook to whatever is more flexible. Previously, the the order of input file and output file were fixed, and the stylesheet was hard-coded into the command. The goal of this is to allow for the name of a stylesheet file to be directly in the org file itself, using #+XSLT (or soemthing else?). I can see how individual documents could require differnt stylesheets. So either the command to process can be in the org file, or the default command can be modified to use a stylesheet variable, and that variable can be in the org file. -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Dale, do I still need to do something with #+XSLT? If yes, could you please spell it out for me? Thanks. - Carsten On May 13, 2010, at 4:11 PM, Dale P. Smith wrote: Carsten Dominik writes: Somehow I do net seem to have a patch relating to this thread. Can you please send it again? Baoqiu, you agree that this should be applied? Here is is. diff --git a/lisp/org-docbook.el b/lisp/org-docbook.el index 8a89675..37851da 100644 --- a/lisp/org-docbook.el +++ b/lisp/org-docbook.el @@ -77,6 +77,7 @@ (require 'org) (require 'org-exp) (require 'org-html) +(require 'format-spec) ;;; Variables: @@ -330,10 +331,10 @@ in a window. A non-interactive call will only return the buffer." "Export as DocBook XML file, and generate PDF file." (interactive "P") (if (or (not org-export-docbook-xslt-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xslt-proc- command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xslt-proc- command))) (error "XSLT processor command is not set correctly")) (if (or (not org-export-docbook-xsl-fo-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xsl-fo-proc- command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xsl-fo-proc- command))) (error "XSL-FO processor command is not set correctly")) (message "Exporting to PDF...") (let* ((wconfig (current-window-configuration)) @@ -345,10 +346,10 @@ in a window. A non-interactive call will only return the buffer." (pdffile (concat base ".pdf"))) (and (file-exists-p pdffile) (delete-file pdffile)) (message "Processing DocBook XML file...") -(shell-command (format org-export-docbook-xslt-proc-command - fofile (shell-quote-argument filename))) -(shell-command (format org-export-docbook-xsl-fo-proc-command - fofile pdffile)) +(shell-command (format-spec org-export-docbook-xslt-proc-command + (format-spec-make ?o fofile ?i (shell-quote-argument filename +(shell-command (format-spec org-export-docbook-xsl-fo-proc- command + (format-spec-make ?i fofile ?o pdffile))) (message "Processing DocBook file...done") (if (not (file-exists-p pdffile)) (error "PDF file was not produced") -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Carsten Dominik writes: > Somehow I do net seem to have a patch relating to this thread. Can > you please send it again? Baoqiu, you agree that this should be > applied? Here is is. diff --git a/lisp/org-docbook.el b/lisp/org-docbook.el index 8a89675..37851da 100644 --- a/lisp/org-docbook.el +++ b/lisp/org-docbook.el @@ -77,6 +77,7 @@ (require 'org) (require 'org-exp) (require 'org-html) +(require 'format-spec) ;;; Variables: @@ -330,10 +331,10 @@ in a window. A non-interactive call will only return the buffer." "Export as DocBook XML file, and generate PDF file." (interactive "P") (if (or (not org-export-docbook-xslt-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xslt-proc-command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xslt-proc-command))) (error "XSLT processor command is not set correctly")) (if (or (not org-export-docbook-xsl-fo-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xsl-fo-proc-command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xsl-fo-proc-command))) (error "XSL-FO processor command is not set correctly")) (message "Exporting to PDF...") (let* ((wconfig (current-window-configuration)) @@ -345,10 +346,10 @@ in a window. A non-interactive call will only return the buffer." (pdffile (concat base ".pdf"))) (and (file-exists-p pdffile) (delete-file pdffile)) (message "Processing DocBook XML file...") -(shell-command (format org-export-docbook-xslt-proc-command - fofile (shell-quote-argument filename))) -(shell-command (format org-export-docbook-xsl-fo-proc-command - fofile pdffile)) +(shell-command (format-spec org-export-docbook-xslt-proc-command +(format-spec-make ?o fofile ?i (shell-quote-argument filename +(shell-command (format-spec org-export-docbook-xsl-fo-proc-command +(format-spec-make ?i fofile ?o pdffile))) (message "Processing DocBook file...done") (if (not (file-exists-p pdffile)) (error "PDF file was not produced") -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Hi Somehow I do net seem to have a patch relating to this thread. Can you please send it again? Baoqiu, you agree that this should be applied? - Carsten On May 3, 2010, at 9:25 PM, Dale P. Smith wrote: Baoqiu Cui writes: Hi Dale, Dale Smith writes: Dale Smith writes: The current org-export-docbook-xslt-proc-command is a format string, with a fixed order of arguments (the fo filename and then the input docbook filname). Thats probably good enough for most (all?) xslt processors, but things may be more limited when it comes to also specifying the stylesheet. Do we need to have some kind of special markers in the format string for where the different options go? Something like $i $o and $s (for in, out, and stysheet)? I thought about doing something similar to make the commands easier to set, but stopped pursuing that after seeing the format string style worked fine. I am not sure if any other Emacs modes/packages have done something like this, i.e. using (semi)named arguments. Well, it took me a while, but it found it. It's the format-spec function. (Actually, http://edward.oconnor.cx/2009/06/format-spec clued me in.) I'll have a go at it today and see if I can send in a patch. Ok. This works for me. Docs are not updated. That would push me over the 10 line limit. ;^) Thanks for working on this patch, which looks very good to me! Yes, I think format-spec is the right way to go, and it does make the command format more flexible. This didn't seem to make it into org-mode. Any chance it could be added? Thanks, -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode - Carsten ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Baoqiu Cui writes: > Hi Dale, > > Dale Smith writes: > >> Dale Smith writes: >> >> The current org-export-docbook-xslt-proc-command is a format string, >> with a fixed order of arguments (the fo filename and then the input >> docbook filname). Thats probably good enough for most (all?) xslt >> processors, but things may be more limited when it comes to also >> specifying the stylesheet. Do we need to have some kind of special >> markers in the format string for where the different options go? >> Something like $i $o and $s (for in, out, and stysheet)? I thought about doing something similar to make the commands easier to set, but stopped pursuing that after seeing the format string style worked fine. I am not sure if any other Emacs modes/packages have done something like this, i.e. using (semi)named arguments. >>> >>> Well, it took me a while, but it found it. It's the format-spec >>> function. (Actually, http://edward.oconnor.cx/2009/06/format-spec >>> clued me in.) >>> >>> I'll have a go at it today and see if I can send in a patch. >> >> Ok. This works for me. Docs are not updated. That would push me >> over the 10 line limit. ;^) > > Thanks for working on this patch, which looks very good to me! Yes, I > think format-spec is the right way to go, and it does make the command > format more flexible. This didn't seem to make it into org-mode. Any chance it could be added? Thanks, -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX ___ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Carsten Dominik writes: >>> Maybe we could have something like #+XSLT: or so to configure buffer- >>> local setting for this variable.. >> >> Thanks for the suggestion, Carsten! It's a little hard for me to >> decide >> which way is better to specify the stylesheet: "#+XSLT" or "Local >> Variables:". Maybe "#+XSLT" is better? I don't see many local >> variables being used in Org mode... Please advise. > > This is only a mater of convenience. The #+ syntax is easier to > set up and refresh, so I prefer it for stuff that is frequently changed. > But you can also use file variables of course The problem with file variables, is that they go away during processing. (The docbook output is done in a different buffer, so the buffer-local variables in the org buffer are not available.) So I vote for the #+ method. Thanks! -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Baoqiu Cui writes: > I like %s (for stylesheets). For %p, I guess we can use it to format a > *set* of parameters. Yes, that's what I meant. >> What would be cool is a way to allow the user to *add* custom spec >> chars to the default set. (hint hint) > > Will we make it *too* flexible by doing this? ;-) Possibly. I just want stylesheets! ;^) If the %s option isn't provided by default, I'd like to have a way to add it without modifying org-docbook.el. It makes updates easier. -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Dale Smith writes: The current org-export-docbook-xslt-proc-command is a format string, with a fixed order of arguments (the fo filename and then the input docbook filname). Thats probably good enough for most (all?) xslt processors, but things may be more limited when it comes to also specifying the stylesheet. Do we need to have some kind of special markers in the format string for where the different options go? Something like $i $o and $s (for in, out, and stysheet)? >> >> I thought about doing something similar to make the commands easier to >> set, but stopped pursuing that after seeing the format string style >> worked fine. I am not sure if any other Emacs modes/packages have done >> something like this, i.e. using (semi)named arguments. > > Well, it took me a while, but it found it. It's the format-spec > function. (Actually, http://edward.oconnor.cx/2009/06/format-spec > clued me in.) > > I'll have a go at it today and see if I can send in a patch. Ok. This works for me. Docs are not updated. That would push me over the 10 line limit. ;^) Now we can easily add other options, like %s for stylesheets or whatever. Maybe something like %p to set parameters. (As in the --stringparam option to xsltproc). What would be cool is a way to allow the user to *add* custom spec chars to the default set. (hint hint) -Dale diff --git a/lisp/org-docbook.el b/lisp/org-docbook.el index 8a89675..37851da 100644 --- a/lisp/org-docbook.el +++ b/lisp/org-docbook.el @@ -77,6 +77,7 @@ (require 'org) (require 'org-exp) (require 'org-html) +(require 'format-spec) ;;; Variables: @@ -330,10 +331,10 @@ in a window. A non-interactive call will only return the buffer." "Export as DocBook XML file, and generate PDF file." (interactive "P") (if (or (not org-export-docbook-xslt-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xslt-proc-command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xslt-proc-command))) (error "XSLT processor command is not set correctly")) (if (or (not org-export-docbook-xsl-fo-proc-command) - (not (string-match "%s.+%s" org-export-docbook-xsl-fo-proc-command))) + (not (string-match "%[io].+%[io]" org-export-docbook-xsl-fo-proc-command))) (error "XSL-FO processor command is not set correctly")) (message "Exporting to PDF...") (let* ((wconfig (current-window-configuration)) @@ -345,10 +346,10 @@ in a window. A non-interactive call will only return the buffer." (pdffile (concat base ".pdf"))) (and (file-exists-p pdffile) (delete-file pdffile)) (message "Processing DocBook XML file...") -(shell-command (format org-export-docbook-xslt-proc-command - fofile (shell-quote-argument filename))) -(shell-command (format org-export-docbook-xsl-fo-proc-command - fofile pdffile)) +(shell-command (format-spec org-export-docbook-xslt-proc-command +(format-spec-make ?o fofile ?i (shell-quote-argument filename +(shell-command (format-spec org-export-docbook-xsl-fo-proc-command +(format-spec-make ?i fofile ?o pdffile))) (message "Processing DocBook file...done") (if (not (file-exists-p pdffile)) (error "PDF file was not produced") -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Baoqiu Cui writes: >>> The current org-export-docbook-xslt-proc-command is a format string, >>> with a fixed order of arguments (the fo filename and then the input >>> docbook filname). Thats probably good enough for most (all?) xslt >>> processors, but things may be more limited when it comes to also >>> specifying the stylesheet. Do we need to have some kind of special >>> markers in the format string for where the different options go? >>> Something like $i $o and $s (for in, out, and stysheet)? > > I thought about doing something similar to make the commands easier to > set, but stopped pursuing that after seeing the format string style > worked fine. I am not sure if any other Emacs modes/packages have done > something like this, i.e. using (semi)named arguments. Well, it took me a while, but it found it. It's the format-spec function. (Actually, http://edward.oconnor.cx/2009/06/format-spec clued me in.) I'll have a go at it today and see if I can send in a patch. -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
Carsten Dominik writes: > Thanks for the suggestion, Carsten! It's a little hard for me to >> decide >> which way is better to specify the stylesheet: "#+XSLT" or "Local >> Variables:". Maybe "#+XSLT" is better? I don't see many local >> variables being used in Org mode... Please advise. > > This is only a mater of convenience. The #+ syntax is easier to > set up and refresh, so I prefer it for stuff that is frequently changed. > But you can also use file variables of course #+ I think would be better. Does it make sense to do something extensible, like the #+ macros? Then Carsten won't need to be adding new #+ words all the time. ;^) -Dale -- Dale P. Smith da...@vtiinstruments.com 216-447-4059 x2018 216-447-8951 FAX (Company mandated disclaimer follows...) The information in this e-mail and any attachments is intended solely for use by the recipient(s) to whom this e-mail is addressed and may contain confidential and/or privileged information which is exempt from disclosure. If you are not an intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that you have received this e-mail and any attachments in error and that dissemination, distribution, review or copying of this e-mail and its attachments is strictly prohibited. If you have received this e-mail in error, please notify the sender immediately and delete all electronic and paper copies of this e-mail as well as any attachments. Thank you. http://www.vtiinstruments.com/images/vtiemaillogo.gif ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: Custom docbook stylesheets.
On May 27, 2009, at 8:59 PM, Baoqiu Cui wrote: Carsten Dominik writes: On May 27, 2009, at 2:13 AM, Dale Smith wrote: Greetings List, I was suprised an pleased to discover that the docbook exporter has the ability to apply the stylesheets to transform to fo and to also process that to pdf. Somehing I'd like to see is a document specific way to specify the stylesheet. I tried setting org-export-docbook-xslt-proc-command in a "Local Variables:" section, but it seems the variable is being used from a different buffer. So, what do you think about some kind of document property to overrride a global setting? Thanks for the suggestion, Dale. I think this is a very good idea, and I will try to make the changes to support local variables overriding the global settings. Maybe we can have a separate variable called org-export-docbook-stylesheet to make it easier to set in each file and flexible to use (in org-export-docbook-xslt-proc-command, etc.). What do you think? The current org-export-docbook-xslt-proc-command is a format string, with a fixed order of arguments (the fo filename and then the input docbook filname). Thats probably good enough for most (all?) xslt processors, but things may be more limited when it comes to also specifying the stylesheet. Do we need to have some kind of special markers in the format string for where the different options go? Something like $i $o and $s (for in, out, and stysheet)? I thought about doing something similar to make the commands easier to set, but stopped pursuing that after seeing the format string style worked fine. I am not sure if any other Emacs modes/packages have done something like this, i.e. using (semi)named arguments. Maybe we could have something like #+XSLT: or so to configure buffer- local setting for this variable.. Thanks for the suggestion, Carsten! It's a little hard for me to decide which way is better to specify the stylesheet: "#+XSLT" or "Local Variables:". Maybe "#+XSLT" is better? I don't see many local variables being used in Org mode... Please advise. This is only a mater of convenience. The #+ syntax is easier to set up and refresh, so I prefer it for stuff that is frequently changed. But you can also use file variables of course - Carsten ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode