Proper LaTeX3 syntax for usepackage{} - ProvidesPackage{}












3















The MWE_1 defines a document command which in turn calls a cs_ macro. Both are defined in the document's preamble section sandwiched between ExplSyntaxOn ExplSyntaxOff statements, as is the declaration of the associated local and global variables. There seems to be little reason to define document commands for the purpose of using them in a single document, and no reason whatsoever to develop cs_ macros with that scope in mind, hence I usually work with a number of .sty files. For the purpose of demonstration let the preamble of MWE_1 be packaged in the file myCommandsAndMacros.sty which is headed with the instruction ProvidesPackage{myCommandsAndMacros} and in MWE_2 loaded with the instruction usepackage{myCommandsAndMacros} - not sure where in the distant past I gleaned this process from, but it works. To my surprise I now learn (see Part II in the LaTeX3 Interfaces document) that ProvidesPackage is an instruction that belongs to LaTeX2 (although it may be used by LaTeX3), but all attempts to modify the syntax I have been using to ProvidesExplPackage{myCommandsAndMacros} fail with error !Paragraph ended before ProvidesExplPackage was complete.



MWE_1:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
%-----------------------
ExplSyntaxOn
% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


MWE_2:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
usepackage{myCommandsAndMacros}
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


myCommandsAndMacros.sty



ProvidesPackage{myCommandsAndMacros}
%ProvidesExplPackage{myCommandsAndMacros} ==> ERROR
% ===========================================================
ExplSyntaxOn

% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff









share|improve this question




















  • 2





    I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

    – Manuel
    Dec 24 '18 at 6:31











  • If you use the L3 version, isn't expl syntax automatically toggled on?

    – Johannes_B
    Dec 24 '18 at 6:32






  • 2





    You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

    – Henri Menke
    Dec 24 '18 at 6:43






  • 2





    ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

    – moewe
    Dec 24 '18 at 6:58








  • 1





    Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

    – Joseph Wright
    Dec 24 '18 at 8:02
















3















The MWE_1 defines a document command which in turn calls a cs_ macro. Both are defined in the document's preamble section sandwiched between ExplSyntaxOn ExplSyntaxOff statements, as is the declaration of the associated local and global variables. There seems to be little reason to define document commands for the purpose of using them in a single document, and no reason whatsoever to develop cs_ macros with that scope in mind, hence I usually work with a number of .sty files. For the purpose of demonstration let the preamble of MWE_1 be packaged in the file myCommandsAndMacros.sty which is headed with the instruction ProvidesPackage{myCommandsAndMacros} and in MWE_2 loaded with the instruction usepackage{myCommandsAndMacros} - not sure where in the distant past I gleaned this process from, but it works. To my surprise I now learn (see Part II in the LaTeX3 Interfaces document) that ProvidesPackage is an instruction that belongs to LaTeX2 (although it may be used by LaTeX3), but all attempts to modify the syntax I have been using to ProvidesExplPackage{myCommandsAndMacros} fail with error !Paragraph ended before ProvidesExplPackage was complete.



MWE_1:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
%-----------------------
ExplSyntaxOn
% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


MWE_2:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
usepackage{myCommandsAndMacros}
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


myCommandsAndMacros.sty



ProvidesPackage{myCommandsAndMacros}
%ProvidesExplPackage{myCommandsAndMacros} ==> ERROR
% ===========================================================
ExplSyntaxOn

% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff









share|improve this question




















  • 2





    I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

    – Manuel
    Dec 24 '18 at 6:31











  • If you use the L3 version, isn't expl syntax automatically toggled on?

    – Johannes_B
    Dec 24 '18 at 6:32






  • 2





    You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

    – Henri Menke
    Dec 24 '18 at 6:43






  • 2





    ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

    – moewe
    Dec 24 '18 at 6:58








  • 1





    Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

    – Joseph Wright
    Dec 24 '18 at 8:02














3












3








3








