From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiha Subject: Re: Questions about exporting: subtitle, level formating, custom highlight markers error Date: Wed, 29 Jul 2015 21:32:03 +0200 Message-ID: <55B92A33.3040607@laposte.net> References: <55B4DAEC.7030805@laposte.net> <87egjugfry.fsf@ucl.ac.uk> <55B63847.5050101@laposte.net> <871tftprsd.fsf@ucl.ac.uk> <55B769D0.8060306@laposte.net> <87y4i01o89.fsf@ucl.ac.uk> <55B787FC.5050409@laposte.net> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------040206090401080403060007" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41926) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKX3z-0000pw-DO for emacs-orgmode@gnu.org; Wed, 29 Jul 2015 15:30:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZKX3t-0004TJ-Tg for emacs-orgmode@gnu.org; Wed, 29 Jul 2015 15:30:51 -0400 Received: from smtpoutz26.laposte.net ([194.117.213.101]:36205 helo=smtp.laposte.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZKX3t-0004Qe-A7 for emacs-orgmode@gnu.org; Wed, 29 Jul 2015 15:30:45 -0400 Received: from smtp.laposte.net (localhost [127.0.0.1]) by lpn-prd-vrout014 (Postfix) with ESMTP id D124711BA16 for ; Wed, 29 Jul 2015 21:30:42 +0200 (CEST) Received: from lpn-prd-vrin004 (unknown [10.128.63.5]) by lpn-prd-vrout014 (Postfix) with ESMTP id CB3AE11BA15 for ; Wed, 29 Jul 2015 21:30:42 +0200 (CEST) Received: from lpn-prd-vrin004 (localhost [127.0.0.1]) by lpn-prd-vrin004 (Postfix) with ESMTP id B954670EFF6 for ; Wed, 29 Jul 2015 21:30:42 +0200 (CEST) In-Reply-To: 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 Cc: John Kitchin This is a multi-part message in MIME format. --------------040206090401080403060007 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Hi John, Yes, highlight-regexp looks good and simple, when I apply it manually to=20 the buffer. No need even to define a new face as the default hi-yellow=20 is what I want. But: (how) can I call highlight-regexp from my .emacs file so that it=20 automatically applies to every Org buffer? Or must it be called on a per=20 buffer basis? Just putting (highlight-regexp "=B7[^=B7]*=B7") in my .emac= s, as=20 well as (global-hi-lock-mode 1) because Emacs throws a warning=20 otherwise, didn't work. Once I find time to go through this elisp/customization tutorial=20 I may more fruitfully=20 study your post! thanks On 07/28/2015 05:19 PM, John Kitchin wrote: > You may find this post on highlighting text helpful: > http://kitchingroup.cheme.cmu.edu/blog/2015/07/28/A-highlight-annotatio= n-mode-for-Emacs-using-font-lock/ > > I think it also lays the foundation for thinking about how to get it to > export, although you would need to do this as a preprocessing step > before the org export to replace highlighted regions by the appropriate= markup. > > It also sounds like you could use the highlight-regexp function for wha= t > you want. > > Something like this might do what you want (use the face you prefer). > > (defface my-face3 > `((t (:inherit org-link :foreground "red"))) > "My face") > > > (highlight-regexp "=B7[^=B7]*=B7" 'my-face3) > > (unhighlight-regexp "=B7[^=B7]*=B7") > > > > Xiha writes: > > =B7test=B7 > >> Thanks guys. Getting closer - but please don't overestimate my backgou= nd >> knowledge :) >> >> On 07/28/2015 02:05 PM, Eric S Fraga wrote: >>> You need to differentiate between two aspects: highlighting of text >>> within a org buffer and what happens to text when exported. >> Yes. Principally, I want the former. >> >> As to the latter: (1) my custom highlighting shouldn't break exporting= . >> (2) /If/ highlighting can appear in the exported document, that's a >> bonus. But clearly it's not trivial to do; so never mind. >> >>> In the new exporter, I don't think you can implement anything that co= vers >>> both use cases. >>> >>> I am not entirely sure what it is you want. If you want just one of >>> these, for the former, font-lock-add-keywords is probably what you wa= nt >>> to pursue. >> Right, so grabbing code from the manual about font lock mode >> , >> how do I adapt it? I tried putting this in my .emacs file >> >> ;; Highlight text between =B7interpuncts=B7 >> (add-hook 'org-mode-hook >> (lambda () >> (font-lock-add-keywords nil >> '(("=B7\w=B7" 1 >> font-lock-warning-face t))))) >> >> but that doesn't work. Probably that regexp is all wrong? >> >> Also, I don't want it to use font-lock-warning-face particularly. (How= ) >> can I define a new face for this purpose? >> >> Nick Dokos wrote: >>> Emphasis is detected in the parser, so it is indeed difficult to add = new >>> emphasis for export. >>> >>> Since you don't care about the added emphasis in the exported documen= t >>> (only in the org buffer), using latest org from git works OK, >> So do I understand correctly that this is a completely different route >> than the font-lock-add-keywords one above? I.e. using this latest git >> version, I can define the highlight marker as I did and described >> earlier, and there's no need for a new face, because it uses the >> 'highlight' defined in the theme I'm using. Correct? >> >> I cloned the git files, but I'm wary of the next steps. If I just make >> and make install, will it not half-overwrite my current stable Org, an= d >> become a big mess? Sorry, this stuff is new to me and not really obvio= us. >> >> Also: I tried reinstalling Org via the menu, Options >> Manage Emacs >> Packages in hopes that it would install the git version while taking >> care of avoiding a mess. It now lists 20150727 as the version, so that= 's >> recent, but is that the 'bleeding edge' version or the stable version = at >> that date? It didn't solve the problem, at any rate. >> >>> except >>> that the marker characters are copied verbatim to the output, so you'= ll >>> have some cleanup to do. >> That's okay. It's not a problem for draft versions of the document; an= d >> by the time the final document is ready, all this temporary highlighti= ng >> should be gone! >> >>> I also tried 8.2.9 and got an error, but the error is different from >>> what you get (backtrace attached). >> I am using 8.2.10 not 8.2.9 so that may explain the difference. >> >> cheers > -- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu --------------040206090401080403060007 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
Hi John,

