From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederik Subject: Re: LaTex export: How to use `csquotes' and `\enquote{}' Date: Fri, 08 Jul 2011 17:49:07 +0200 Message-ID: References: <6663.1309983647@alphaville.americas.hpqcorp.net> <6920.1310079233@alphaville.americas.hpqcorp.net> <4521.1310090982@alphaville.dokosmarshall.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([140.186.70.92]:46702) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfDIs-0008Fe-8b for emacs-orgmode@gnu.org; Fri, 08 Jul 2011 11:49:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QfDIq-0000IM-0t for emacs-orgmode@gnu.org; Fri, 08 Jul 2011 11:49:17 -0400 Received: from lo.gmane.org ([80.91.229.12]:55048) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfDIp-0000IG-I0 for emacs-orgmode@gnu.org; Fri, 08 Jul 2011 11:49:15 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QfDIn-0004Rq-Gu for emacs-orgmode@gnu.org; Fri, 08 Jul 2011 17:49:13 +0200 Received: from dslb-094-218-041-069.pools.arcor-ip.net ([94.218.41.69]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 08 Jul 2011 17:49:13 +0200 Received: from freak.fred by dslb-094-218-041-069.pools.arcor-ip.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 08 Jul 2011 17:49:13 +0200 In-Reply-To: <4521.1310090982@alphaville.dokosmarshall.org> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Am 08.07.2011 04:09, schrieb Nick Dokos: > Thomas S. Dye wrote: > >> Hi Nick, >> >> Good point. >> >> How about three new variables, org-export-latex-open-double-quotes, >> org-export-latex-close-double-quotes, and org-export-latex-single-quote? >> >> The regexp stuff could stay as hard code and the user would only be able >> to mess up what actually ends up being exported. >> > > That's a pretty good idea: simple implementation, no extra options, set-and-forget > and it only affects the latex exporter. > > Tom, you win the jackpot: you'll have the patch ready by tomorrow? > > Nick > I agree with Nick - simple and clean. What would be the purpose of the variable `org-export-latex-single-quote'? If you intend to support \enquote*{, then perhaps there should be an additional variable for the single closing quote (which would be `}' again...) Then you'd have four variables: org-export-latex-open-double-quotes org-export-latex-close-double-quotes org-export-latex-open-single-quote org-export-latex-close-single-quote But perhaps I'm misguided... Regards. >> All the best, >> Tom >> =20 >> Nick Dokos writes: >> >>> Responses to Frederik and Tom inline. >>> >>> Frederik writes: >>> >>>> Why not use one option for babel and another for csquotes? I thought >>>> of something like this: >>>> >>>> #+OPTIONS: babel:english,ngerman csquotes:autostyle,german=3Dguillemets >>>> >>> >>> I did suggest different options, one controlling babel and the other >>> controlling csquotes. The problem with the above is that it is very >>> LaTeX-specific: the options and their values have no meaning outside of >>> that. I think that we should strive to use more generic options that >>> would at least be usable by other export engines. >>> >>>> Or is there any other reason why one would like to specify language opti= >> ons? >>>> >>>> Sadly I don't have the skills to suggest a patch... >>>> >>>> I definitely see Nick's point: simplicity is one of the most important >>>> features of org-mode. So a possible decision not to support csquotes >>>> is absolutely understandable. >>> >>> I'll be very surprised if there is no support for csquotes within a couple >>> of weeks (maybe within a couple of days :-) ) The question is "what form >>> will it take?" >>> >>> >>> Thomas S. Dye wrote: >>> >>>> I'm wondering if a simpler solution than Nick's might be to replace the >>>> lists at the end of this code snippet with a variable, say >>>> org-export-latex-quote-mechanism. Initially, the variable would be set >>>> to the second list. If the user wanted something different, then the >>>> user would be responsible for setting the variable to the different >>>> quoting mechanism, whether it be \enquote{ or something else. The user >>>> would also be responsible for making sure the LaTeX packages needed to >>>> support the quoting mechanism were loaded and functional. >>>> =20 >>>> (defun org-export-latex-quotation-marks () >>>> "Export quotation marks depending on language conventions." >>>> (let* ((lang (plist-get org-export-latex-options-plist :language)) >>>> (quote-rpl (if (equal lang "fr") >>>> '(("\\(\\s-\\)\"" "=C2=AB~") >>>> ("\\(\\S-\\)\"" "~=C2=BB") >>>> ("\\(\\s-\\)'" "`")) >>>> '(("\\(\\s-\\|[[(]\\)\"" "``") >>>> ("\\(\\S-\\)\"" "''") >>>> ("\\(\\s-\\|(\\)'" "`"))))) >>>> =20 >>>> This might provide Org-mode the flexibility needed to support csquotes, >>>> but also leave open the possibility of supporting other packages, as >>>> well. >>>> =20 >>> >>> Maybe - this is the kind of mechanism that is used for >>> org-export-latex-classes for example, so there is definitely >>> precedent. OTOH, the lists above look like hen scratchings (or line >>> noise if you prefer, or -- I'll get in trouble for this -- Perl >>> code :-)), so it would be easy to get things wrong if you have to >>> cut-and-paste-and-edit which I think one would have to do to customize >>> it: it's OK to expect *one* developer to get it right, but it's not >>> OK to expect 100 users to get it right. >>> >>> So it might be simpler to implement, but I'm not sure it might be >>> simpler to use. I've supported using existing mechanisms to implement >>> new behavior before and not disturbing the existing structure too much >>> (e.g. the revtex stuff that Sebastian Hoffert was (is?) working on). >>> But if it leads to e.g. an implementation that befuddles users, then >>> you end up with a flood of questions on the ML. So it's a balancing >>> act. >>> >>> BTW, you mention the possibility of supporting other packages. I didn't >>> find anything useful in the TeX FAQ but if there are "csquotes-like" >>> packages that people commonly (or perhaps uncommonly) use then a survey >>> of their capabilities might indicate the best way to go. >>> >>> Nick >> >> --=20 >> Thomas S. Dye >> http://www.tsdye.com >> > > -- Frederik