[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#702497: marked as done (asymptote: Nested picture scaled unexpectedly)



Your message dated Thu, 15 May 2014 11:16:44 +0900
with message-id <20140515021644.GV31790@auth.logic.tuwien.ac.at>
and subject line Nested picture scaled - fixed
has caused the Debian Bug report #702497,
regarding asymptote: Nested picture scaled unexpectedly
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
702497: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702497
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: asymptote
Version: 2.15-2
Severity: normal

Dear Maintainer,
*** Please consider answering these questions, where appropriate ***

   * What led up to the situation?
I was trying to lay out nested pictures (the Asymptote type)  on another
picture.
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
The pictures are laid out, as can be seen from the resulting PDF.
   * What was the outcome of this action?
The pictures are laid out, but their spacing is scaled incorrectly.
   * What outcome did you expect instead?
By drawing a scaled unitsquare on the source picture, and again on the
destination picture, their sizes aren't the same - they should be.

I've created a project in SourceForge called pi-leaf that contains pi-leaf.asy.
Search for "BUG" to see the places where I inserted the test unit-squares.

I'll attach a copy for convenience.

This may well turn out to be a misunderstanding on my part, a documentation
problem or a documentation <-> implementation mismatch.



-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages asymptote depends on:
ii  dpkg                                 1.16.9
ii  freeglut3                            2.6.0-4
ii  ghostscript                          9.05~dfsg-6.3
ii  imagemagick                          8:6.7.7.10-5
ii  install-info                         4.13a.dfsg.1-10
ii  libc6                                2.17-0experimental2
ii  libfftw3-3                           3.3.2-3.1
ii  libgc1c2                             1:7.1-9.1
ii  libgcc1                              1:4.8-20130217-1
ii  libgl1-mesa-glx [libgl1]             8.0.5-3
ii  libglu1-mesa [libglu1]               8.0.5-3
ii  libgsl0ldbl                          1.15+dfsg.2-2
ii  libncurses5                          5.9-10
ii  libreadline6                         6.2+dfsg-0.1
ii  libsigsegv2                          2.9-4
ii  libstdc++6                           4.8-20130217-1
ii  libtinfo5                            5.9-10
ii  python                               2.7.3-4
ii  python-imaging-tk                    1.1.7-4
ii  python-tk                            2.7.3-1
ii  tex-common                           3.15
ii  texlive-binaries [texlive-base-bin]  2012.20120628-4
ii  texlive-latex-base                   2012.20120611-5
ii  texlive-pstricks                     2012.20120611-2
ii  zlib1g                               1:1.2.7.dfsg-13

Versions of packages asymptote recommends:
ii  asymptote-doc  2.15-2

Versions of packages asymptote suggests:
pn  gv    <none>
pn  xpdf  <none>

-- no debconf information
////////////////////////////////////////////////////////////////////////////////
// To generate the PDF, do
//
//   asy -f pdf pi-leaf.asy
//
// See my problem below by searching for "BUG".
////////////////////////////////////////////////////////////////////////////////

//defaultpen(AvantGarde(series="b") + fontsize(2.5));
///defaultpen(Bookman(series="b") + fontsize(2.5));
///defaultpen(Courier(series="b") + fontsize(2.5));
defaultpen(Helvetica(series="b") + fontsize(2.5));
//defaultpen(NewCenturySchoolBook(series="b") + fontsize(3));
//defaultpen(Palatino(series="b") + fontsize(3));
//defaultpen(TimesRoman(series="b") + fontsize(3));
//defaultpen(ZapfChancery(series="b") + fontsize(3));

import plain;
import graph;
import roundedpath;

unitsize(1mm);

// Define the bounds of the page.
draw(scale(210,297)*unitsquare, invisible);

path unitcircle=E..N..W..S..cycle;
path pad_circle_outer = scale(0.8)*unitcircle;
path pad_circle_inner = scale(0.9)*unitcircle;
path pad_circle_paths[] = pad_circle_outer^^pad_circle_inner;
void pcb_pad(picture f)
{
	path inner = pad_circle_inner;
	path outer = pad_circle_outer;
	filldraw(f, pad_circle_paths,evenodd,black + linewidth(0.3));
}
real Yoffs = 14.0;
void col_label(picture f, int pin, string text, pen p = black)
{
	pin -= 1; // 1-based to 0-based.
	bool left = (pin % 2 == 0);
	real x = 2.54*(left ? -0.5 : 0.5);
	real y = Yoffs - ((int)(pin / 2)) * 2.54;
	pair loc = (x, y);
	picture g;
	unitsize(g, 1mm, 1mm);
	pcb_pad(g);
	add(f, g, loc);
	loc += (2x, 0);
	text = "$" + text + "$";
	if(left)
		label(f, text, loc, W, p, filltype=NoFill);
	else
		label(f, text, loc, E, p, filltype=NoFill);
	//draw(f, shift(0, y) * scale(2.54,2.54) * shift(-0.5, -1) * unitsquare);
}

pen DarkOrange = rgb("EE330A");
pen DarkGreen = rgb("11AA11");
pen DarkBlue = rgb("1111AA");

real LeafStepX = 2.54 * 17.0;
real LeafStepY = 2.54 * 13.0;
//write(stdout, suffix=endl, "LeafStepX : ", LeafStepX);
//write(stdout, suffix=endl, "LeafStepY : ", LeafStepY);

picture v1_cols, v2_cols, page1, page2;
unitsize(v1_cols, 1mm, 1mm);
unitsize(v2_cols, 1mm, 1mm);
unitsize(page1, 1mm, 1mm);
unitsize(page2, 1mm, 1mm);

int Nrows = 2, Ncols = 9;

void draw_v1_leaf(picture f)
{
	draw(f, roundedpath(scale(31, 40) * shift(-0.5, -0.5) * unitsquare, 5));

	label(f, "v1", (0,Yoffs + 0.5), N, p=Palatino(series="b")+fontsize(3.5));

	col_label(f, 1, "$3.3V$", DarkOrange);
	col_label(f, 3, "$0 SDA$");
	col_label(f, 5, "$1 SCL$");
	col_label(f, 7, "$4$");
	col_label(f, 9, "$GND$", DarkBlue);
	col_label(f, 11, "$17$");
	col_label(f, 13, "$21$");
	col_label(f, 15, "$22$");
	col_label(f, 17, "$3.3V$", DarkOrange);
	col_label(f, 19, "$10 MOSI$");
	col_label(f, 21, "$9 MISO$");
	col_label(f, 23, "$11 SCKL$");
	col_label(f, 25, "$GND$", DarkBlue);

	col_label(f, 2, "$5V$", heavyred);
	col_label(f, 4, "$5V$", heavyred);
	col_label(f, 6, "$GND$", DarkBlue);
	col_label(f, 8, "$14 TXD$");
	col_label(f, 10, "$15 RXD$", DarkGreen);
	col_label(f, 12, "$18$");
	col_label(f, 14, "$GND$", DarkBlue);
	col_label(f, 16, "$23$");
	col_label(f, 18, "$24$");
	col_label(f, 20, "$GND$", DarkBlue);
	col_label(f, 22, "$25$");
	col_label(f, 24, "$8$");
	col_label(f, 26, "$7$");
}
void draw_v2_leaf(picture f)
{
	draw(f, roundedpath(shift(0, 5) * scale(31, 40) * shift(-0.5, -0.5) * unitsquare, 5));

	label(f, "v2", (0,Yoffs + 0.5), N, p=Palatino(series="b")+fontsize(3.5));

	col_label(f, 1, "$3.3v$", DarkOrange);
	col_label(f, 3, "$2 SDA$");
	col_label(f, 5, "$3 SCL$");
	col_label(f, 7, "$4$");
	col_label(f, 9, "$GND$", DarkBlue);
	col_label(f, 11, "$17$");
	col_label(f, 13, "$27$");
	col_label(f, 15, "$22$");
	col_label(f, 17, "$3.3v$", DarkOrange);
	col_label(f, 19, "$10 MOSI$");
	col_label(f, 21, "$9 MISO$");
	col_label(f, 23, "$11 SCKL$");
	col_label(f, 25, "$GND$", DarkBlue);

	col_label(f, 2, "$5v$", heavyred);
	col_label(f, 4, "$5v$", heavyred);
	col_label(f, 6, "$GND$", DarkBlue);
	col_label(f, 8, "$14 TXD$", DarkGreen);
	col_label(f, 10, "$15 RXD$", DarkGreen);
	col_label(f, 12, "$18$");
	col_label(f, 14, "$GND$", DarkBlue);
	col_label(f, 16, "$23$");
	col_label(f, 18, "$24$");
	col_label(f, 20, "$GND$", DarkBlue);
	col_label(f, 22, "$25$");
	col_label(f, 24, "$8$");
	col_label(f, 26, "$7$");
}
path BoundingRect = scale(LeafStepX, LeafStepY) * shift(-0.5, -0.5) * unitsquare;
void draw_v1_cols()
{
	picture v1_leaf, f;
	unitsize(v1_leaf, 1mm, 1mm);
	unitsize(f, 1mm, 1mm);

	draw_v1_leaf(f);
	size(v1_leaf, LeafStepX, LeafStepY);
	add(v1_leaf, f);
	// BUG: the following rectangle neatly encloses the leaf (for debugging)
	//draw(v1_leaf, BoundingRect, DarkBlue);
	real x1, y1;
	for(x1 = 0; x1 < 2; ++x1)
		for(y1 = 0; y1 < 9; ++y1) {
			pair loc = (LeafStepX/2.0 + x1*LeafStepX, LeafStepY/2.0 + y1*LeafStepY);
			add(v1_cols, v1_leaf, loc);
			// BUG: but this should be the same size, but it's a lot bigger!
			//draw(v1_cols, shift(loc) * BoundingRect, DarkBlue);
		}
	draw(v1_cols, scale(2*LeafStepX, 9*LeafStepY) * unitsquare, red);
}
void draw_v2_cols()
{
	picture v2_leaf, f;
	unitsize(v2_leaf, 1mm, 1mm);
	unitsize(f, 1mm, 1mm);

	draw_v2_leaf(f);
	add(v2_leaf, rotate(90)*f);
	draw(v2_leaf, scale(LeafStepX, LeafStepY) * shift(-0.5, -0.5) * unitsquare, DarkBlue);

	real x, y;
	for(x = 0; x < 2; ++x)
		for(y = 0; y < 9; ++y)
			add(v2_cols, v2_leaf, (x*LeafStepX, y*LeafStepY));
	draw(v2_cols, scale(2*LeafStepX, 9*LeafStepY) * unitsquare, green);
}

void draw_page1()
{
	add(page1, v1_cols);
	//add(page1, shift(LeafStepX*2, 0) * v2_cols);
}

void draw_page2()
{
	add(page2, rotate(180) * v2_cols);
	add(page2, shift(LeafStepX*2, 0) * rotate(180) * v1_cols);
}
draw_v1_cols();
draw_v2_cols();
draw_page1();
draw_page2();

add(shift(10, 10) * page1);
//add(shift(10 + LeafStepX, 4.5*LeafStepY + 10) * page2);
draw(shift(10, 10) * scale(190, 277) * unitsquare);

--- End Message ---
--- Begin Message ---
Version: 2.28-1

Hi Philip,

I have run your example through asy 2.28 with the lines after the BUG
note activated, and I don't see any strange behaviour.

If you disagree, please provide *detailed* explanation and reopen the bug.

Thanks

Norbert

------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0  ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------

--- End Message ---

Reply to: