RE: [EP-underground] changing the way multiple authors is displayed in a citation.

"Whitsel, Kurt W" <[email protected]> Fri, 31 Jan 2003 11:55:52 -0500
Newsgroups gmane.comp.web.eprints.general
Message-ID <29F16A81821EE844861C4349FE34406B536A60@iu-mssg-mbx08.exchange.iu.edu>
Thanks for doing this.  I really didn't expect you to take the time 
To send me some code.  I appreciate this.



-----Original Message-----
From: ePrints Support [mailto:[email protected]] 
Sent: Friday, January 31, 2003 7:59 AM
To: EPrints Underground List
Subject: Re: [EP-underground] changing the way multiple authors is
displayed in a citation.

that's a whacky format, but here you go. You should be able
to modify it to add honourfic or lineage if you want.

sub local_name_render
 {
 	my( $session, $field, $value, $alllangs, $nolink ) = @_;
 	# the important bit's are $session and $value
 
 	my $f = $session->make_doc_fragment;
        my $first = 1;
        foreach my $auth ( @{$value} )
        {
                my $id = $auth->{id};
                my $name = $auth->{main};
 		# only care about the name 
 		my $namestr = $name->{given}." ".$name->{family};
		if( $first )
		{
			# special "look" for first name
			$namestr = $name->{family}.", ".$name->{given};
		}
 		# (ignoring honourific and lineage)

                if( !$first )
                {
                        $f->appendChild( $session->make_text( ", "));
                }
                $first = 0;
                $f->appendChild( $session->make_text( $namestr ) );
        }

        return $f;
}


On Fri, Jan 17, 2003 at 10:39:18 -0500, Whitsel, Kurt W wrote:
> Thank you for answering this but would this apply to lists of authors?
> 
> For example the first author in a list of three would be displayed
> "lastname, firstname middle honorific"
> 
> But then my boss wanted the second displayed
> 
> "firstname middlename lastname honorific" separated from the second
and
> third by a comma.
> 
> 
> 
> -----Original Message-----
> From: ePrints Support [mailto:[email protected]] 
> Sent: Friday, January 17, 2003 10:12 AM
> To: EPrints Underground List
> Subject: Re: [EP-underground] changing the way multiple authors is
> displayed in a citation.
> 
> OK. The way any field is rendered in the citation can be modified
> properly
> by adding a render_value option to the field's configuration. This is
a 
> pointer to a function. The function below is just an example, change
it
> to do what you want. This is much better than hacking the code as it
> avoids oddness in upgrades.
> 
> Something like
> { name=>"authors", type=>"name", render_value=>\&local_name_render,
...
> ...}
> 
> then later in ArchiveMetadataFieldsConfig...
> 
> 
> sub local_name_render
> {
> 	my( $session, $field, $value, $alllangs, $nolink ) = @_;
> 	# the important bit's are $session and $value
> 
> 	my $f = $session->make_doc_fragment;
>         my $first = 1;
>         foreach my $auth ( @{$value} )
>         {
>                 my $id = $auth->{id};
>                 my $name = $auth->{main};
> 		# only care about the name 
> 		my $namestr = $name->{given}." ".$name->{family};
> 		# (ignoring honourific and lineage)
> 
>                 if( !$first )
>                 {
>                         $f->appendChild( $session->make_text( " and "
> ));
>                 }
>                 $first = 0;
>                 $f->appendChild( $session->make_text( $namestr ) );
>         }
> 
>         return $f;
> }
> 
> 	
> 
> 
> On Tue, Jan 14, 2003 at 03:59:33 -0500, Whitsel, Kurt W wrote:
> > My boss did not like the way lists of author names where displayed
in
> > citations.
> > 
> > I was hoping there was an easy way to configure this and maybe there
> is
> > but couldn't find it.  What I eventually did was alter a couple of
> perl
> > routines in the Utils.pm file.
> > 
> > 
> > -----Original Message-----
> > From: Whitsel, Kurt W 
> > Sent: Tuesday, December 03, 2002 11:52 AM
> > To: EPrints Underground List
> > Subject: [EP-underground] changing the way multiple authors is
> displayed
> > in a citation.
> > 
> > 
> > I have been asked to change the way multiple authors are
> > displayed in a citation in Eprints 2.
> > 
> > I have looked hard through the configuration files and code and
could
> > not find it.
> > I admit this question is sort of lame but maybe someone knows the
> answer
> > off the top of thier head.
> > 
> > Any Suggestions?? 
> > 
> 
> -- 
> 
>  Christopher Gutteridge
> [email protected]
>  ePrints2 Coder, Support and Stuff        +44 23 8059 4833
> 

-- 

 Christopher Gutteridge
[email protected]
 ePrints2 Coder, Support and Stuff        +44 23 8059 4833