diffcoeff 和 mhchem 之间的冲突

diffcoeff 和 mhchem 之间的冲突

我最近注意到 diffcoeff 和 mhchem 包之间存在冲突。对于此文件:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{diffcoeff}
\usepackage[version=4]{mhchem}
\listfiles
\begin{document}
\printFileList
Test
\end{document}

.log 文件是

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=latex 2018.10.24)  24 OCT 2018 20:55
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**Test.tex
(./Test.tex
LaTeX2e <2018-04-01> patch level 5
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/size12.clo
File: size12.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
)
\c@part=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/inputenc.sty
Package: inputenc 2018/04/06 v1.3b Input encoding file
\inpenc@prehook=\toks14
\inpenc@posthook=\toks15
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2017/04/05 v2.0i Standard LaTeX package

(/usr/local/texlive/2018/texmf-dist/tex/latex/base/t1enc.def
File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file
LaTeX Font Info:    Redeclaring font encoding T1 on input line 48.
))
(/usr/local/texlive/2018/texmf-dist/tex/latex/diffcoeff/diffcoeff.sty
(/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3.sty
Package: expl3 2018-10-19 L3 programming layer (loader) 

(/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/expl3-code.tex
Package: expl3 2018-10-19 L3 programming layer (code)
\c_max_int=\count88
\l_tmpa_int=\count89
\l_tmpb_int=\count90
\g_tmpa_int=\count91
\g_tmpb_int=\count92
\g__kernel_prg_map_int=\count93
\c_log_iow=\count94
\l_iow_line_count_int=\count95
\l__iow_line_target_int=\count96
\l__iow_one_indent_int=\count97
\l__iow_indent_int=\count98
\c_zero_dim=\dimen103
\c_max_dim=\dimen104
\l_tmpa_dim=\dimen105
\l_tmpb_dim=\dimen106
\g_tmpa_dim=\dimen107
\g_tmpb_dim=\dimen108
\c_zero_skip=\skip43
\c_max_skip=\skip44
\l_tmpa_skip=\skip45
\l_tmpb_skip=\skip46
\g_tmpa_skip=\skip47
\g_tmpb_skip=\skip48
\c_zero_muskip=\muskip10
\c_max_muskip=\muskip11
\l_tmpa_muskip=\muskip12
\l_tmpb_muskip=\muskip13
\g_tmpa_muskip=\muskip14
\g_tmpb_muskip=\muskip15
\l_keys_choice_int=\count99
\l__intarray_loop_int=\count100
\c__intarray_sp_dim=\dimen109
\g__intarray_font_int=\count101
\c__fp_leading_shift_int=\count102
\c__fp_middle_shift_int=\count103
\c__fp_trailing_shift_int=\count104
\c__fp_big_leading_shift_int=\count105
\c__fp_big_middle_shift_int=\count106
\c__fp_big_trailing_shift_int=\count107
\c__fp_Bigg_leading_shift_int=\count108
\c__fp_Bigg_middle_shift_int=\count109
\c__fp_Bigg_trailing_shift_int=\count110
\c__kernel_randint_max_int=\count111
\g__fp_array_int=\count112
\l__fp_array_loop_int=\count113
\l__sort_length_int=\count114
\l__sort_min_int=\count115
\l__sort_top_int=\count116
\l__sort_max_int=\count117
\l__sort_true_max_int=\count118
\l__sort_block_int=\count119
\l__sort_begin_int=\count120
\l__sort_end_int=\count121
\l__sort_A_int=\count122
\l__sort_B_int=\count123
\l__sort_C_int=\count124
\l__tl_analysis_normal_int=\count125
\l__tl_analysis_index_int=\count126
\l__tl_analysis_nesting_int=\count127
\l__tl_analysis_type_int=\count128
\l__regex_internal_a_int=\count129
\l__regex_internal_b_int=\count130
\l__regex_internal_c_int=\count131
\l__regex_balance_int=\count132
\l__regex_group_level_int=\count133
\l__regex_mode_int=\count134
\c__regex_cs_in_class_mode_int=\count135
\c__regex_cs_mode_int=\count136
\l__regex_catcodes_int=\count137
\l__regex_default_catcodes_int=\count138
\c__regex_catcode_D_int=\count139
\c__regex_catcode_S_int=\count140
\c__regex_catcode_L_int=\count141
\c__regex_catcode_O_int=\count142
\c__regex_catcode_A_int=\count143
\c__regex_all_catcodes_int=\count144
\l__regex_show_lines_int=\count145
\l__regex_min_state_int=\count146
\l__regex_max_state_int=\count147
\l__regex_left_state_int=\count148
\l__regex_right_state_int=\count149
\l__regex_capturing_group_int=\count150
\l__regex_min_pos_int=\count151
\l__regex_max_pos_int=\count152
\l__regex_curr_pos_int=\count153
\l__regex_start_pos_int=\count154
\l__regex_success_pos_int=\count155
\l__regex_curr_char_int=\count156
\l__regex_curr_catcode_int=\count157
\l__regex_last_char_int=\count158
\l__regex_case_changed_char_int=\count159
\l__regex_curr_state_int=\count160
\l__regex_step_int=\count161
\l__regex_min_active_int=\count162
\l__regex_max_active_int=\count163
\l__regex_replacement_csnames_int=\count164
\l__regex_match_count_int=\count165
\l__regex_min_submatch_int=\count166
\l__regex_submatch_int=\count167
\l__regex_zeroth_submatch_int=\count168
\g__regex_trace_regex_int=\count169
\c_empty_box=\box26
\l_tmpa_box=\box27
\l_tmpb_box=\box28
\g_tmpa_box=\box29
\g_tmpb_box=\box30
\l__box_top_dim=\dimen110
\l__box_bottom_dim=\dimen111
\l__box_left_dim=\dimen112
\l__box_right_dim=\dimen113
\l__box_top_new_dim=\dimen114
\l__box_bottom_new_dim=\dimen115
\l__box_left_new_dim=\dimen116
\l__box_right_new_dim=\dimen117
\l__box_internal_box=\box31
\l__coffin_internal_box=\box32
\l__coffin_internal_dim=\dimen118
\l__coffin_offset_x_dim=\dimen119
\l__coffin_offset_y_dim=\dimen120
\l__coffin_x_dim=\dimen121
\l__coffin_y_dim=\dimen122
\l__coffin_x_prime_dim=\dimen123
\l__coffin_y_prime_dim=\dimen124
\c_empty_coffin=\box33
\l__coffin_aligned_coffin=\box34
\l__coffin_aligned_internal_coffin=\box35
\l_tmpa_coffin=\box36
\l_tmpb_coffin=\box37
\l__coffin_display_coffin=\box38
\l__coffin_display_coord_coffin=\box39
\l__coffin_display_pole_coffin=\box40
\l__coffin_display_offset_dim=\dimen125
\l__coffin_display_x_dim=\dimen126
\l__coffin_display_y_dim=\dimen127
\g__file_internal_ior=\read1
\l__coffin_bounding_shift_dim=\dimen128
\l__coffin_left_corner_dim=\dimen129
\l__coffin_right_corner_dim=\dimen130
\l__coffin_bottom_corner_dim=\dimen131
\l__coffin_top_corner_dim=\dimen132
\l__coffin_scaled_total_height_dim=\dimen133
\l__coffin_scaled_width_dim=\dimen134
\l__seq_internal_a_int=\count170
\l__seq_internal_b_int=\count171
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/l3kernel/l3dvips.def
File: l3dvips.def 2018-10-19 v L3 Experimental driver: dvips
\g__driver_pdf_object_int=\count172
))
(/usr/local/texlive/2018/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
Package: xparse 2018-10-17 L3 Experimental document command parser
\l__xparse_current_arg_int=\count173
\g__xparse_grabber_int=\count174
\l__xparse_m_args_int=\count175
\l__xparse_mandatory_args_int=\count176
\l__xparse_v_nesting_int=\count177
)
Package: diffcoeff 2016/06/27 v1.0 Write differential coefficients easily.
\l__diffco_curr_tok_int=\count178
\l__diffco_curr_state_int=\count179
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/mhchem/mhchem.sty
Package: mhchem 2018/06/22 v4.08 for typesetting chemical formulae

(/usr/local/texlive/2018/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
Package: l3keys2e 2018-10-17 LaTeX2e option processing using LaTeX3 keys
) (/usr/local/texlive/2018/texmf-dist/tex/latex/tools/calc.sty
Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ)
\calc@Acount=\count180
\calc@Bcount=\count181
\calc@Adimen=\dimen135
\calc@Bdimen=\dimen136
\calc@Askip=\skip49
\calc@Bskip=\skip50
LaTeX Info: Redefining \setlength on input line 80.
LaTeX Info: Redefining \addtolength on input line 81.
\calc@Ccount=\count182
\calc@Cskip=\skip51
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2017/09/02 v2.17a AMS math features
\@mathmargin=\skip52

For additional information on amsmath, use the `?' option.
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01 AMS text

(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks16
\ex@=\dimen137
))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen138
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 2016/03/08 v2.02 operator names
)
\inf@bad=\count183
LaTeX Info: Redefining \frac on input line 213.
\uproot@=\count184
\leftroot@=\count185
LaTeX Info: Redefining \overline on input line 375.
\classnum@=\count186
\DOTSCASE@=\count187
LaTeX Info: Redefining \ldots on input line 472.
LaTeX Info: Redefining \dots on input line 475.
LaTeX Info: Redefining \cdots on input line 596.
\Mathstrutbox@=\box41
\strutbox@=\box42
\big@size=\dimen139
LaTeX Font Info:    Redeclaring font encoding OML on input line 712.
LaTeX Font Info:    Redeclaring font encoding OMS on input line 713.
\macc@depth=\count188
\c@MaxMatrixCols=\count189
\dotsspace@=\muskip16
\c@parentequation=\count190
\dspbrk@lvl=\count191
\tag@help=\toks17
\row@=\count192
\column@=\count193
\maxfields@=\count194
\andhelp@=\toks18
\eqnshift@=\dimen140
\alignsep@=\dimen141
\tagshift@=\dimen142
\tagwidth@=\dimen143
\totwidth@=\dimen144
\lineht@=\dimen145
\@envbody=\toks19
\multlinegap=\skip53
\multlinetaggap=\skip54
\mathdisplay@stack=\toks20
LaTeX Info: Redefining \[ on input line 2817.
LaTeX Info: Redefining \] on input line 2818.
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/chemgreek/chemgreek.sty
Package: chemgreek 2016/12/20 v1.1 interfaceforuprightgreeklettersforuseinchemi
stry (CN)
\l__chemgreek_tmpa_int=\count195
\g__chemgreek_tmpa_int=\count196
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)

(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
)
(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: dvips.def on input line 99.

(/usr/local/texlive/2018/texmf-dist/tex/latex/graphics-def/dvips.def
File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips
))
\l__mhchem_ce_distanceFromLastComma_int=\count197
\__mhchem_arrow_extPgfLength_skip=\skip55
\mhchem@minispace@tmp=\skip56
\mhchem@minibackspace@tmp=\skip57
\mhchem@bondwidth=\skip58
\mhchem@bondheight=\skip59
\mhchem@smallbondwidth@tmpA=\skip60
\mhchem@smallbondwidth@tmpB=\skip61
\mhchem@smallbondwidth=\skip62
\mhchem@bondtmp@minussidebearingleft=\skip63
\mhchem@bondtmp@minussidebearingright=\skip64
\l__mhchem_option_version_int=\count198
\mhchem@option@minusmathsidebearingleft=\dimen146
\mhchem@option@minusmathsidebearingright=\dimen147
\mhchem@option@minustextsidebearingleft=\dimen148
\mhchem@option@minustextsidebearingright=\dimen149
)
(./Test.aux)
\openout1 = `Test.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.


! Missing number, treated as zero.
<to be read again> 
                   \relax 
l.7 \begin{document}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Argument of \__iow_wrap_break_none:w has an extra }.
<inserted text> 
                \par 
