/*=============================================================================# # Copyright (c) 2009-2016 Stephan Wahlbrink (WalWare.de) and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # Stephan Wahlbrink - initial API and implementation #=============================================================================*/ package de.walware.docmlet.tex.core.commands; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import de.walware.jcommons.collections.ImCollections; import de.walware.jcommons.collections.ImList; public class LtxCommandDefinitions implements IEnvDefinitions, IPreambleDefinitions, IDivSymbolDefinitions, IDivDocDefinitions, ITextStylingDefinitions, ITextSectioningDefinitions, IMathStylingDefinitions, IMathSymbolDefinitions, IRefDefinitions { private static Map<String, TexCommand> gWordCommandMap; private static ImList<TexCommand> gAllCommands; private static Map<String, TexCommand> gWordEnvMap; private static ImList<TexCommand> gAllEnvs; static final void add(final Map<String, TexCommand> map, final TexCommand command) { assert (!map.containsKey(command.getControlWord())) : command.getControlWord(); map.put(command.getControlWord(), command); } private static List<TexCommand> createCommandList(final Map<String, TexCommand> map, final List<String> words) { final TexCommand[] commands = new TexCommand[words.size()]; final int i = 0; for (final String word : words) { final TexCommand command = map.get(word); if (command != null) { commands[i] = command; } } return ImCollections.newList(commands, 0, i); } static { { final LinkedHashMap<String, TexCommand> map = new LinkedHashMap<>(); add(map, ENV_document_BEGIN); add(map, ENV_math_BEGIN); add(map, ENV_displaymath_BEGIN); add(map, ENV_equation_BEGIN); add(map, ENV_equationA_BEGIN); add(map, ENV_eqnarray_BEGIN); add(map, ENV_eqnarrayA_BEGIN); add(map, ENV_multiline_BEGIN); add(map, ENV_multilineA_BEGIN); add(map, ENV_gather_BEGIN); add(map, ENV_gatherA_BEGIN); add(map, ENV_align_BEGIN); add(map, ENV_alignA_BEGIN); add(map, ENV_alignat_BEGIN); add(map, ENV_alignatA_BEGIN); add(map, ENV_verbatim_BEGIN); add(map, ENV_verbatimA_BEGIN); add(map, ENV_lstlisting_BEGIN); add(map, ENV_Sinput_BEGIN); add(map, ENV_Souput_BEGIN); add(map, ENV_comment_BEGIN); add(map, ENV_quote_BEGIN); add(map, ENV_quotation_BEGIN); add(map, ENV_verse_BEGIN); add(map, ENV_enumerate_BEGIN); add(map, ENV_itemize_BEGIN); add(map, ENV_description_BEGIN); add(map, ENV_tabular_BEGIN); add(map, ENV_tabbing_BEGIN); add(map, ENV_picture_BEGIN); add(map, ENV_table_BEGIN); add(map, ENV_figure_BEGIN); add(map, ENV_center_BEGIN); add(map, ENV_flushleft_BEGIN); add(map, ENV_flushright_BEGIN); add(map, ENV_thebibliography_BEGIN); add(map, ENV_array_BEGIN); add(map, ENV_matrix_BEGIN); add(map, ENV_smallmatrix_BEGIN); add(map, ENV_pmatrix_BEGIN); add(map, ENV_bmatrix_BEGIN); add(map, ENV_Bmatrix_BEGIN); add(map, ENV_vmatrix_BEGIN); add(map, ENV_Vmatrix_BEGIN); gWordEnvMap = map; gAllEnvs= ImCollections.toList(map.values()); } { final LinkedHashMap<String, TexCommand> map = new LinkedHashMap<>(); add(map, PREAMBLE_documentclass_COMMAND); add(map, PREAMBLE_usepackage_COMMAND); add(map, PREAMBLE_title_COMMAND); add(map, PREAMBLE_author_COMMAND); add(map, PREAMBLE_date_COMMAND); add(map, PREAMBLE_newcommand_COMMAND); add(map, PREAMBLE_renewcommand_COMMAND); add(map, PREAMBLE_providecommand_COMMAND); add(map, PREAMBLE_newenvironment_COMMAND); add(map, PREAMBLE_renewenvironment_COMMAND); add(map, PREAMBLE_ensuremath_COMMAND); add(map, PREAMBLE_insertonly_COMMAND); add(map, PREAMBLE_hyphenation_COMMAND); add(map, DOCUMENT_input_COMMAND); add(map, DOCUMENT_insert_COMMAND); add(map, DOCUMENT_includegraphics_COMMAND); add(map, DOCUMENT_item_COMMAND); add(map, DOCUMENT_hline_COMMAND); add(map, DOCUMENT_maketitle_COMMAND); add(map, DOCUMENT_addcontentsline_COMMAND); add(map, DOCUMENT_caption_COMMAND); add(map, DOCUMENT_tableofcontents_COMMAND); add(map, DOCUMENT_listoffigures_COMMAND); add(map, DOCUMENT_listoftables_COMMAND); add(map, DOCUMENT_index_COMMAND); add(map, DOCUMENT_printindex_COMMAND); add(map, DOCUMENT_hspace_COMMAND); add(map, DOCUMENT_vspace_COMMAND); add(map, SECTIONING_part_COMMAND); add(map, SECTIONING_chapter_COMMAND); add(map, SECTIONING_section_COMMAND); add(map, SECTIONING_subsection_COMMAND); add(map, SECTIONING_subsubsection_COMMAND); add(map, SECTIONING_paragraph_COMMAND); add(map, SECTIONING_subparagraph_COMMAND); add(map, LABEL_label_COMMAND); add(map, LABEL_ref_COMMAND); add(map, LABEL_pageref_COMMAND); add(map, LABEL_eqref_COMMAND); add(map, LABEL_newcounter_COMMAND); add(map, LABEL_setcounter_COMMAND); add(map, LABEL_addtocounter_COMMAND); add(map, LABEL_stepcounter_COMMAND); add(map, LABEL_Alph_COMMAND); add(map, LABEL_alph_COMMAND); add(map, LABEL_Roman_COMMAND); add(map, LABEL_roman_COMMAND); add(map, LABEL_arabic_COMMAND); add(map, LABEL_value_COMMAND); add(map, COMMONSYMBOL_CURLYOPEN_COMMAND); add(map, COMMONSYMBOL_CURLYCLOSE_COMMAND); add(map, COMMONSYMBOL_NUMBERSIGN_COMMAND); add(map, COMMONSYMBOL_PERCENTSIGN_COMMAND); add(map, COMMONSYMBOL_S_COMMAND); add(map, COMMONSYMBOL_dag_COMMAND); add(map, COMMONSYMBOL_ddag_COMMAND); add(map, COMMONSYMBOL_backslash_COMMAND); add(map, COMMONSYMBOL_textbullet_COMMAND); add(map, COMMONSYMBOL_textperiodcentered_COMMAND); add(map, COMMONSYMBOL_dots_COMMAND); add(map, COMMONSYMBOL_ldots_COMMAND); add(map, COMMONSYMBOL_textbackslash_COMMAND); add(map, COMMONSYMBOL_textasciicircum_COMMAND); add(map, COMMONSYMBOL_textasciitilde_COMMAND); add(map, COMMONSYMBOL_tex_COMMAND); add(map, COMMONSYMBOL_latex_COMMAND); add(map, COMMONSYMBOL_ss_COMMAND); add(map, COMMONSYMBOL_SS_COMMAND); add(map, GENERICENV_begin_COMMAND); add(map, GENERICENV_end_COMMAND); add(map, VERBATIM_verb_COMMAND); add(map, COMMONFONTS_rm_COMMAND); add(map, COMMONFONTS_sl_COMMAND); add(map, COMMONFONTS_tt_COMMAND); add(map, COMMONFONTS_it_COMMAND); add(map, COMMONFONTS_bf_COMMAND); add(map, COMMONFONTS_rmfamily_COMMAND); add(map, COMMONFONTS_sffamily_COMMAND); add(map, COMMONFONTS_ttfamily_COMMAND); add(map, COMMONFONTS_mdseries_COMMAND); add(map, COMMONFONTS_bfseries_COMMAND); add(map, COMMONFONTS_upshape_COMMAND); add(map, COMMONFONTS_itshape_COMMAND); add(map, COMMONFONTS_slshape_COMMAND); add(map, COMMONFONTS_scshape_COMMAND); add(map, COMMONFONTS_em_COMMAND); add(map, COMMONFONTS_textrm_COMMAND); add(map, COMMONFONTS_textsf_COMMAND); add(map, COMMONFONTS_texttt_COMMAND); add(map, COMMONFONTS_textmd_COMMAND); add(map, COMMONFONTS_textbf_COMMAND); add(map, COMMONFONTS_textup_COMMAND); add(map, COMMONFONTS_textit_COMMAND); add(map, COMMONFONTS_textsl_COMMAND); add(map, COMMONFONTS_textsc_COMMAND); add(map, COMMONFONTS_emph_COMMAND); add(map, COMMONFONTS_underline_COMMAND); add(map, COMMONFONTS_tiny_COMMAND); add(map, COMMONFONTS_scriptsize_COMMAND); add(map, COMMONFONTS_small_COMMAND); add(map, COMMONFONTS_normalsize_COMMAND); add(map, COMMONFONTS_large_COMMAND); add(map, COMMONFONTS_Large_COMMAND); add(map, COMMONFONTS_LARGE_COMMAND); add(map, COMMONFONTS_huge_COMMAND); add(map, COMMONFONTS_Huge_COMMAND); // style add(map, STYLE_mathnormal_COMMAND); add(map, STYLE_mathrm_COMMAND); add(map, STYLE_mathsf_COMMAND); add(map, STYLE_mathtt_COMMAND); add(map, STYLE_mathcal_COMMAND); add(map, STYLE_mathbf_COMMAND); add(map, STYLE_mathit_COMMAND); // add(map, MISC_nonumber_COMMAND); // greek add(map, MATHSYMBOL_Alpha_COMMAND); add(map, MATHSYMBOL_alpha_COMMAND); add(map, MATHSYMBOL_Beta_COMMAND); add(map, MATHSYMBOL_beta_COMMAND); add(map, MATHSYMBOL_Gamma_COMMAND); add(map, MATHSYMBOL_gamma_COMMAND); add(map, MATHSYMBOL_Delta_COMMAND); add(map, MATHSYMBOL_delta_COMMAND); add(map, MATHSYMBOL_Epsilon_COMMAND); add(map, MATHSYMBOL_epsilon_COMMAND); add(map, MATHSYMBOL_varepsilon_COMMAND); add(map, MATHSYMBOL_Zeta_COMMAND); add(map, MATHSYMBOL_zeta_COMMAND); add(map, MATHSYMBOL_Eta_COMMAND); add(map, MATHSYMBOL_eta_COMMAND); add(map, MATHSYMBOL_Theta_COMMAND); add(map, MATHSYMBOL_theta_COMMAND); add(map, MATHSYMBOL_vartheta_COMMAND); add(map, MATHSYMBOL_Iota_COMMAND); add(map, MATHSYMBOL_iota_COMMAND); add(map, MATHSYMBOL_Kappa_COMMAND); add(map, MATHSYMBOL_kappa_COMMAND); add(map, MATHSYMBOL_varkappa_COMMAND); add(map, MATHSYMBOL_Lambda_COMMAND); add(map, MATHSYMBOL_lambda_COMMAND); add(map, MATHSYMBOL_Mu_COMMAND); add(map, MATHSYMBOL_mu_COMMAND); add(map, MATHSYMBOL_Nu_COMMAND); add(map, MATHSYMBOL_nu_COMMAND); add(map, MATHSYMBOL_Xi_COMMAND); add(map, MATHSYMBOL_xi_COMMAND); add(map, MATHSYMBOL_Omicron_COMMAND); add(map, MATHSYMBOL_omicron_COMMAND); add(map, MATHSYMBOL_Pi_COMMAND); add(map, MATHSYMBOL_pi_COMMAND); add(map, MATHSYMBOL_varpi_COMMAND); add(map, MATHSYMBOL_Rho_COMMAND); add(map, MATHSYMBOL_rho_COMMAND); add(map, MATHSYMBOL_varrho_COMMAND); add(map, MATHSYMBOL_Sigma_COMMAND); add(map, MATHSYMBOL_sigma_COMMAND); add(map, MATHSYMBOL_varsigma_COMMAND); add(map, MATHSYMBOL_Tau_COMMAND); add(map, MATHSYMBOL_tau_COMMAND); add(map, MATHSYMBOL_Upsilon_COMMAND); add(map, MATHSYMBOL_upsilon_COMMAND); add(map, MATHSYMBOL_Phi_COMMAND); add(map, MATHSYMBOL_phi_COMMAND); add(map, MATHSYMBOL_varphi_COMMAND); add(map, MATHSYMBOL_Chi_COMMAND); add(map, MATHSYMBOL_chi_COMMAND); add(map, MATHSYMBOL_Psi_COMMAND); add(map, MATHSYMBOL_psi_COMMAND); add(map, MATHSYMBOL_Omega_COMMAND); add(map, MATHSYMBOL_omega_COMMAND); // op bin add(map, MATHSYMBOL_pm_COMMAND); add(map, MATHSYMBOL_mp_COMMAND); add(map, MATHSYMBOL_setminus_COMMAND); add(map, MATHSYMBOL_cdot_COMMAND); add(map, MATHSYMBOL_times_COMMAND); add(map, MATHSYMBOL_ast_COMMAND); add(map, MATHSYMBOL_star_COMMAND); add(map, MATHSYMBOL_diamond_COMMAND); add(map, MATHSYMBOL_circ_COMMAND); add(map, MATHSYMBOL_bullet_COMMAND); add(map, MATHSYMBOL_div_COMMAND); add(map, MATHSYMBOL_cap_COMMAND); add(map, MATHSYMBOL_cup_COMMAND); add(map, MATHSYMBOL_uplus_COMMAND); add(map, MATHSYMBOL_sqcap_COMMAND); add(map, MATHSYMBOL_sqcup_COMMAND); add(map, MATHSYMBOL_triangleleft_COMMAND); add(map, MATHSYMBOL_triangleright_COMMAND); add(map, MATHSYMBOL_wr_COMMAND); add(map, MATHSYMBOL_wedge_COMMAND); add(map, MATHSYMBOL_land_COMMAND); add(map, MATHSYMBOL_vee_COMMAND); add(map, MATHSYMBOL_lor_COMMAND); add(map, MATHSYMBOL_oplus_COMMAND); add(map, MATHSYMBOL_ominus_COMMAND); add(map, MATHSYMBOL_otimes_COMMAND); add(map, MATHSYMBOL_oslash_COMMAND); add(map, MATHSYMBOL_odot_COMMAND); add(map, MATHSYMBOL_dagger_COMMAND); add(map, MATHSYMBOL_ddagger_COMMAND); add(map, MATHSYMBOL_amalg_COMMAND); // op root, frac, ... add(map, MATHSYMBOL_sqrt_COMMAND); add(map, MATHSYMBOL_frac_COMMAND); add(map, MATHSYMBOL_dfrac_COMMAND); add(map, MATHSYMBOL_tfrac_COMMAND); // op rel std add(map, MATHSYMBOL_equiv_COMMAND); add(map, MATHSYMBOL_sim_COMMAND); add(map, MATHSYMBOL_simeq_COMMAND); add(map, MATHSYMBOL_asymp_COMMAND); add(map, MATHSYMBOL_approx_COMMAND); add(map, MATHSYMBOL_cong_COMMAND); add(map, MATHSYMBOL_leq_COMMAND); add(map, MATHSYMBOL_geq_COMMAND); add(map, MATHSYMBOL_ll_COMMAND); add(map, MATHSYMBOL_gg_COMMAND); add(map, MATHSYMBOL_prec_COMMAND); add(map, MATHSYMBOL_succ_COMMAND); add(map, MATHSYMBOL_succeq_COMMAND); add(map, MATHSYMBOL_preceq_COMMAND); add(map, MATHSYMBOL_subset_COMMAND); add(map, MATHSYMBOL_supset_COMMAND); add(map, MATHSYMBOL_subseteq_COMMAND); add(map, MATHSYMBOL_supseteq_COMMAND); add(map, MATHSYMBOL_sqsubset_COMMAND); add(map, MATHSYMBOL_sqsupset_COMMAND); add(map, MATHSYMBOL_sqsubseteq_COMMAND); add(map, MATHSYMBOL_sqsupseteq_COMMAND); add(map, MATHSYMBOL_bowtie_COMMAND); add(map, MATHSYMBOL_in_COMMAND); add(map, MATHSYMBOL_ni_COMMAND); add(map, MATHSYMBOL_leqq_COMMAND); add(map, MATHSYMBOL_geqq_COMMAND); add(map, MATHSYMBOL_leqslant_COMMAND); add(map, MATHSYMBOL_geqslant_COMMAND); add(map, MATHSYMBOL_eqslantless_COMMAND); add(map, MATHSYMBOL_eqslantgtr_COMMAND); add(map, MATHSYMBOL_lesssim_COMMAND); add(map, MATHSYMBOL_gtrsim_COMMAND); add(map, MATHSYMBOL_lessapprox_COMMAND); add(map, MATHSYMBOL_gtrapprox_COMMAND); add(map, MATHSYMBOL_approxeq_COMMAND); add(map, MATHSYMBOL_eqsim_COMMAND); add(map, MATHSYMBOL_lessdot_COMMAND); add(map, MATHSYMBOL_gtrdot_COMMAND); add(map, MATHSYMBOL_llless_COMMAND); add(map, MATHSYMBOL_gggtr_COMMAND); add(map, MATHSYMBOL_lessgtr_COMMAND); add(map, MATHSYMBOL_gtrless_COMMAND); add(map, MATHSYMBOL_lesseqgtr_COMMAND); add(map, MATHSYMBOL_gtreqless_COMMAND); add(map, MATHSYMBOL_propto_COMMAND); add(map, MATHSYMBOL_mid_COMMAND); add(map, MATHSYMBOL_vdash_COMMAND); add(map, MATHSYMBOL_dashv_COMMAND); add(map, MATHSYMBOL_models_COMMAND); add(map, MATHSYMBOL_vDash_COMMAND); add(map, MATHSYMBOL_Vdash_COMMAND); add(map, MATHSYMBOL_Vvdash_COMMAND); add(map, MATHSYMBOL_vartriangleleft_COMMAND); add(map, MATHSYMBOL_vartriangleright_COMMAND); add(map, MATHSYMBOL_trianglelefteq_COMMAND); add(map, MATHSYMBOL_trianglerighteq_COMMAND); add(map, MATHSYMBOL_parallel_COMMAND); add(map, MATHSYMBOL_perp_COMMAND); add(map, MATHSYMBOL_frown_COMMAND); add(map, MATHSYMBOL_smile_COMMAND); // op rel arrow add(map, MATHSYMBOL_leftarrow_COMMAND); add(map, MATHSYMBOL_rightarrow_COMMAND); add(map, MATHSYMBOL_uparrow_COMMAND); add(map, MATHSYMBOL_downarrow_COMMAND); add(map, MATHSYMBOL_leftrightarrow_COMMAND); add(map, MATHSYMBOL_updownarrow_COMMAND); add(map, MATHSYMBOL_nwarrow_COMMAND); add(map, MATHSYMBOL_nearrow_COMMAND); add(map, MATHSYMBOL_searrow_COMMAND); add(map, MATHSYMBOL_swarrow_COMMAND); add(map, MATHSYMBOL_Leftarrow_COMMAND); add(map, MATHSYMBOL_Rightarrow_COMMAND); add(map, MATHSYMBOL_Uparrow_COMMAND); add(map, MATHSYMBOL_Downarrow_COMMAND); add(map, MATHSYMBOL_Leftrightarrow_COMMAND); add(map, MATHSYMBOL_Updownarrow_COMMAND); add(map, MATHSYMBOL_longleftarrow_COMMAND); add(map, MATHSYMBOL_longrightarrow_COMMAND); add(map, MATHSYMBOL_longleftrightarrow_COMMAND); add(map, MATHSYMBOL_Longleftarrow_COMMAND); add(map, MATHSYMBOL_Longrightarrow_COMMAND); add(map, MATHSYMBOL_Longleftrightarrow_COMMAND); add(map, MATHSYMBOL_mapsto_COMMAND); add(map, MATHSYMBOL_longmapsto_COMMAND); add(map, MATHSYMBOL_hookleftarrow_COMMAND); add(map, MATHSYMBOL_hookrightarrow_COMMAND); add(map, MATHSYMBOL_leftharpoonup_COMMAND); add(map, MATHSYMBOL_leftharpoondown_COMMAND); add(map, MATHSYMBOL_rightharpoonup_COMMAND); add(map, MATHSYMBOL_rightharpoondown_COMMAND); add(map, MATHSYMBOL_rightleftharpoons_COMMAND); // op large add(map, MATHSYMBOL_sum_COMMAND); add(map, MATHSYMBOL_prod_COMMAND); add(map, MATHSYMBOL_coprod_COMMAND); add(map, MATHSYMBOL_int_COMMAND); add(map, MATHSYMBOL_oint_COMMAND); add(map, MATHSYMBOL_bigcap_COMMAND); add(map, MATHSYMBOL_bigcup_COMMAND); add(map, MATHSYMBOL_bigsqcup_COMMAND); add(map, MATHSYMBOL_bigwedge_COMMAND); add(map, MATHSYMBOL_bigvee_COMMAND); add(map, MATHSYMBOL_bigodot_COMMAND); add(map, MATHSYMBOL_bigoplus_COMMAND); add(map, MATHSYMBOL_bigotimes_COMMAND); add(map, MATHSYMBOL_biguplus_COMMAND); // op fun add(map, MATHSYMBOL_exp_COMMAND); add(map, MATHSYMBOL_log_COMMAND); add(map, MATHSYMBOL_ln_COMMAND); add(map, MATHSYMBOL_lg_COMMAND); add(map, MATHSYMBOL_arg_COMMAND); add(map, MATHSYMBOL_sin_COMMAND); add(map, MATHSYMBOL_cos_COMMAND); add(map, MATHSYMBOL_tan_COMMAND); add(map, MATHSYMBOL_cot_COMMAND); add(map, MATHSYMBOL_sec_COMMAND); add(map, MATHSYMBOL_csc_COMMAND); add(map, MATHSYMBOL_arcsin_COMMAND); add(map, MATHSYMBOL_arccos_COMMAND); add(map, MATHSYMBOL_arctan_COMMAND); add(map, MATHSYMBOL_sinh_COMMAND); add(map, MATHSYMBOL_cosh_COMMAND); add(map, MATHSYMBOL_tanh_COMMAND); add(map, MATHSYMBOL_coth_COMMAND); add(map, MATHSYMBOL_min_COMMAND); add(map, MATHSYMBOL_max_COMMAND); add(map, MATHSYMBOL_inf_COMMAND); add(map, MATHSYMBOL_sup_COMMAND); add(map, MATHSYMBOL_liminf_COMMAND); add(map, MATHSYMBOL_limsup_COMMAND); add(map, MATHSYMBOL_lim_COMMAND); add(map, MATHSYMBOL_dim_COMMAND); add(map, MATHSYMBOL_det_COMMAND); add(map, MATHSYMBOL_ker_COMMAND); add(map, MATHSYMBOL_hom_COMMAND); add(map, MATHSYMBOL_deg_COMMAND); add(map, MATHSYMBOL_gcd_COMMAND); add(map, MATHSYMBOL_Pr_COMMAND); // misc alpha add(map, MATHSYMBOL_aleph_COMMAND); add(map, MATHSYMBOL_beth_COMMAND); add(map, MATHSYMBOL_gimel_COMMAND); add(map, MATHSYMBOL_daleth_COMMAND); add(map, MATHSYMBOL_imath_COMMAND); add(map, MATHSYMBOL_jmath_COMMAND); add(map, MATHSYMBOL_complement_COMMAND); add(map, MATHSYMBOL_ell_COMMAND); add(map, MATHSYMBOL_eth_COMMAND); add(map, MATHSYMBOL_hbar_COMMAND); add(map, MATHSYMBOL_hslash_COMMAND); add(map, MATHSYMBOL_mho_COMMAND); add(map, MATHSYMBOL_partial_COMMAND); add(map, MATHSYMBOL_wp_COMMAND); add(map, MATHSYMBOL_Re_COMMAND); add(map, MATHSYMBOL_Im_COMMAND); add(map, MATHSYMBOL_Finv_COMMAND); // misc ord add(map, MATHSYMBOL_prime_COMMAND); add(map, MATHSYMBOL_backprime_COMMAND); add(map, MATHSYMBOL_infty_COMMAND); add(map, MATHSYMBOL_emptyset_COMMAND); add(map, MATHSYMBOL_varnothing_COMMAND); add(map, MATHSYMBOL_nabla_COMMAND); add(map, MATHSYMBOL_surd_COMMAND); add(map, MATHSYMBOL_top_COMMAND); add(map, MATHSYMBOL_bot_COMMAND); add(map, MATHSYMBOL_angle_COMMAND); add(map, MATHSYMBOL_measuredangle_COMMAND); add(map, MATHSYMBOL_sphericalangle_COMMAND); add(map, MATHSYMBOL_blacktriangle_COMMAND); add(map, MATHSYMBOL_triangle_COMMAND); add(map, MATHSYMBOL_blacktriangledown_COMMAND); add(map, MATHSYMBOL_triangledown_COMMAND); add(map, MATHSYMBOL_blacksquare_COMMAND); add(map, MATHSYMBOL_square_COMMAND); add(map, MATHSYMBOL_blacklozenge_COMMAND); add(map, MATHSYMBOL_lozenge_COMMAND); add(map, MATHSYMBOL_forall_COMMAND); add(map, MATHSYMBOL_exists_COMMAND); add(map, MATHSYMBOL_nexists_COMMAND); add(map, MATHSYMBOL_neg_COMMAND); add(map, MATHSYMBOL_flat_COMMAND); add(map, MATHSYMBOL_natural_COMMAND); add(map, MATHSYMBOL_sharp_COMMAND); add(map, MATHSYMBOL_spadesuit_COMMAND); add(map, MATHSYMBOL_heartsuit_COMMAND); add(map, MATHSYMBOL_diamondsuit_COMMAND); add(map, MATHSYMBOL_clubsuit_COMMAND); // dots add(map, MATHSYMBOL_cdots_COMMAND); add(map, MATHSYMBOL_dotsc_COMMAND); add(map, MATHSYMBOL_dotsb_COMMAND); add(map, MATHSYMBOL_dotsm_COMMAND); add(map, MATHSYMBOL_dotsi_COMMAND); add(map, MATHSYMBOL_dotso_COMMAND); add(map, MATHSYMBOL_vdots_COMMAND); add(map, MATHSYMBOL_adots_COMMAND); add(map, MATHSYMBOL_ddots_COMMAND); // delim brackets add(map, MATHSYMBOL_lbrack_COMMAND); add(map, MATHSYMBOL_rbrack_COMMAND); add(map, MATHSYMBOL_lceil_COMMAND); add(map, MATHSYMBOL_rceil_COMMAND); add(map, MATHSYMBOL_lfloor_COMMAND); add(map, MATHSYMBOL_rfloor_COMMAND); add(map, MATHSYMBOL_lbrace_COMMAND); add(map, MATHSYMBOL_rbrace_COMMAND); add(map, MATHSYMBOL_langle_COMMAND); add(map, MATHSYMBOL_rangle_COMMAND); // accents add(map, MATHSYMBOL_grave_COMMAND); add(map, MATHSYMBOL_acute_COMMAND); add(map, MATHSYMBOL_hat_COMMAND); add(map, MATHSYMBOL_tilde_COMMAND); add(map, MATHSYMBOL_bar_COMMAND); add(map, MATHSYMBOL_overline_COMMAND); add(map, MATHSYMBOL_breve_COMMAND); add(map, MATHSYMBOL_check_COMMAND); add(map, MATHSYMBOL_dot_COMMAND); add(map, MATHSYMBOL_ddot_COMMAND); add(map, MATHSYMBOL_dddot_COMMAND); add(map, MATHSYMBOL_vec_COMMAND); add(map, MATHSYMBOL_widehat_COMMAND); add(map, MATHSYMBOL_widetilde_COMMAND); add(map, BIB_bibitem_COMMAND); add(map, BIB_cite_COMMAND); add(map, BIB_nocite_COMMAND); add(map, BIB_bibliography_COMMAND); add(map, BIB_bibliographystyle_COMMAND); gWordCommandMap = map; gAllCommands= ImCollections.toList(gWordCommandMap.values()); // System.out.println(gAllEnvs.size()); // System.out.println(gAllCommands.size()); // TexCommand[] array = gAllCommands.toArray(new TexCommand[gAllCommands.size()]); // Arrays.sort(array); // StringBuilder all = new StringBuilder("all="); // StringBuilder text = new StringBuilder("text="); // StringBuilder math = new StringBuilder("math="); // for (int i = 0; i < array.length; i++) { // all.append(array[i].getControlWord()); // all.append(','); // // if ((array[i].getType() & TexCommand.MASK_MAIN) == TexCommand.MATHSYMBOL // || (array[i].getType() & TexCommand.MASK_C2) == TexCommand.C2_STYLE_MATH // ) { // math.append(array[i].getControlWord()); // math.append(','); // } // else if ((array[i].getType() & TexCommand.MASK_C2) == TexCommand.C2_SYMBOL_COMMON // || (array[i].getType() & TexCommand.MASK_MAIN) == TexCommand.C2_GENERICENV // || (array[i].getType() & TexCommand.MASK_C2) == TexCommand.C2_LABEL_DEF // || (array[i].getType() & TexCommand.MASK_C2) == TexCommand.C2_LABEL_REF // ) { // math.append(array[i].getControlWord()); // math.append(','); // text.append(array[i].getControlWord()); // text.append(','); // } // else { // text.append(array[i].getControlWord()); // text.append(','); // } // } // System.out.println(all.substring(0, all.length()-1)); // System.out.println(text.substring(0, text.length()-1)); // System.out.println(math.substring(0, math.length()-1)); } } public static List<TexCommand> getAllCommands() { return gAllCommands; } public static TexCommand getCommand(final String controlWord) { return gWordCommandMap.get(controlWord); } public static List<TexCommand> getCommands(final List<String> controlWords) { return createCommandList(gWordCommandMap, controlWords); } public static List<TexCommand> getAllEnvs() { return gAllEnvs; } public static TexCommand getEnv(final String controlWord) { return gWordEnvMap.get(controlWord); } public static List<TexCommand> getEnvs(final List<String> names) { return createCommandList(gWordCommandMap, names); } }