* Different listing styles for same babel language?
@ 2017-07-24 0:34 Michael Gauland
2017-07-24 16:37 ` Charles C. Berry
2017-07-24 23:54 ` Adam Porter
0 siblings, 2 replies; 5+ messages in thread
From: Michael Gauland @ 2017-07-24 0:34 UTC (permalink / raw)
To: emacs-orgmode
My org documents include lots of source code blocks, in a variety of
languages. I use the listings package to give each language a
distinctive look.
Lately, my work has involved using shell commands on different machines,
as different users. I'd like to give each shell environment (e.g., local
user, normal user on remote host, root on remote host) a different look.
At the moment, I'm doing this by specifying different shells (bash,
dash, sh) for each. This works, especially since I'm not executing the
commands from emacs, so it doesn't matter which shell I specify.
Is there a better way to do this?
Would anyone else find it useful? I'm happy to work on the code, if I'm
not the only one who'd use it.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Different listing styles for same babel language?
2017-07-24 0:34 Different listing styles for same babel language? Michael Gauland
@ 2017-07-24 16:37 ` Charles C. Berry
2017-08-07 1:06 ` Michael Gauland
2017-07-24 23:54 ` Adam Porter
1 sibling, 1 reply; 5+ messages in thread
From: Charles C. Berry @ 2017-07-24 16:37 UTC (permalink / raw)
To: Michael Gauland; +Cc: emacs-orgmode
On Mon, 24 Jul 2017, Michael Gauland wrote:
> My org documents include lots of source code blocks, in a variety of
> languages. I use the listings package to give each language a
> distinctive look.
>
> Lately, my work has involved using shell commands on different machines,
> as different users. I'd like to give each shell environment (e.g., local
> user, normal user on remote host, root on remote host) a different look.
> At the moment, I'm doing this by specifying different shells (bash,
> dash, sh) for each. This works, especially since I'm not executing the
> commands from emacs, so it doesn't matter which shell I specify.
>
> Is there a better way to do this?
>
See
(info "(org) Advanced configuration")
and scroll down to "Extending an existing back-end" where you will find
a template for modifying the output of a src-block.
Assuming you derive your exporter from the latex backend, you want to have
something like
#+ATTR_LATEX: :lstyle basic
#+BEGIN_SRC shell
echo "Hello World"
#+END_SRC
in your *.org file and use
(org-export-read-attribute :attr_latex src-block :lstyle)
to grab the "basic" or whatever in setting up the transcoded result.
HTH,
Chuck
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Different listing styles for same babel language?
2017-07-24 16:37 ` Charles C. Berry
@ 2017-08-07 1:06 ` Michael Gauland
0 siblings, 0 replies; 5+ messages in thread
From: Michael Gauland @ 2017-08-07 1:06 UTC (permalink / raw)
Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 802 bytes --]
I recently wrote:
>> My org documents include lots of source code blocks, in a variety of
>> languages. I use the listings package to give each language a
>> distinctive look.
>>
>> Lately, my work has involved using shell commands on different machines,
>> as different users. I'd like to give each shell environment (e.g., local
>> user, normal user on remote host, root on remote host) a different look.
>> At the moment, I'm doing this by specifying different shells (bash,
>> dash, sh) for each. This works, especially since I'm not executing the
>> commands from emacs, so it doesn't matter which shell I specify.
>>
>> Is there a better way to do this?
>>
>
I've found that #+ATTR_LATEX: :options language=.... does exactly what I
was looking for. The attached example may be useful to others.
[-- Attachment #2: lstyle-example.org --]
[-- Type: text/plain, Size: 888 bytes --]
#+LATEX_HEADER: \lstset{frame=shadowbox}
#+LATEX_HEADER: \lstdefinelanguage{bash-local}{rulesepcolor=\color{cyan}}
#+LATEX_HEADER: \lstdefinelanguage{bash-remote}{rulesepcolor=\color{yellow}}
#+LATEX_HEADER: \lstdefinelanguage{bash-remote-root}{rulesepcolor=\color{orange}}
#+PROPERTY: header-args :eval never
#+ATTR_LATEX: :options language=bash-local
#+BEGIN_SRC bash :results output :eval ask
# Run this script on the local host
# Install the key in the VM:
ssh-copy-id -i ~/.ssh/vm \
-p 3022 user@127.0.0.1
#+END_SRC
#+RESULTS:
#+ATTR_LATEX: :options language=bash-remote-root
#+BEGIN_SRC bash
# Run this as root on the remote host
apt-get update
apt-get -y install git
#+END_SRC
#+ATTR_LATEX: :options language=bash-remote
#+BEGIN_SRC bash :results output :eval ask
# Run this as a normal user on the remote host
cd project
git pull
make
#+END_SRC
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Different listing styles for same babel language?
2017-07-24 0:34 Different listing styles for same babel language? Michael Gauland
2017-07-24 16:37 ` Charles C. Berry
@ 2017-07-24 23:54 ` Adam Porter
1 sibling, 0 replies; 5+ messages in thread
From: Adam Porter @ 2017-07-24 23:54 UTC (permalink / raw)
To: emacs-orgmode
I don't know how to accomplish this, but I'm guessing that, if you wrote
some code to change the style of individual code blocks, lots of people
would find that useful. :)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Different listing styles for same babel language?
@ 2017-07-20 1:14 Michael Gauland
0 siblings, 0 replies; 5+ messages in thread
From: Michael Gauland @ 2017-07-20 1:14 UTC (permalink / raw)
To: emacs-orgmode
My org documents include lots of source code blocks, in a variety of
languages. I use the listings package to give each language a
distinctive look.
Lately, my work has involved using shell commands on different machines,
as different users. I'd like to give each shell environment (e.g., local
user, normal user on remote host, root on remote host) a different look.
At the moment, I'm doing this by specifying different shells (bash,
dash, sh) for each. This works, especially since I'm not executing the
commands from emacs, so it doesn't matter which shell I specify.
Is there a better way to do this?
Would anyone else find it useful? I'm happy to work on the code, if I'm
not the only one who'd use it.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-08-07 1:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-24 0:34 Different listing styles for same babel language? Michael Gauland
2017-07-24 16:37 ` Charles C. Berry
2017-08-07 1:06 ` Michael Gauland
2017-07-24 23:54 ` Adam Porter
-- strict thread matches above, loose matches on Subject: below --
2017-07-20 1:14 Michael Gauland
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).