<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;ve recently had to add a few new rules in a citation for a conference proceeding.&nbsp; At the moment I have a number of checks that look something like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">&lt;if test=&quot;is_set(event_title)&quot;&gt;<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">&lt;print expr=&quot;event_title&quot;/&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;/if&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;if test=&quot;event_location&quot;&gt;<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">&lt;if test=&quot;is_set(event_title)&quot;&gt;, &lt;/if&gt;<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:36.0pt">&lt;print expr=&quot;event_location&quot;/&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;/if&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;if test=&quot;is_set(event_dates)&quot;&gt;, &lt;print expr=&quot;event_dates&quot;/&gt;&lt;/if&gt;<o:p></o:p></p>
<p class="MsoNormal">&lt;if test=&quot;is_set(event_title) or is_set(event_location) or is_set(event_dates)&quot;&gt;.&lt;/if&gt;<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">So it&#8217;ll only add a comma before the location if the title is supplied, etc. and the full-stop at the end if any event details are shown.&nbsp; But, well, as you can see it&#8217;s a pretty messy way to do things and wondered if there were something
 a little more streamlined available that would allow you to supply a list of fields and it&#8217;ll then automatically put commas between values if the values are there and a full-stop at the end if needs be?&nbsp; I&#8217;m only trying to do this with cite tags in citations/eprints/default.xml.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I did see a &#8216;pretty_list&#8217; function in Compiled.pm that looks like it may do something like what I want, but despite trying I didn&#8217;t see how I could pull this into a citation nor could I find any documentation on the subject.&nbsp; Is that possible?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">If this kind of functionality doesn&#8217;t already exist, then what&#8217;s the best course of action to adding new types of actions to cite tags?&nbsp; Is it possible to create my own class do add extra actions, or should I update existing modules? (which
 seems like a bad idea if ever wanting to upgrade).&nbsp; Is there any documentation about doing this kind of thing?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Many thanks for any advice,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Andy<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-GB">-- <br>
Andrew Collington<br>
Web Programmer, ITS Client Services<br>
ITS-CS Shawcross, University of Sussex, Falmer, Brighton, BN1 9QT<br>
<br>
T: (01273) 872591 (ext. 2591)<br>
E: <a href="mailto:a.p.collington@sussex.ac.uk"><span style="color:blue">a.p.collington@sussex.ac.uk</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>