From: "Alan E. Davis" <lngndvs@gmail.com>
To: org-mode <emacs-orgmode@gnu.org>
Subject: Request for guidance: Export ONLY headlines matching occur search?
Date: Mon, 21 Dec 2009 19:48:37 +1000 [thread overview]
Message-ID: <7bef1f890912210148k3cf03da3i8a1d4291f245f914@mail.gmail.com> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1910 bytes --]
I am keeping notes in a single file about several topics. I can
isolate headlines about these topics/products, by an agenda occur
search: C-a a / <key phrase> . I have made a template to print a
memo about these products, but it seems I must copy the headlines
by hand to a register or file, then massage them into shape.
I would like to do something like export a PDF of all
entries/subtrees within the region that have the product's key
phrase in the heading. Is it possible to selectively export only
the subtrees identified by the Occur agenda search, automagically?
Since my notes start with an inactive time stamp, I would like to
strip these out as well. I think I can easily write an elisp
function to do this, but perhaps org-mode already has such
capabilities built in, a regexp for an inactive time stamp.
Perhaps I'll spend some time over Christmas break on this. It's
nice to easily make a memo, but it would be a big help to make it
less laborious.
In case there is interest, here are the template and the fragments
for the head and tail of the memo.
Remember template:
("Memo" ?Z "%[~/org/MEMO/Top.2.memo] %? \n %i %&
%[~/org/MEMO/Bot.memo]"
"~/or/MEMO/Memo.tex" top)
The required files Top.2.memo and Bot.memo are attached. Top.2.memo can
be edited with any hard wired recipient and from lines. The class file,
also included, is edited to change the header on the memo. All three must
be in the directory ~/org/MEMO. I am using the sloppy approach of
running LaTeX on the long Memo.tex file to which the current memo has been
pre-pended. Only the topmost memo is printed.
This approach works but it is currently a kluge, unpolished. The
enhancements I have requested would make it possible to instantly fire off a
memo about a specific product.
*
*
Alan Davis
[-- Attachment #1.2: Type: text/html, Size: 2150 bytes --]
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: memo-aed-products.cls --]
[-- Type: text/x-tex; name="memo-aed-products.cls", Size: 14186 bytes --]
%%
%% This is file `memo.cls',
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
\ProvidesClass{memo}
[1999/02/09 v1.2z
Standard LaTeX document class]
\typeout{Document Class `memo' by Ray Seyfarth based on letter style, 9/2000. }
\typeout{ }
\newcommand\@ptsize{}
\DeclareOption{a4paper}
{\setlength\paperheight {297mm}%
\setlength\paperwidth {210mm}}
\DeclareOption{a5paper}
{\setlength\paperheight {210mm}%
\setlength\paperwidth {148mm}}
\DeclareOption{b5paper}
{\setlength\paperheight {250mm}%
\setlength\paperwidth {176mm}}
\DeclareOption{letterpaper}
{\setlength\paperheight {11in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{legalpaper}
{\setlength\paperheight {14in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{executivepaper}
{\setlength\paperheight {10.5in}%
\setlength\paperwidth {7.25in}}
\DeclareOption{landscape}
{\setlength\@tempdima {\paperheight}%
\setlength\paperheight {\paperwidth}%
\setlength\paperwidth {\@tempdima}}
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\if@compatibility
\DeclareOption{twoside}{\@latexerr{No `twoside' layout for memo}%
\@eha}
\else
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
\fi
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
\ExecuteOptions{letterpaper,10pt,oneside,onecolumn,final}
\ProcessOptions
\input{size1\@ptsize.clo}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength\parskip{0.7em}
\setlength\parindent{0\p@}
\@lowpenalty 51
\@medpenalty 151
\@highpenalty 301
\setlength\headheight{12\p@}
\setlength\headsep {45\p@}
\setlength\footskip{25\p@}
\if@compatibility
\setlength\textwidth{365\p@}
\setlength\textheight{505\p@}
\fi
\if@compatibility
\setlength\oddsidemargin{53pt}
\setlength\evensidemargin{53pt}
\setlength\marginparwidth{90pt}
\else
\setlength\@tempdima{\paperwidth}
\addtolength\@tempdima{-2in}
\addtolength\@tempdima{-\textwidth}
\setlength\oddsidemargin {.5\@tempdima}
\setlength\evensidemargin {\oddsidemargin}
\setlength\marginparwidth {90\p@}
\fi
\setlength\marginparsep {11\p@}
\setlength\marginparpush{5\p@}
\setlength\topmargin{27pt}
\setlength\footnotesep{12\p@}
\setlength{\skip\footins}{10\p@ \@plus 2\p@ \@minus 4\p@}
\if@twoside
\def\ps@headings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@oddhead{\slshape\headtoname{} \ignorespaces\toname
\hfil \@date
\hfil \pagename{} \thepage}%
\let\@evenhead\@oddhead}
\else
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{\slshape\headtoname{} \ignorespaces\toname
\hfil \@date
\hfil \pagename{} \thepage}}
\fi
\def\ps@empty{%
\let\@oddfoot\@empty\let\@oddhead\@empty
\let\@evenfoot\@empty\let\@evenhead\@empty}
\def\ps@firstpage{%
\let\@oddhead\@empty
\def\@oddfoot{\raisebox{-45\p@}[\z@]{%
\hb@xt@\textwidth{\hspace*{100\p@}%
\ifcase \@ptsize\relax
\normalsize
\or
\small
\or
\footnotesize
\fi
\fromlocation \hfill \telephonenum}}\hss}}
\def\ps@plain{%
\let\@oddhead\@empty
\def\@oddfoot{\normalfont\hfil\thepage\hfil}%
\def\@evenfoot{\normalfont\hfil\thepage\hfil}}
\newcommand*{\name}[1]{\def\fromname{#1}}
\newcommand*{\signature}[1]{\def\fromsig{#1}}
\newcommand*{\address}[1]{\def\fromaddress{#1}}
\newcommand*{\location}[1]{\def\fromlocation{#1}}
\newcommand*{\telephone}[1]{\def\telephonenum{#1}}
\name{}
\signature{}
\address{}
\location{}
\telephone{}
\newcommand*{\makelabels}{%
\AtBeginDocument{%
\let\@startlabels\startlabels
\let\@mlabel\mlabel
\if@filesw
\immediate\write\@mainaux{\string\@startlabels}\fi}%
\AtEndDocument{%
\if@filesw\immediate\write\@mainaux{\string\clearpage}\fi}}
\@onlypreamble\makelabels
\newenvironment{memo}
{%\newpage
\rule{\textwidth}{.2pt}
\if@twoside \ifodd\c@page
\else\thispagestyle{empty}\null\newpage\fi
\fi
\c@page\@ne
\c@footnote\@ne
\interlinepenalty=200 % smaller than the TeXbook value
%\@processto{\leavevmode\ignorespaces #1}
\vspace{.05in}}
{\vfill \stopletter\@@par\pagebreak\@@par
%\if@filesw
%\begingroup
%\let\\=\relax
%\let\protect\@unexpandable@protect
%\immediate\write\@auxout{%
%\string\@mlabel{\returnaddress}{\toname\\\toaddress}}%
%\endgroup
%\fi}
}
\long\def\@processto#1{%
\@xproc #1\\@@@%
\ifx\toaddress\@empty
\else
\@yproc #1@@@%
\fi}
\long\def\@xproc #1\\#2@@@{\def\toname{#1}\def\toaddress{#2}}
\long\def\@yproc #1\\#2@@@{\def\toaddress{#2}}
\newcommand*{\stopbreaks}{%
\interlinepenalty\@M
\def\par{\@@par\nobreak}%
\let\\\@nobreakcr
\let\vspace\@nobreakvspace}
\DeclareRobustCommand\@nobreakvspace
{\@ifstar\@nobreakvspacex\@nobreakvspacex}
\def\@nobreakvspacex#1{%
\ifvmode
\nobreak\vskip #1\relax
\else
\@bsphack\vadjust{\nobreak\vskip #1}\@esphack
\fi}
\def\@nobreakcr{\@ifstar{\@normalcr*}{\@normalcr*}}
\newcommand*{\startbreaks}{%
\let\\\@normalcr
\interlinepenalty 200%
\def\par{\@@par\penalty 200\relax}}
\newdimen\longindentation
\longindentation=.5\textwidth
\newdimen\indentedwidth
\indentedwidth=\textwidth
\advance\indentedwidth -\longindentation
\newcommand*{\opening}[1]{\ifx\@empty\fromaddress
\thispagestyle{firstpage}%
{\raggedleft\@date\par}%
\else % home address
\thispagestyle{empty}%
{\raggedleft\begin{tabular}{l@{}}\ignorespaces
\fromaddress \\*[2\parskip]%
\@date \end{tabular}\par}%
\fi
\vspace{2\parskip}%
{\raggedright \toname \\ \toaddress \par}%
\vspace{2\parskip}%
#1\par\nobreak}
\newcommand{\closing}[1]{\par\nobreak\vspace{\parskip}%
\stopbreaks
\noindent
\ifx\@empty\fromaddress\else
\hspace*{\longindentation}\fi
\parbox{\indentedwidth}{\raggedright
\ignorespaces #1\\[6\medskipamount]%
\ifx\@empty\fromsig
\fromname
\else \fromsig \fi\strut}%
\par}
\medskipamount=\parskip
\newcommand*{\CC}[1]{%
\Ccname:
\begin{tabular}[t]{l@{\qquad\qquad}l}
#1
\end{tabular}}
\newcommand*{\Cc}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\Ccname: }%
\ignorespaces #1\strut}\par}
\newcommand*{\Date}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\Datename: }%
\ignorespaces #1\strut}\par}
\newcommand*{\To}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\Toname: }%
\ignorespaces #1\strut}\par}
\newcommand*{\From}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\Fromname: }%
\ignorespaces #1\strut}\par}
\newcommand*{\USM}{
\vspace{-1.2cm}
\begin{center}
\thispagestyle{empty}
{\bf \large
\noindent
{\sf \Large\textsc{Huge Bureaucracy // Products Section}} \vspace{1pt}
\noindent
{\sf \large\textsc{Correspondence}}}\\
\end{center}
%\rule{16.0cm}{1pt}
\vspace{1.0cm}
}
\newcommand*{\Subject}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\Subjectname: }%
\ignorespaces #1\strut}\par}
\newcommand*{\encl}[1]{%
\par\noindent
\parbox[t]{\textwidth}{%
\@hangfrom{\normalfont\enclname: }%
\ignorespaces #1\strut}\par}
\newcommand*{\ps}{\par\startbreaks}
\newcommand*{\stopletter}{}
\newcommand*{\returnaddress}{}
\newcount\labelcount
\newcommand*{\startlabels}{\labelcount\z@
\pagestyle{empty}%
\let\@texttop\relax
\topmargin -50\p@
\headsep \z@
\oddsidemargin -35\p@
\evensidemargin -35\p@
\textheight 10in
\@colht\textheight \@colroom\textheight \vsize\textheight
\textwidth 550\p@
\columnsep 26\p@
\ifcase \@ptsize\relax
\normalsize
\or
\small
\or
\footnotesize
\fi
\baselineskip \z@
\lineskip \z@
\boxmaxdepth \z@
\parindent \z@
\twocolumn\relax}
\let\@startlabels=\relax
\newcommand*{\mlabel}[2]{%
\parbox[b][2in][c]{262\p@}{\strut\ignorespaces #2}%
}
\let\@mlabel=\@gobbletwo
\setlength\leftmargini {2.5em}
\setlength\leftmarginii {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv {1.7em}
\setlength\leftmarginv {1em}
\setlength\leftmarginvi {1em}
\setlength\leftmargin {\leftmargini}
\setlength \labelsep {5\p@}
\setlength \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\setlength\partopsep{0\p@}
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\def\@listI{\setlength\leftmargin{\leftmargini}%
\setlength\parsep {0\p@}%
\setlength\topsep {.4em}%
\setlength\itemsep{.4em}}
\let\@listi\@listI
\@listi
\def\@listii {\setlength \leftmargin{\leftmarginii}%
\setlength \labelwidth{\leftmarginii}%
\addtolength\labelwidth{-\labelsep}}
\def\@listiii{\setlength \leftmargin{\leftmarginiii}%
\setlength \labelwidth{\leftmarginiii}%
\addtolength\labelwidth{-\labelsep}%
\setlength \topsep {.2em}%
\setlength \itemsep {\topsep}}
\def\@listiv {\setlength \leftmargin{\leftmarginiv}%
\setlength \labelwidth{\leftmarginiv}%
\addtolength\labelwidth{-\labelsep}}
\def\@listv {\setlength \leftmargin{\leftmarginv}%
\setlength \labelwidth{\leftmarginv}%
\addtolength\labelwidth{-\labelsep}}
\def\@listvi {\setlength \leftmargin{\leftmarginvi}%
\setlength \labelwidth{\leftmarginvi}%
\addtolength\labelwidth{-\labelsep}}
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
\newcommand\labelitemiii{\textasteriskcentered}
\newcommand\labelitemiv{\textperiodcentered}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}
\newcommand*{\descriptionlabel}[1]{\hspace\labelsep
\normalfont\bfseries #1}
\newenvironment{verse}
{\let\\=\@centercr
\list{}{\setlength\itemsep{\z@}%
\setlength\itemindent{-15\p@}%
\setlength\listparindent{\itemindent}%
\setlength\rightmargin{\leftmargin}%
\addtolength\leftmargin{15\p@}}%
\item[]}
{\endlist}
\newenvironment{quotation}
{\list{}{\setlength\listparindent{1.5em}%
\setlength\itemindent{\listparindent}%
\setlength\rightmargin{\leftmargin}}%
\item[]}
{\endlist}
\newenvironment{quote}
{\list{}{\setlength\rightmargin{\leftmargin}}%
\item[]}
{\endlist}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\renewcommand\theequation{\@arabic\c@equation}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\relax}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\relax}
\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
\renewcommand\footnoterule{%
\kern-\p@
\hrule \@width .4\columnwidth
\kern .6\p@}
\long\def\@makefntext#1{%
\noindent
\hangindent 5\p@
\hb@xt@5\p@{\hss\@makefnmark}#1}
\newcommand*{\Toname}{To}
\newcommand*{\Fromname}{From}
\newcommand*{\Datename}{Date}
\newcommand*{\Subjectname}{Subject}
\newcommand*{\Ccname}{cc}
\newcommand*{\enclname}{encl}
\newcommand*{\pagename}{Page}
\newcommand*{\headtoname}{To}
\newcommand*{\today}{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\pagestyle{plain}
\pagenumbering{arabic}
\raggedbottom
\def\@texttop{\ifnum\c@page=1\vskip \z@ plus.00006fil\relax\fi}
\onecolumn
\endinput
%%
%% End of file `memo.cls'.
[-- Attachment #3: Bot.memo --]
[-- Type: application/octet-stream, Size: 50 bytes --]
\end{memo}
\end{document}
#Generated by org-mode
[-- Attachment #4: Type: text/plain, Size: 201 bytes --]
_______________________________________________
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
next reply other threads:[~2009-12-21 9:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-21 9:48 Alan E. Davis [this message]
2009-12-21 23:39 ` Request for guidance: Export ONLY headlines matching occur search? Alan E. Davis
2009-12-21 23:52 ` Alan E. Davis
2009-12-31 8:22 ` Carsten Dominik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7bef1f890912210148k3cf03da3i8a1d4291f245f914@mail.gmail.com \
--to=lngndvs@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).