Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5
mineure

29 Aoû '17, 18:16

Pathe's gravatar image

Pathe
7.6k49210252

Bien qu'une réponse ait été apportée, j'en Je propose une seconde en solution utilisant LuaLaTeX : \documentclass{article} \usepackage{luacode} \begin{luacode} function if_begin_tube(String) local x = string.sub(String,1,1) -- on stocke le premier caractère dans une variable if x=="|" then -- si ce premier caractère est un tube... String = string.gsub(String,"|","",1) -- on le supprime de la chaîne tex.sprint("\\begin{tabular}{"..String.."}") -- on ouvre le tableau avec la chaîne modifiée else -- sinon... tex.sprint("\\begin{tabular}{||"..String.."||}") -- on ouvre le tableau avec la chaîne non modifiée encadrée par un double tube end end \end{luacode} \newcommand\BeginMyTabular[1]{\directlua{if_begin_tube(\luastring{#1})}} \newenvironment{mytabular}[1]{\BeginMyTabular{#1}}{\end{tabular}} \begin{document} \begin{mytabular}{c|c} \hline 1 & 2 \\ \hline 3 & 4 \\ \end{mytabular} \bigskip \begin{mytabular}{|cc} \hline 4 & 5\\ \hline 6 & 7 \\ \end{mytabular} \end{document}
cliquez ici pour masquer/afficher la révision 4

29 Aoû '17, 03:16

Namrod's gravatar image

Namrod
2831814

Bien qu'une réponse ait été apportée, j'en propose une seconde en utilisant LuaLaTeX : \documentclass{article} \usepackage{luacode} \begin{luacode} function if_begin_tube(String) local x = string.sub(String,1,1) -- on stocke le premier caractère dans une variable if x=="|" then -- si ce premier caractère est un tube... String = string.gsub(String,"|","",1) -- on le supprime de la chaîne tex.sprint("\\begin{tabular}{"..String.."}") -- on ouvre le tableau avec la chaîne modifiée else -- sinon... tex.sprint("\\begin{tabular}{||"..String.."||}") -- on ouvre le tableau avec la chaîne non modifiée encadrée par un double tube end end \end{luacode} \newcommand\BeginMyTabular[1]{\directlua{if_begin_tube(\luastring{#1})}} \newenvironment{mytabular}[1]{\BeginMyTabular{#1}}{\end{tabular}} \begin{document} \begin{mytabular}{c|c} \hline 1 & 2 \\ \hline 3 & 4 \\ \end{mytabular} \bigskip \begin{mytabular}{|cc} \hline 4 & 5\\ \hline 6 & 7 \\ \end{mytabular} \end{document}
cliquez ici pour masquer/afficher la révision 3

29 Aoû '17, 03:14

Namrod's gravatar image

Namrod
2831814

cliquez ici pour masquer/afficher la révision 2

29 Aoû '17, 03:08

Namrod's gravatar image

Namrod
2831814

cliquez ici pour masquer/afficher la révision 1

29 Aoû '17, 02:22

Namrod's gravatar image

Namrod
2831814

C'est votre première visite ici ? Consultez la FAQ !

×