Ejemplo n.º 1
0
        /// <summary>
        /// Wants to look like the below:
        /// </summary>
        /// <returns></returns>

        /*
         *  @ARTICLE{article-full,
         *      author = {L[eslie] A. Aamport},
         *      title = {The Gnats and Gnus Document Preparation System},
         *      journal = {\mbox{G-Animal's} Journal},
         *      year = 1986,
         *      volume = 41,
         *      number = 7,
         *      pages = "73+",
         *      month = jul,
         *      note = "This is a full ARTICLE entry",
         *  }
         */
        public string ToBibTex()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("@{0}{{{1}\n", Type, Key);
            foreach (var pair in fields)
            {
                // Convert the value to encoded BibTeX
                string value_encoded = BibTexCharacterMap.ASCIIToBibTex(pair.Value);
                sb.AppendFormat(",\t{0}\t= {{{1}}}\n", pair.Key, value_encoded);
            }

            sb.AppendFormat("}}");

            return(sb.ToString());
        }
Ejemplo n.º 2
0
        public void RaiseFieldValue(string field_value)
        {
            //Logging.Info("FieldValue=" + field_value);

            if (null == current_item)
            {
                Logging.Error("Invalid field value outside item: '{0}'", field_value);
            }
            else if (null == current_field_name)
            {
                Logging.Error("Invalid field value without field name: '{0}'", field_value);
            }
            else
            {
                string field_value_decoded = BibTexCharacterMap.BibTexToASCII(field_value);
                current_item[current_field_name] = field_value_decoded;
                current_field_name = null;
            }
        }
Ejemplo n.º 3
0
        public void RaiseFieldValue(List <string> field_values)
        {
            //Logging.Debug("FieldValue=", StringTools.ConcatenateStrings(field_values, " # "));

            if (null == current_item)
            {
                Logging.Error("Invalid field value outside item: '{0}'", StringTools.ConcatenateStrings(field_values, " # "));
            }
            else if (null == current_field_name)
            {
                Logging.Error("Invalid field value without field name: '{0}'", StringTools.ConcatenateStrings(field_values, " # "));
            }
            else
            {
                string field_value         = StringTools.ConcatenateStrings(field_values, "");
                string field_value_decoded = BibTexCharacterMap.BibTexToASCII(field_value);
                current_item[current_field_name] = field_value_decoded;
                current_field_name = null;
            }
        }