l.7 \begin{document}

I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.

Runaway argument?
! Paragraph ended before \__iow_wrap_break_none:w was complete.
<to be read again> 
                   \par 
l.7 \begin{document}

I suspect you've forgotten a `}', causing me to apply this
control sequence to too much text. How can we recover?
My plan is to forget the whole thing and hope for the best.

)
Runaway argument?
76543210\q_stop end \exp_args:NNf \group_end: \iow_log:n {\tl_to_str:N \ETC.
! File ended while scanning use of \__iow_wrap_end_chunk:w.
<inserted text> 
                \par 
<*> Test.tex

I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.

! Emergency stop.
<*> Test.tex

*** (job aborted, no legal \end found)


Here is how much of TeX's memory you used:
 11477 strings out of 492640
 217923 string characters out of 6129336
 271481 words of memory out of 5000000
 15377 multiletter control sequences out of 15000+600000
 533400 words of font info for 26 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191
 41i,1n,63p,344b,275s stack positions out of 5000i,500n,10000p,200000b,80000s
No pages of output.

感谢您的任何帮助。

答案1

问题出现在diffcoeff设置一个名为的宏\msg_info_text:n

\cs_gset:Npn \msg_info_text:n #1  
  { Use~the~order-override~option~to~specify~the~overall~order~of~
      differentiation~(or~use~diffcoeffx.sty). }

而默认情况下它要短得多通用。它旨在允许语言消息的更改,也可供单个包使用。(它生成Package X Info来自的消息的文本expl3。)

在 的消息代码中expl3,有一个假设会\msg_info_text:n产生比整行更短的内容。在这里,情况不再如此,目前内部没有针对此问题的健全性检查。我会添加一个,并将问题报告给 的维护者diffcoeff。目前,添加

\ExplSyntaxOn
\cs_set:Npn \msg_info_text:n #1 { \__msg_text:nn {#1} { Info } }
\ExplSyntaxOff

线路加载后diffcoeff

相关内容