Yes, highlight-regexp looks good and simple, when I apply it manually to the buffer. No need even to define a new face as the default hi-yellow is what I want.

But: (how) can I call highlight-regexp from my .emacs file so that it automatically applies to every Org buffer? Or must it be called on a per buffer basis? Just putting (highlight-regexp "·[^·]*·") in my .emacs, as well as (global-hi-lock-mode 1) because Emacs throws a warning otherwise, didn't work.

Once I find time to go through this elisp/customization tutorial I may more fruitfully study your post!

thanks


On 07/28/2015 05:19 PM, John Kitchin wrote:
You may find this post on highlighting text helpful:
http://kitchingroup.cheme.cmu.edu/blog/2015/07/28/A-highlight-annotation-mode-for-Emacs-using-font-lock/

I think it also lays the foundation for thinking about how to get it to
export, although you would need to do this as a preprocessing step
before the org export to replace highlighted regions by the appropriate markup.

It also sounds like you could use the highlight-regexp function for what
you want.

Something like this might do what you want (use the face you prefer).

(defface my-face3
  `((t (:inherit org-link :foreground "red")))
  "My face")


(highlight-regexp "·[^·]*·" 'my-face3)

(unhighlight-regexp "·[^·]*·")



Xiha writes:

·test·

Thanks guys. Getting closer - but please don't overestimate my backgound
knowledge :)

On 07/28/2015 02:05 PM, Eric S Fraga wrote:
You need to differentiate between two aspects: highlighting of text
within a org buffer and what happens to text when exported.
Yes. Principally, I want the former.

As to the latter: (1) my custom highlighting shouldn't break exporting.
(2) /If/ highlighting can appear in the exported document, that's a
bonus. But clearly it's not trivial to do; so never mind.

In the new exporter, I don't think you can implement anything that covers
both use cases.

I am not entirely sure what it is you want.  If you want just one of
these, for the former, font-lock-add-keywords is probably what you want
to pursue.
Right, so grabbing code from the manual about font lock mode
<https://www.gnu.org/software/emacs/manual/html_node/emacs/Font-Lock.html>,
how do I adapt it? I tried putting this in my .emacs file

;; Highlight text between ·interpuncts·
(add-hook 'org-mode-hook
           (lambda ()
            (font-lock-add-keywords nil
             '(("·\w·" 1
                font-lock-warning-face t)))))

but that doesn't work. Probably that regexp is all wrong?

Also, I don't want it to use font-lock-warning-face particularly. (How)
can I define a new face for this purpose?

Nick Dokos wrote:
Emphasis is detected in the parser, so it is indeed difficult to add new
emphasis for export.

Since you don't care about the added emphasis in the exported document
(only in the org buffer), using latest org from git works OK,
So do I understand correctly that this is a completely different route
than the font-lock-add-keywords one above? I.e. using this latest git
version, I can define the highlight marker as I did and described
earlier, and there's no need for a new face, because it uses the
'highlight' defined in the theme I'm using. Correct?

I cloned the git files, but I'm wary of the next steps. If I just make
and make install, will it not half-overwrite my current stable Org, and
become a big mess? Sorry, this stuff is new to me and not really obvious.

Also: I tried reinstalling Org via the menu, Options >> Manage Emacs
Packages in hopes that it would install the git version while taking
care of avoiding a mess. It now lists 20150727 as the version, so that's
recent, but is that the 'bleeding edge' version or the stable version at
that date? It didn't solve the problem, at any rate.

except
that the marker characters are copied verbatim to the output, so you'll
have some cleanup to do.
That's okay. It's not a problem for draft versions of the document; and
by the time the final document is ready, all this temporary highlighting
should be gone!

I also tried 8.2.9 and got an error, but the error is different from
what you get (backtrace attached).
I am using 8.2.10 not 8.2.9 so that may explain the difference.

cheers
--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

--------------040206090401080403060007--