The MWE_1 defines a document command which in turn calls a cs_ macro. Both are defined in the document's preamble section sandwiched between ExplSyntaxOn ExplSyntaxOff statements, as is the declaration of the associated local and global variables. There seems to be little reason to define document commands for the purpose of using them in a single document, and no reason whatsoever to develop cs_ macros with that scope in mind, hence I usually work with a number of .sty files. For the purpose of demonstration let the preamble of MWE_1 be packaged in the file myCommandsAndMacros.sty which is headed with the instruction ProvidesPackage{myCommandsAndMacros} and in MWE_2 loaded with the instruction usepackage{myCommandsAndMacros} - not sure where in the distant past I gleaned this process from, but it works. To my surprise I now learn (see Part II in the LaTeX3 Interfaces document) that ProvidesPackage is an instruction that belongs to LaTeX2 (although it may be used by LaTeX3), but all attempts to modify the syntax I have been using to ProvidesExplPackage{myCommandsAndMacros} fail with error !Paragraph ended before ProvidesExplPackage was complete.



MWE_1:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
%-----------------------
ExplSyntaxOn
% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


MWE_2:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
usepackage{myCommandsAndMacros}
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


myCommandsAndMacros.sty



ProvidesPackage{myCommandsAndMacros}
%ProvidesExplPackage{myCommandsAndMacros} ==> ERROR
% ===========================================================
ExplSyntaxOn

% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff









share|improve this question
















The MWE_1 defines a document command which in turn calls a cs_ macro. Both are defined in the document's preamble section sandwiched between ExplSyntaxOn ExplSyntaxOff statements, as is the declaration of the associated local and global variables. There seems to be little reason to define document commands for the purpose of using them in a single document, and no reason whatsoever to develop cs_ macros with that scope in mind, hence I usually work with a number of .sty files. For the purpose of demonstration let the preamble of MWE_1 be packaged in the file myCommandsAndMacros.sty which is headed with the instruction ProvidesPackage{myCommandsAndMacros} and in MWE_2 loaded with the instruction usepackage{myCommandsAndMacros} - not sure where in the distant past I gleaned this process from, but it works. To my surprise I now learn (see Part II in the LaTeX3 Interfaces document) that ProvidesPackage is an instruction that belongs to LaTeX2 (although it may be used by LaTeX3), but all attempts to modify the syntax I have been using to ProvidesExplPackage{myCommandsAndMacros} fail with error !Paragraph ended before ProvidesExplPackage was complete.



MWE_1:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
%-----------------------
ExplSyntaxOn
% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


MWE_2:



documentclass{article}
%-----------------------
usepackage[check-declarations,log-functions,enable-debug]{expl3}
% or: RequirePackage[check-declarations,log-functions,enable-debug]{expl3}
usepackage{xparse}
usepackage{myCommandsAndMacros}
%-----------------------
begin{document}
myDocumentCommand[2][$alpha$]

myDocumentCommand
end{document}


myCommandsAndMacros.sty



ProvidesPackage{myCommandsAndMacros}
%ProvidesExplPackage{myCommandsAndMacros} ==> ERROR
% ===========================================================
ExplSyntaxOn

% Variable Declarations:
tl_new:N l_rn_auxOne_tl
int_new:N l_rn_auxOne_int
int_new:N g_rn_Result_int

