diff --git a/src/Quantikz.jl b/src/Quantikz.jl index cefa34e..e61b39a 100644 --- a/src/Quantikz.jl +++ b/src/Quantikz.jl @@ -364,7 +364,11 @@ function circuit2table_compressed(circuit, qubits) afilled_up_to = fill(1+PADDING,table.ancillaries) bfilled_up_to = fill(1+PADDING,table.bits) for op in circuit - qubits = extremarange(affectedqubits(op)) + if isempty(affectedbits(op)) && neededancillaries(op)==0 + qubits = extremarange(affectedqubits(op)) + else + qubits = minimum(affectedqubits(op)):iend + end bits = extremarange(affectedbits(op)) ancillaries = neededancillaries(op) steps = nsteps(op) diff --git a/test/runtests.jl b/test/runtests.jl index 74fd02e..3586a0c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -66,6 +66,10 @@ end @test circuit2string([NoiseAll(), Measurement(1,2)]) == "\\begin{quantikz}[transparent, row sep={0.8cm,between origins}]\n\\qw & \\gate[1,style={starburst,starburst points=7,inner xsep=-2pt,inner ysep=-2pt,scale=0.5}]{} & \\meterD{} & \\\\\n\\cw & \\cw & \\cw & \\cw\\\\\n\\cw & \\cw & \\cwbend{-2} & \\cw\n\\end{quantikz}" end +@testset "Clearance for vertical classical wires" begin +@test circuit2string([Measurement(2),Measurement(1,1)]) == circuit2string([Measurement(2),Measurement(1,1)], mode=:expanded) == "\\begin{quantikz}[transparent, row sep={0.8cm,between origins}]\n\\qw & \\qw & \\meterD{} & \\\\\n\\qw & \\meterD{} & & \\\\\n\\cw & \\cw & \\cwbend{-2} & \\cw\n\\end{quantikz}" +end + end function filetests()