Old style “caution” boxes
Technical manuals from the 1960s and 1970s sometimes had eye-catching CAUTION boxes surrounded by wavy or curly lines.
My best attempt at re-creating this is not ideal as I can't get the snake to line up on all corners:
begin{tikzpicture}
draw[very thick,decorate,
decoration={snake,segment length=9.5pt}]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
I would also be willing to use any other package which can produce fancy boxes with borders.
tikz-pgf border
add a comment |
Technical manuals from the 1960s and 1970s sometimes had eye-catching CAUTION boxes surrounded by wavy or curly lines.
My best attempt at re-creating this is not ideal as I can't get the snake to line up on all corners:
begin{tikzpicture}
draw[very thick,decorate,
decoration={snake,segment length=9.5pt}]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
I would also be willing to use any other package which can produce fancy boxes with borders.
tikz-pgf border
add a comment |
Technical manuals from the 1960s and 1970s sometimes had eye-catching CAUTION boxes surrounded by wavy or curly lines.
My best attempt at re-creating this is not ideal as I can't get the snake to line up on all corners:
begin{tikzpicture}
draw[very thick,decorate,
decoration={snake,segment length=9.5pt}]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
I would also be willing to use any other package which can produce fancy boxes with borders.
tikz-pgf border
Technical manuals from the 1960s and 1970s sometimes had eye-catching CAUTION boxes surrounded by wavy or curly lines.
My best attempt at re-creating this is not ideal as I can't get the snake to line up on all corners:
begin{tikzpicture}
draw[very thick,decorate,
decoration={snake,segment length=9.5pt}]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
I would also be willing to use any other package which can produce fancy boxes with borders.
tikz-pgf border
tikz-pgf border
edited Apr 18 at 6:00
Peter Mortensen
55437
55437
asked Apr 17 at 23:27
MassMass
33317
33317
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I would employ Jake's complete sines here to modify your proposal to something that can also be used in a tcolorbox
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
draw[oldfashioned sines]
(frame.south west) rectangle (frame.north east);
draw[oldfashioned sines]
([xshift=1pt,yshift=0.4pt]frame.south west) rectangle ([xshift=1pt,yshift=0.4pt]frame.north east);
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
draw[oldfashioned sines]
(1pt,0.4pt) rectangle (141pt,40.4pt) ;
end{tikzpicture}
end{document}
I'd like to thank quark67 for the great suggestion to add line cap=rect
.
ADDENDUM: An attempt to address your request.
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
defLstAnchors{"south west","south east","north east","north west"}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
foreach XX [count=YY,remember=XX as LastXX (initially north west)]
in {south west,south east,north east,north west}
{ifnumYY<3
draw[oldfashioned sines] (frame.LastXX) -- (frame.XX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.LastXX) -- ([xshift=1pt,yshift=0.4pt]frame.XX);
else
draw[oldfashioned sines] (frame.XX) -- (frame.LastXX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.XX) -- ([xshift=1pt,yshift=0.4pt]frame.LastXX);
fi}
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
end{document}
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into atcolorbox
.
– marmot
Apr 18 at 2:57
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), addline cap=rect
in the options ofdraw
.
– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
|
show 2 more comments
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f485387%2fold-style-caution-boxes%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
I would employ Jake's complete sines here to modify your proposal to something that can also be used in a tcolorbox
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
draw[oldfashioned sines]
(frame.south west) rectangle (frame.north east);
draw[oldfashioned sines]
([xshift=1pt,yshift=0.4pt]frame.south west) rectangle ([xshift=1pt,yshift=0.4pt]frame.north east);
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
draw[oldfashioned sines]
(1pt,0.4pt) rectangle (141pt,40.4pt) ;
end{tikzpicture}
end{document}
I'd like to thank quark67 for the great suggestion to add line cap=rect
.
ADDENDUM: An attempt to address your request.
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
defLstAnchors{"south west","south east","north east","north west"}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
foreach XX [count=YY,remember=XX as LastXX (initially north west)]
in {south west,south east,north east,north west}
{ifnumYY<3
draw[oldfashioned sines] (frame.LastXX) -- (frame.XX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.LastXX) -- ([xshift=1pt,yshift=0.4pt]frame.XX);
else
draw[oldfashioned sines] (frame.XX) -- (frame.LastXX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.XX) -- ([xshift=1pt,yshift=0.4pt]frame.LastXX);
fi}
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
end{document}
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into atcolorbox
.
– marmot
Apr 18 at 2:57
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), addline cap=rect
in the options ofdraw
.
– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
|
show 2 more comments
I would employ Jake's complete sines here to modify your proposal to something that can also be used in a tcolorbox
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
draw[oldfashioned sines]
(frame.south west) rectangle (frame.north east);
draw[oldfashioned sines]
([xshift=1pt,yshift=0.4pt]frame.south west) rectangle ([xshift=1pt,yshift=0.4pt]frame.north east);
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
draw[oldfashioned sines]
(1pt,0.4pt) rectangle (141pt,40.4pt) ;
end{tikzpicture}
end{document}
I'd like to thank quark67 for the great suggestion to add line cap=rect
.
ADDENDUM: An attempt to address your request.
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
defLstAnchors{"south west","south east","north east","north west"}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
foreach XX [count=YY,remember=XX as LastXX (initially north west)]
in {south west,south east,north east,north west}
{ifnumYY<3
draw[oldfashioned sines] (frame.LastXX) -- (frame.XX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.LastXX) -- ([xshift=1pt,yshift=0.4pt]frame.XX);
else
draw[oldfashioned sines] (frame.XX) -- (frame.LastXX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.XX) -- ([xshift=1pt,yshift=0.4pt]frame.LastXX);
fi}
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
end{document}
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into atcolorbox
.
– marmot
Apr 18 at 2:57
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), addline cap=rect
in the options ofdraw
.
– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
|
show 2 more comments
I would employ Jake's complete sines here to modify your proposal to something that can also be used in a tcolorbox
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
draw[oldfashioned sines]
(frame.south west) rectangle (frame.north east);
draw[oldfashioned sines]
([xshift=1pt,yshift=0.4pt]frame.south west) rectangle ([xshift=1pt,yshift=0.4pt]frame.north east);
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
draw[oldfashioned sines]
(1pt,0.4pt) rectangle (141pt,40.4pt) ;
end{tikzpicture}
end{document}
I'd like to thank quark67 for the great suggestion to add line cap=rect
.
ADDENDUM: An attempt to address your request.
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
defLstAnchors{"south west","south east","north east","north west"}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
foreach XX [count=YY,remember=XX as LastXX (initially north west)]
in {south west,south east,north east,north west}
{ifnumYY<3
draw[oldfashioned sines] (frame.LastXX) -- (frame.XX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.LastXX) -- ([xshift=1pt,yshift=0.4pt]frame.XX);
else
draw[oldfashioned sines] (frame.XX) -- (frame.LastXX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.XX) -- ([xshift=1pt,yshift=0.4pt]frame.LastXX);
fi}
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
end{document}
I would employ Jake's complete sines here to modify your proposal to something that can also be used in a tcolorbox
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
draw[oldfashioned sines]
(frame.south west) rectangle (frame.north east);
draw[oldfashioned sines]
([xshift=1pt,yshift=0.4pt]frame.south west) rectangle ([xshift=1pt,yshift=0.4pt]frame.north east);
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
end{tikzpicture}
begin{tikzpicture}
draw[oldfashioned sines]
(0,0) rectangle (140pt,40pt)
node[pos=0.5] {textbf{CAUTION}};
draw[oldfashioned sines]
(1pt,0.4pt) rectangle (141pt,40.4pt) ;
end{tikzpicture}
end{document}
I'd like to thank quark67 for the great suggestion to add line cap=rect
.
ADDENDUM: An attempt to address your request.
documentclass[a4paper,12pt]{article}
usepackage[many]{tcolorbox}
usetikzlibrary{decorations}
begin{document}
pgfdeclaredecoration{complete sines}{initial}
{
state{initial}[
width=+0pt,
next state=sine,
persistent precomputation={pgfmathsetmacromatchinglength{
pgfdecoratedinputsegmentlength / int(pgfdecoratedinputsegmentlength/pgfdecorationsegmentlength)}
setlength{pgfdecorationsegmentlength}{matchinglength pt}
}] {}
state{sine}[width=pgfdecorationsegmentlength]{
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathsine{pgfpoint{0.25pgfdecorationsegmentlength}{-0.5pgfdecorationsegmentamplitude}}
pgfpathcosine{pgfpoint{0.25pgfdecorationsegmentlength}{0.5pgfdecorationsegmentamplitude}}
}
state{final}{}
}
tikzset{oldfashioned sines/.style={very thick,line cap=rect,% <- thanks to quark67!
decorate,decoration={complete sines,segment length=#1,path has corners}},
oldfashioned sines/.default=9.5pt}
defLstAnchors{"south west","south east","north east","north west"}
newtcolorbox{Caution}{%
width=140pt,height=40pt,
colback=white,halign=flush center,valign=center,
enhanced,% jigsaw, breakable, % allow page breaks
frame hidden, % hide the default frame
overlay={%
foreach XX [count=YY,remember=XX as LastXX (initially north west)]
in {south west,south east,north east,north west}
{ifnumYY<3
draw[oldfashioned sines] (frame.LastXX) -- (frame.XX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.LastXX) -- ([xshift=1pt,yshift=0.4pt]frame.XX);
else
draw[oldfashioned sines] (frame.XX) -- (frame.LastXX);
draw[oldfashioned sines] ([xshift=1pt,yshift=0.4pt]frame.XX) -- ([xshift=1pt,yshift=0.4pt]frame.LastXX);
fi}
},
% paragraph skips obeyed within tcolorbox
parbox=false,
}
begin{Caution}
textbf{Caution}
end{Caution}
end{document}
edited 4 hours ago
answered Apr 17 at 23:47
marmotmarmot
120k6157293
120k6157293
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into atcolorbox
.
– marmot
Apr 18 at 2:57
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), addline cap=rect
in the options ofdraw
.
– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
|
show 2 more comments
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into atcolorbox
.
– marmot
Apr 18 at 2:57
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), addline cap=rect
in the options ofdraw
.
– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into a
tcolorbox
.– marmot
Apr 18 at 2:57
The question is what you want to achieve. Do you want to have such boxes in the text? If so, I will be happy to turn this into a
tcolorbox
.– marmot
Apr 18 at 2:57
1
1
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), add
line cap=rect
in the options of draw
.– quark67
Apr 18 at 2:58
For a slightly better end of the decoration on the bottom left corner (when you magnified the picture), add
line cap=rect
in the options of draw
.– quark67
Apr 18 at 2:58
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
@quark67 That's an excellent suggestion, thanks!
– marmot
Apr 18 at 3:01
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
Looks very nice. Indeed I am interested in headers, not inline with text. Is it possible to have the ends line up symmetrically (like in the first picture of the question) instead of in a counter-clockwise fashion?
– Mass
7 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
@Mass I am not sure I understand your request but I added something which I thought may be what you want. If not, please try to explain it in more detail.
– marmot
4 hours ago
|
show 2 more comments
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f485387%2fold-style-caution-boxes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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