
Estou definido \editor{strong text}
e \reviewer{strong text}
o comando é usado mais de uma vez. Mas estou recebendo apenas a última \editor{Some Text}
saída do comando.
Meu arquivo de classe definiu este comando abaixo da maneira mencionada:
\def\@editor{}
\def\editor#1{%
\gdef\@editor{\raggedright \textbf{Edited by:}\newline #1}}
\def\@reviewer{}
\def\reviewer#1{%
\gdef\@reviewer{\raggedright \textbf{Reviewed by:}\newline #1}}
\def\@maketitle{%
\newpage
\null
\vskip 50pc%
\vbox{\hbox to 0pt{\vbox to 0pt{\vskip -40pc%
\begin{minipage}[b]{10pc}
{\@editor\par}
\vskip 1.5em%
{\@reviewer\par}
\vskip 1.5em%
{\@correspondence\par}%
\vskip 1.5em%
{\@metanote}%
\end{minipage}
\hspace*{12pt}
\begin{minipage}[b]{31pc}
\let \footnote \thanks
{\raggedright\fontsize{18pt}{20pt}\selectfont\color{colorA}\@title \par}%
\vskip 1.5em%
{\large
% \lineskip .5em%
\begin{tabular}[t]{l}%
\raggedright\@author
\end{tabular}\par}%
\vskip 1em%
{\@abstract\par}
\vskip 1em%
{\@keywords\par}
\vskip 1em%
{\@firstpara\par}
\end{minipage}}}}%
\par
\vskip 8.5em}
Minha codificação de arquivo TeX é mencionada abaixo:
\editor{Wagner L. Ara\'{u}jo, Universidade Federal de Vi\c{c}osa, Brazil}
\editor{Kannan L. juvio, Universidade Federal de Vi\c{c}osa, Brazil}
\reviewer{Jedrzej Jakub Szymanski, Max Planck Institute of Molecular Plant Physiology, Germany }
\reviewer{Dimas Mendes Ribeiro, Universidade Federal de Vi\c{c}osa, Brazil}
Não estou alterando a estrutura de codificação porque meu .tex
arquivo está usando outro processo de conversão. Meuproblema éapenas a saídaimprima a última saída do editor.não sei como imprimircada editor e revisor. Por favor, forneça a solução para imprimir omais do que número de editores e revisores.
Minha saída é:
Responder1
Normalmente vocênãoadicione a meta legenda "Editado por:" à macro que reúne as meta informações como
\newcommand{\editor}[1]{\def\@editor{\raggedright \textbf{Edited by:}\newline #1}}
Observe que usei o comando LaTeX \newcommand
para a meta macro de nível superior (é preferível!) E isso \gdef
não é necessário para a definição do meta armazenamento interno, ou seja \@editor
; \def
é suficiente.
No seu caso, você pode usar um meta comando que aumenta o armazenamento interno como
\newcommand{\editor}[1]{\edef\@editor{\@editor #1}}
Para fazer o mínimo de alterações em sua configuração já existente, a versão final se parece com
\newcommand{\editor}[1]{\protected@edef\@editor{\@editor\newline#1\vspace{3pt}}}
O código completo é fornecido no final. Você verá que algumas mudanças eram inevitáveis. Nesta ocasião também limpei o código geral.
\documentclass{article}
\usepackage{color}
\makeatletter
\let\@editor\@empty
\newcommand{\editor}[1]{\protected@edef\@editor{\@editor\newline#1\vspace{3pt}}}
\let\@reviewer\@empty
\newcommand{\reviewer}[1]{\protected@edef\@reviewer{\@reviewer\newline#1\vspace{2pt}}}
\let\@correspondence\@empty
\newcommand{\correspondence}[1]{%
\protected@edef\@correspondence{\@correspondence\newline#1\vspace{2pt}}}
\def\@maketitle{%
\vspace{50pc}%
\noindent
\begin{minipage}{.33\textwidth}
\raggedright
\textbf{Edited by:}\vspace{3pt}
\@editor
\par\vspace{1.5em}
\textbf{Reviewed by:}\vspace{3pt}
\@reviewer
\par\vspace{1.5em}
\textit{Correspondence:}\vspace{3pt}
\@correspondence
\par\vspace{1.5em}
\@metanote%
\end{minipage}%
\hspace{12pt}%
\begin{minipage}{.66\textwidth}
\let \footnote \thanks
\let \and \newline
\begin{tabular}[t]{p{\textwidth}}
{\fontsize{18pt}{20pt}\selectfont\color{blue}\@title} \\[1.5em]
{\large \@author} \\[2em]
{\small \@abstract} \\[1em]
Keywords: \@keywords \\[1em]
\@firstpara
\end{tabular}
\end{minipage}
\par
\vskip 8.5em}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%auxiliary macros (not provided in the MWE!)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\abstract}[1]{\def\@abstract{#1}}
\newcommand{\keywords}[1]{\def\@keywords{#1}}
\let\@firstpara\@empty
\let\@metanote\@empty
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatother
\editor{Wagner L. Ara\'{u}jo, Universidade Federal de Vi\c{c}osa, Brazil}
\editor{Kannan L. juvio, Universidade Federal de Vi\c{c}osa, Brazil}
\reviewer{Jedrzej Jakub Szymanski, Max Planck Institute of Molecular Plant Physiology, Germany }
\reviewer{Dimas Mendes Ribeiro, Universidade Federal de Vi\c{c}osa, Brazil}
\correspondence{Jana Doe, University of TeX Wizardry}
\author{John Doe}
\title{Multiple usage of meta macros}
\abstract{Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.}
\keywords{Lorem, Ipsum, Dolor, Sit}
\begin{document}
\maketitle
\end{document}
Responder2
Como dito em alguns comentários, as definições atuais de \editor
e \reviewer
destinam-se a definir o conteúdo e cada uma substitui a anterior.
Aqui está uma definição simples (usando os recursos de processamento de lista do etoolbox
pacote, ou seja, use \RequirePackage{etoolbox}
ou `\usepackage{etoolbox} para carregá-lo).
\newcommand{\@editor}{}
\newcommand{\@reviewer}{}
\newcommand{\editor}[1]{\listadd{\@editor}{#1}}
\newcommand{\reviewer}[1]{\listadd{\@reviewer}{#1}}
\newcommand{\printeditor}{Edited By:\newline\dolistloop{\@editor}}
\newcommand{\printreviewer}{Reviewed By:\newline\dolistloop{\@reviewer}}
Desta forma, o comando \editor{some text}
adiciona \reviewer{some text}
seus argumentos às listas de editores (armazenadas em \@editor
e \@reviewer
). Os dois comandos \printeditor
percorrem \printreviewer
a lista e imprimem o conteúdo das respectivas listas.
Por exemplo, substitua \@editor
e \@reviewer
por \printeditor
e \printreviewer
na definição fornecida de \maketitle
.