3

I notice recently a conflict between the packages diffcoeff and mhchem. For this file :

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

the .log file is

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.

Thank you for any help.

4

The issue arises as diffcoeff sets a macro called \msg_info_text:n to

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

whereas by default it much shorter and generic. It's intended for allowing the language of messages to change, nor for use by single packages. (It produces the Package X Info text for messages from expl3.)

Within the message code of expl3, there's an assumption that \msg_info_text:n produces something shorter than a whole line. Here, that's no longer the case, and at present there is not a sanity check internally for this issue. I'll add one, and I'll report the issue to the maintainer of diffcoeff. For the present, add

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

after the line loading diffcoeff.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.