cs_new:Npn rnUtils_Squared:n #1
{
group_begin:
int_set:Nn l_rn_auxOne_int {#1}
int_gset:Nn g_rn_Result_int {int_eval:n {l_rn_auxOne_int *l_rn_auxOne_int}}
group_end:
} % rnUtils_Squared:n

NewDocumentCommandmyDocumentCommand{O{911}O{abc}}
{
int_set:Nn l_rn_auxOne_int {#1}
rnUtils_Squared:n {l_rn_auxOne_int}
tl_set:Nn l_rn_auxOne_tl {#2}
int_use:N g_rn_Result_int,~tl_use:N l_rn_auxOne_tl
} % myDocumentCommand

ExplSyntaxOff






expl3






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 24 '18 at 8:01









Joseph Wright

203k22559885




203k22559885










asked Dec 24 '18 at 6:22









Reinhard NeuwirthReinhard Neuwirth

1,55611322




1,55611322








  • 2





    I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

    – Manuel
    Dec 24 '18 at 6:31











  • If you use the L3 version, isn't expl syntax automatically toggled on?

    – Johannes_B
    Dec 24 '18 at 6:32






  • 2





    You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

    – Henri Menke
    Dec 24 '18 at 6:43






  • 2





    ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

    – moewe
    Dec 24 '18 at 6:58








  • 1





    Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

    – Joseph Wright
    Dec 24 '18 at 8:02














  • 2





    I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

    – Manuel
    Dec 24 '18 at 6:31











  • If you use the L3 version, isn't expl syntax automatically toggled on?

    – Johannes_B
    Dec 24 '18 at 6:32






  • 2





    You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

    – Henri Menke
    Dec 24 '18 at 6:43






  • 2





    ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

    – moewe
    Dec 24 '18 at 6:58








  • 1





    Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

    – Joseph Wright
    Dec 24 '18 at 8:02








2




2





I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

– Manuel
Dec 24 '18 at 6:31





I don't know and I haven't read the question yet, but ExplSyntaxOn and Off is likely not needed in an expl package.

– Manuel
Dec 24 '18 at 6:31













If you use the L3 version, isn't expl syntax automatically toggled on?

– Johannes_B
Dec 24 '18 at 6:32





If you use the L3 version, isn't expl syntax automatically toggled on?

– Johannes_B
Dec 24 '18 at 6:32




2




2





You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

– Henri Menke
Dec 24 '18 at 6:43





You need RequirePackage{expl3} ProvidesExplPackage .... And you probably also want to add RequirePackage{xparse}.

– Henri Menke
Dec 24 '18 at 6:43




2




2





ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

– moewe
Dec 24 '18 at 6:58







ProvidesExplPackage takes four arguments: ProvidesExplPackage{<package>}{<date>}{<version>}{<description>} not just one and an optional argument like ProvidesPackage{<package>}[<version and date info>]. Cf. also texdev.net/2011/12/11/…

– moewe
Dec 24 '18 at 6:58






1




1





Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

– Joseph Wright
Dec 24 '18 at 8:02





Off-topic: you have non-expandable material, so you need cs_new_protected:Npn not cs_new:Npn.

– Joseph Wright
Dec 24 '18 at 8:02










1 Answer
1






active

oldest

votes


















9














Unlike ProvidesPackage, which uses a single argument for several different pieces of data, ProvidesExplPackage has a separate argument for each. For example



RequirePackage{expl3}
ProvidesExplPackage {siunitx} {2018-07-21} {3.0.0-alpha}
{A comprehensive (SI) units package}
% Here, `expl3` syntax is active





share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "85"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f467143%2fproper-latex3-syntax-for-usepackagename-of-sty-file-providespackagena%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    9














    Unlike ProvidesPackage, which uses a single argument for several different pieces of data, ProvidesExplPackage has a separate argument for each. For example



    RequirePackage{expl3}
    ProvidesExplPackage {siunitx} {2018-07-21} {3.0.0-alpha}
    {A comprehensive (SI) units package}
    % Here, `expl3` syntax is active





    share|improve this answer




























      9














      Unlike ProvidesPackage, which uses a single argument for several different pieces of data, ProvidesExplPackage has a separate argument for each. For example



      RequirePackage{expl3}
      ProvidesExplPackage {siunitx} {2018-07-21} {3.0.0-alpha}
      {A comprehensive (SI) units package}
      % Here, `expl3` syntax is active





      share|improve this answer


























        9












        9








        9







        Unlike ProvidesPackage, which uses a single argument for several different pieces of data, ProvidesExplPackage has a separate argument for each. For example



        RequirePackage{expl3}
        ProvidesExplPackage {siunitx} {2018-07-21} {3.0.0-alpha}
        {A comprehensive (SI) units package}
        % Here, `expl3` syntax is active





        share|improve this answer













        Unlike ProvidesPackage, which uses a single argument for several different pieces of data, ProvidesExplPackage has a separate argument for each. For example



        RequirePackage{expl3}
        ProvidesExplPackage {siunitx} {2018-07-21} {3.0.0-alpha}
        {A comprehensive (SI) units package}
        % Here, `expl3` syntax is active






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 24 '18 at 8:04









        Joseph WrightJoseph Wright

        203k22559885




        203k22559885






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f467143%2fproper-latex3-syntax-for-usepackagename-of-sty-file-providespackagena%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Bressuire

            Cabo Verde

            Gyllenstierna